Pb de script

Fermé
quarty76 Messages postés 2 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 22 décembre 2006 - 21 déc. 2006 à 22:43
quarty76 Messages postés 2 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 22 décembre 2006 - 22 déc. 2006 à 18:19
bonjours

j'ai commencé a vouloir sortir des tuto pour faire mes propres scripts hors pour l'instans j'ai un probleme:

config de ma base de donnée: j'ai une table articles contennant les champs prix d'achat,nom,etc.....

voila le pb:

j'ai une erreur à la ligne 37 que je ne comprend pas et le srcipt n'enregistre rien dans la base

voila le srcipt
<?php

mysql_connect("localhost","root","") or die ("erreur de mot de passe");
mysql_select_db("magasin") or die ("impossible de sélectionner la base de donnée");

?>

<html>
<head>
<title>magasin</title>
</head>
<body>

<form method="post" action="connection.php">
<p>
    nom <br />
  
<input type="text" name="nom" /><p>couleur</p> <input type="text" name="couleur" /><p>prix d'achat</p><input type="text" name="achat" /><p>prix de vente</p><input type="text" name="vente" />
<p>fournisseur</p><input type="texte" name="fournisseur";
<p>nombres d'articles</p><input type="text" name="nombre" /><input type="submit" value="Valider" />
</p>

</form>
<?php
$name = ($_POST['nom']);
$couleur = ($_POST['couleur']);
$achat = ($_POST['achat']);
$vente = ($_POST['vente']);
$fournisseur = ($_POST['fournisseur']);
$nombre = ($_POST['nombre']);
mysql_query("INSERT INTO articles VALUES('$name', '$couleur, '$achat', '$vente', '$fournisseur, '$nombre')");

$reponse = mysql_query("SELECT * FROM articles");
while ($donnees = mysql_fetch_array($reponse) )
{

<?php echo $donnees['nom']; ?><br />
<?php echo $donnees['couleur']; ?><br />
<?php echo $donnees['prix d'achat']; ?> <br />
<?php echo $donnees['prix de vente']; ?> <br />
<?php echo $donnees['fournisseur']; ?><br />



?>

</body>
</html>


merci de ne pas se moquer, je débute


sinon j'espere que vous pourrez m'aidez tres bientot

et merci par avance
A voir également:

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
22 déc. 2006 à 02:40
merci de ne pas se moquer, je débute

Qu'y a t'il de honteux à apprendre un langage informatique? Tu apprends par toi même avec des tutos, ça me semble tout sauf honteux!

Juste un truc, la prochaine fois, dis nous où est la ligne 37 et puis affiche nous l'erreur par la même occasion ;-)

Tu as du remarquer que pour "annoncer " du code php, il faut l'entourer par deux balises spécifiques, une fermante et une ouvrante, ex:
<? du code php ?>
//ou encore
<?php du code php ?>


Ca implique que du code php ne doit pas se trouver à l'extérieur de ces balises.
Et ça implique aussi (voilà l'origine de ton erreur) que ces balises là ne doivent pas se trouver à l'intérieur d'autres mêmes balises.

Il ne faut pas faire:
<?php
       <?php ?>
?>


Et c'est ce que tu fait après ton while, tu rouvres des balises php à chaque affichage. Pas besoin.
Il faut par exemple remplacer:
<?php echo $donnees['nom']; ?><br />

Par:
echo $donnees['nom'] . '<br />';


Voilà, pour l'erreur.
Pour la requête insert, si elle ne marche pas, ya pas de secret, il faut l'afficher avec un echo puis reprendre cet affichage pour le tester sur un logiciel client de ta base de données (ex: phpMyAdmin).
Là tu auras une erreur plus parlante qu'une insertion qui ne fonctionne pas.

Et évite d'utiliser "texte" comme type de champs de formulaire (cf le champs fournisseur), il faut mettre "text".

Autre chose, mais là c'est un détail, les parenthèses autour de tes $_POST sont inutiles.

$_POST['nom'] c'est là même chose que ($_POST['nom'])

Voilà...
0
quarty76 Messages postés 2 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 22 décembre 2006
22 déc. 2006 à 18:19
merci de cette réponse tres détaillé, je vais donc corrigé mes erreurs et vous tennir au courants
0