Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: ssx le le 02-12-2003 a 00:04:07

Titre: formulaire et Mysql
Posté par: ssx le le 02-12-2003 a 00:04:07

:) Bonjour à tous :D
Ben voilà j'ai un petit probleme avec un fomulaire qui renseigne une base. Je travaille en local pour le moment avec easyPhp 1.7.
L'enregistrement sur la base s'effectue bien mais j'ai pour chaque enregistrement un message d'erreur. Je vois pas où est le souci.

Ma partie en PHP:


<?PHP

$db = mysql_connect('localhost', 'root', '');
mysql_select_db("data",$db);

$result = mysql_query ($requete,$db);

$sql = "INSERT INTO webmaster (pseudo,email,url,description) VALUES ('" . $_POST[pseudo] . "','" . $_POST[email] . "', '" . $_POST[url] . "', '" . $_POST[description] . "')";

mysql_query($sql)
or die('Erreur SQL !'.$sql.' '.mysql_error());

echo 'merci beaucoup, vos infos ont été enregistrées.';
mysql_close();

?>

et voici les messages que je reçois lors de la validation:

Notice: Undefined variable: requete in c:\program files\easyphp2\www\site1\valid.php on line 21

Notice: Use of undefined constant pseudo - assumed 'pseudo' in c:\program files\easyphp2\www\site1\valid.php on line 23

Notice: Use of undefined constant email - assumed 'email' in c:\program files\easyphp2\www\site1\valid.php on line 23

Notice: Use of undefined constant url - assumed 'url' in c:\program files\easyphp2\www\site1\valid.php on line 23

Notice: Use of undefined constant description - assumed 'description' in c:\program files\easyphp2\www\site1\valid.php on line 23
merci beaucoup, vos infos ont été enregistrées.


Ceci dit, il possible de faire une redirection instantanée de page comme ça l'utilisateur ne voit les messages d'erreurs, mais bon je suis curieux et ça me tracasse depuis qlqs heures dejà.

Et bien un grand merci à toutes les personnes qui peuvent m'aider, et aux autres aussi d'ailleurs.

Titre: Re:formulaire et Mysql
Posté par: Bloubli le le 02-12-2003 a 07:23:36

A première vue, je dirais que c'est la manière dont tu déclares tes variables "pseudo", "email", "url" et "description".

Etant donné que tu as la dernière version de EaysyPHP (la 1.7), la version de PHP incluse doit être 4.3.x

Ensuite, il est possible également que cela provienne de REGISTER_GLOBALS. Regarde si il est défini sur ON ou sur OFF dans ton fichier php.ini

Titre: Re:formulaire et Mysql
Posté par: ssx le le 02-12-2003 a 22:25:56

Merci à toi Bloubli !!! ;)


REGISTER_GLOBALS ??

A quoi ça correspond ? Donc je viens de verifier il est defini sur OFF.

Concernant mes variables, elles font partie d'un formulaire (une page à part), donc je n'ai pu les declarer que de la maniere suivante:

<input type="text" name="pseudo" size="36">
<input type="text" name="email" size="36">
<input type="text" name="url" size="36">
<input type="text" name="description" size="36">

Et dans la partie PHP que j'ai déjà coller dans mon premier message, je n'ai pas besoin de les déclarer.

::)Le mystère demeure tout entier !!! :o

Titre: Re:formulaire et Mysql
Posté par: ric le le 03-12-2003 a 08:46:36

$_POST[pseudo]
Il me semble que la syntaxe est
$_POST['pseudo']
avec les apostrophes

Titre: Re:formulaire et Mysql
Posté par: ric le le 03-12-2003 a 08:57:53

De plus cette ligne doit provoquer le message concernant la ligne 21
$result = mysql_query ($requete,$db);
La variable $requete n'est pas définie.

Titre: Re:formulaire et Mysql
Posté par: ssx le le 03-12-2003 a 10:40:37

;D Bien vu RIC ;D

Je n'ai plus le probleme pour les vriables, et dire que ce n'etait que ça!
Concernant $requete , je voulais ecrire $sql mais j'ai pensé au mot requete, et oui j'ai honte !!! :-[ :-[ :-[

Mais j'ai encore l'erreur à la ligne 21.

Voici le nouveau code en PHP:

<?PHP

$db = mysql_connect('localhost', 'root', '');
mysql_select_db("data",$db);

$result = mysql_query ($sql,$db);

$sql = "INSERT INTO webmaster (pseudo,email,url,description) VALUES ('" . $_POST['pseudo'] . "','" . $_POST['email'] . "', '" . $_POST['url'] . "', '" . $_POST['description'] . "')";

mysql_query($sql)
or die('Erreur SQL !'.$sql.' '.mysql_error());

echo 'merci beaucoup, vos infos ont été enregistrées.';
mysql_close();

?>


En tout cas le plus genant est passé merci à tous

Titre: Re:formulaire et Mysql
Posté par: ric le le 03-12-2003 a 13:44:10

Ah oui, je ne te l'ai pas précisé tout à l'heure, mais la ligne 21 ne sert à rien puisque la requete n'est pas encore définie.

Titre: Re:formulaire et Mysql
Posté par: ssx le le 05-12-2003 a 09:18:53

:D
Ah oui ! C'est vrai je n'en ai meme pas besoin. Et bien merci à tous pour votre aide si precieuse


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.