Formulaire php et mysql

Fermé
siloul - 9 juin 2011 à 17:38
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 10 juin 2011 à 09:06
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;
}
?>


A voir également:

3 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
9 juin 2011 à 17:47
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.
0
merci, j'ai corrigé ces problèmes mais il insère toujours rien
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
10 juin 2011 à 09:06
Quels sont les messages d'erreur
-> php ?
-> SQL ?
0
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 <?
0
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
10 juin 2011 à 08:41
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);
}
0