Formulaire php et mysql
Bonjour,
J'ai un formulaire de données d'un utilisateur que je veux les enregistrer dans une base, mais lorsque je clique sur envoyer il ne se passe rien
voilà mon script aidez moi svp à trouver l'erreur
<?
require('connect.php');
$np = $_POST['np'];
$login = $_POST['login'];
$passwd = $_POST['passwd'];
$grade = $_POST['grade'];
if (isset($_POST['np']) && isset($_POST['login']) && isset($_POST['passwd']) && isset($_POST['grade']))
{
$sql = 'INSERT INTO utilisateur VALUES ($login, $passwd, $np, $grade)';
$res = mysql_query($sql;
}
?>
J'ai un formulaire de données d'un utilisateur que je veux les enregistrer dans une base, mais lorsque je clique sur envoyer il ne se passe rien
voilà mon script aidez moi svp à trouver l'erreur
<?
require('connect.php');
$np = $_POST['np'];
$login = $_POST['login'];
$passwd = $_POST['passwd'];
$grade = $_POST['grade'];
if (isset($_POST['np']) && isset($_POST['login']) && isset($_POST['passwd']) && isset($_POST['grade']))
{
$sql = 'INSERT INTO utilisateur VALUES ($login, $passwd, $np, $grade)';
$res = mysql_query($sql;
}
?>
3 réponses
-
Bonjour,
$sql = 'INSERT INTO utilisateur VALUES ($login, $passwd, $np, $grade)';
$res = mysql_query($sql;
Trois problèmes.
1 - Quand tu utilises des ' pour tes chaînes de caractères, les variables ne sont pas remplacées par leur valeur.
2 - J'imagine que tes colonnes login et password sont des caractères et pas des chiffres ; dans ce cas, il faut penser à mettre les quote pour ta requête : '
3 - il manque une parenthèse dans ton mysql_query.
Tout ceci étant dit, je remplacerais donc les deux lignes par :
$sql = "INSERT INTO utilisateur VALUES ('$login', '$passwd', $np, $grade)";
$res = mysql_query($sql);
Il faut mettre les ' autour de $np et $grade aussi si la base de données attend des chaines de caractères.
Xavier
PS : de façon générale, quand tu as un problème avec tes requêtes SQL depuis PHP, rajoute la ligne suivante juste après le mysql_query :
echo mysql_error();
Ça t'affichera les erreurs que renvoie la base de données, s'il y en a. -
Bonjour,
1)
$np = $_POST['np'];
$login = $_POST['login'];
$passwd = $_POST['passwd'];
$grade = $_POST['grade'];
Ce code tu peux le mettre après ton if(...) mais ça répond pas au problème.
2)
Est tu sur que dans le formulaire le <form method="POST" action=" c'est bien le bon chemin ici ? " >
3)utilise les balise <?php et non <? -
Bjr,
Je fais çà sur base distante chez Free :
//// On récupère l'adresse IP du visiteur ////
// $ip = $_SERVER['REMOTE_ADDR'];
//// on ajoute une ligne////
// echo "Adresse : ". "$adress". " Date : ". "$date". " Pgm : ". "$pgm". "<br>";
$insert = 'INSERT INTO compteur (ip,date,pgm,referer) VALUES("'.$adress.'", "'.$date.'", "'.$pgm.'", "'.$referer.'")';
if ($referer != ""){
$query = mysql_query($insert);
}