[php] Pb pour ajouter une ligne à la base
Fermé
micom59
Messages postés
71
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
11 août 2009
-
29 juin 2007 à 13:10
jerbien13 - 5 mai 2010 à 16:55
jerbien13 - 5 mai 2010 à 16:55
A voir également:
- [php] Pb pour ajouter une ligne à la base
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Vente en ligne particulier - Guide
- Apparaitre hors ligne instagram - Guide
- Ajouter une signature sur word - Guide
7 réponses
Tes variables n'existent pas car register globals à off, très bonne chose.
Donc au lieu de $article, utilise $_POST['article'] , pareil pour les autres.
N'oublie pas de contrôler et protéger tes requêtes, car en l'état, ton code permet facilement une injection sql.
Donc au lieu de $article, utilise $_POST['article'] , pareil pour les autres.
N'oublie pas de contrôler et protéger tes requêtes, car en l'état, ton code permet facilement une injection sql.
micom59
Messages postés
71
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
11 août 2009
1
29 juin 2007 à 14:02
29 juin 2007 à 14:02
ok, j'ai donc ca maintenant dans ajouter.php
<html>
<body>
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
if
mysql_query('INSERT INTO article VALUES("$_POST['article']","$_POST['quantite']","$_POST['zone']","$_POST['lot']") ');
echo "Enregistrement effectué";
?>
<a href="index.html">Retour</a><p>
</body>
</html>
et maintenant il me dit Parse error: parse error, expecting `'('' in c:\weblocal\sites\site1\ajouter.php on line 13
il doit pas comprendre entre les ' " mais je sais pas lesquels mettre juste avant l'insert, devant le $post et devant l'article.
tu remplacerais par quoi?
Mes variables sont numériques, je note qu'il faudra que ca passe par une vérification.
<html>
<body>
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
if
mysql_query('INSERT INTO article VALUES("$_POST['article']","$_POST['quantite']","$_POST['zone']","$_POST['lot']") ');
echo "Enregistrement effectué";
?>
<a href="index.html">Retour</a><p>
</body>
</html>
et maintenant il me dit Parse error: parse error, expecting `'('' in c:\weblocal\sites\site1\ajouter.php on line 13
il doit pas comprendre entre les ' " mais je sais pas lesquels mettre juste avant l'insert, devant le $post et devant l'article.
tu remplacerais par quoi?
Mes variables sont numériques, je note qu'il faudra que ca passe par une vérification.
micom59
Messages postés
71
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
11 août 2009
1
29 juin 2007 à 13:43
29 juin 2007 à 13:43
ok! merci, mais c'est ou qu'il faut que je remplace $article par $_POST['article']?
et tu entends quoi par protéger tes requêtes?
Merci beaucoup d'avoir répondu.
et tu entends quoi par protéger tes requêtes?
Merci beaucoup d'avoir répondu.
Les remplacer dans ton mysql_query()
Protéger ta requête signifie que tu dois contrôler les variables provenant de l'utilisateur.
Et vérifier ce que tu attends comme type de valeur.
$_POST['article'], est censé être quoi ? une chaine ? un nombre ? une valeur fournie parmi une liste ? autre ?
Dans tout les cas, il faut vérifier.
Et dans le cas d'une chaine, il faut l'échapper avec la fonction mysql_real_escape_string() puisque tu utilises mysql.
Protéger ta requête signifie que tu dois contrôler les variables provenant de l'utilisateur.
Et vérifier ce que tu attends comme type de valeur.
$_POST['article'], est censé être quoi ? une chaine ? un nombre ? une valeur fournie parmi une liste ? autre ?
Dans tout les cas, il faut vérifier.
Et dans le cas d'une chaine, il faut l'échapper avec la fonction mysql_real_escape_string() puisque tu utilises mysql.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Moi je te propose ceci avant de les inserer dans ta bd
$article=$_POST['article'];
........
pour tous tes champs
mysql_query('insert into article values("$article",.................);
Pour tous tes champs
$article=$_POST['article'];
........
pour tous tes champs
mysql_query('insert into article values("$article",.................);
Pour tous tes champs
micom59
Messages postés
71
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
11 août 2009
1
29 juin 2007 à 14:13
29 juin 2007 à 14:13
en fait ca marche, ca marchait pas parce qu'il y avait un if tout pourri qui trainait par la!
merci beaucoup!
a tout a l'heure pour le prochain truc que j'arriverais pas!!!
merci beaucoup!
a tout a l'heure pour le prochain truc que j'arriverais pas!!!