Petit probleme avec MySQL

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 14:48

bonjour !
J'ai commencé le PHP et MySQL il y a de cela a peu pres 4 jour. Je suis donc vraiment un debutant !!
J'ai acheter pour cela un super livre qui apprend tres bien Mais, il y a un endroit ou je bloque...
En fait j'aimerais créer un formulaire qui sauvegarde les informations donnés par l'utilisateur dans la DB.

j'ai donc créer un fichier index.PHP qui contient ceci :
<?
include "connexion.inc.php";
?>
<html>
<head>
<title>Inscription</title>
</head>
<body>
Completez ces quelques renseignements <BR>
<form action="inscription_p2.php" method="post" name="page_1">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td>Votre prenom :</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr>
<td>Votre adresse e-mail :</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Votre code postal :</td>
<td><input type="text" name="code_postal></td>
</tr>
<tr>
<td>Votre ville :</td>
<td><input type="text" name="ville"></td>
</tr>
<tr>
<td>Votre pays :</td>
<td><input type="text" name="pays"></td>
</tr>
<select name="pays">
<option value="code" selected>nom</option>
<option value="code">nom</option>
</select>
<?
$sql="select * from pays";
$resultat=@mysql_db_query('clubdb',$sql,$id_link);
echo '<select name="pays">';
echo '<option value="" selected></option>';
while($rang=mysql_fetch_array($resultat)){
$code=$rang['code'];
$nom=$rang['nom'];
echo "<option value=\"$code\">$nom</option>";
}
echo '</select>';
?>
<tr>
<td></td>
<td><input type="submit" name="Je m'inscris"></td>
</tr>
</table>
</form>
</body>
</html>
Un fichier "connexion.inc.php" (que j'inclus quand j'en ai besoin)
et qui contient
<?
$dbname = 'clubdb';
$hostname = 'localhost';
$username = 'root';
$password = '';
$id_link = mysql_connect($hostname, $username, $password);
?>
Et enfin, et c'est la que ce déclare le probleme, la page
numero 2 "inscription_p2.php" du questionaire qui contient
<HTML>
<HEAD>
<title>inscription 2/2</title>
</HEAD>
<BODY>
<?
include "connexion.inc.php";
$sql="INSERT TO membres (prenom, code_postal, ville, pays, email) VALUE('$prenom', '$code_postal', '$ville', '$pays', '$email')";
@mysql_db_query('clubdb',$sql,$id_link);
?>
<!-- ...etc. -->
</BODY>
</HTML>
Oh, pardon, j'allais oublier, il y a bien evidemment la
base de donnée que j'ai nommée "clubdb" qui se trouve
dans le meme repertoire que toute ces feuilles et qui contient une table "pays" et une table "membres" (<= ici celle qui pose probleme)
la table "membres" qui contient :

Code : Tout sélectionner

clef int(11) NOT NULL auto_increment, nom_usage varchar(25) NOT NULL default '', mot_passe varchar(20) NOT NULL default '', prenom varchar(30) NOT NULL default '', code_postal varchar(12) NOT NULL defalut '', ville varchar(35) NOT NULL default '', pays varchar(35) NOT NULL default '', email varchar(50) NOT NULL default '', PRIMARY KEY (clef), INDEX (clef), UNIQUE KEY clef (clef)
La page 1 du formulaire marche à merveille , mais des que je passe a la page 2 du formulaire, je recois une erreur :

Notice: Undefined variable: prenom in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 13
Notice: Undefined variable: code_postal in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 13
Notice: Undefined variable: ville in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 13
Notice: Undefined variable: pays in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 13
Notice: Undefined variable: email in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 13

Pourtant je pense avoir suivis à la lettre ce qui etait marqué dans le livre...
voila !
merci d'avance à ceux qui m'aiderons ! :D :D

Mammouth du PHP | 859 Messages

10 mars 2005, 15:11

Encore une victime du register_globals ON :)

Code : Tout sélectionner

$sql="INSERT TO membres (prenom, code_postal, ville, pays, email) VALUE('$_POST['prenom']', '$_POST['$code_postal']', '$_POST['ville']', '$_POST['pays']', '$_POST['email']')";

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 16:33

merci beaucoup flitox !!!!!
mais qu'est e quele register...ON ?

merci encore !

Mammouth du PHP | 859 Messages

10 mars 2005, 16:47

http://www.phpfrance.com/forums/voir_sujet-48.php

Explication de pourquoi register_globals est à OFF ;)

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 18:44

MERCI BEAUCOUP !!!!! ;-) :D :D

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 18:54

Ca ne marche toujours pas...
Voila maintenant le code source de la page 2 du formulaire :
<HTML>
<HEAD>
<title>inscription 2/2</title>
</HEAD>
<BODY>
<?
include "connexion.inc.php";
$sql="INSERT TO membres (prenom, code_postal, ville, pays, email) VALUE('$_POST['prenom']', '$_POST['$code_postal']', '$_POST['ville']', '$_POST['pays']', '$_POST['email']')";
mysql_db_query('clubdb',$sql,$id_link);
?>
</BODY>
</HTML>
et voila le message d'erreur :

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in youplaclajoie\inscription_p2.php on line 8

Mammouth du PHP | 859 Messages

10 mars 2005, 19:35

Code : Tout sélectionner

$sql="INSERT INTO membres (prenom, code_postal, ville, pays, email) VALUE('$_POST['prenom']', '$_POST['$code_postal']', '$_POST['ville']', '$_POST['pays']', '$_POST['email']')";
INSERT INTO plutôt non? ;)

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 19:41

Merci beaucoup flitox mai ca ne marche toujour pas...
Re voici le code maintenant
<HTML>
<HEAD>
<title>inscription 2/2</title>
</HEAD>
<BODY>
<?
include "connexion.inc.php";
$sql="INSERT INTO membres (prenom, code_postal, ville, pays, email) VALUE('$_POST['prenom']', '$_POST['$code_postal']', '$_POST['ville']', '$_POST['pays']', '$_POST['email']')";
mysql_db_query('clubdb',$sql,$id_link);
?>
</BODY>
</HTML>
et maintenant toujour la meme erreur :

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 8

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 19:53

snif je suis desespéré !! :evil: :evil: :evil:
je n'ai plus qu'a ma suisider...

lol

Mammouth du PHP | 859 Messages

10 mars 2005, 20:08

Mets un "S" à VALUES

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 20:22

j'ai mis un S a value et :

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 11


je ne sais vraiment pas d'ou vien le pb...

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 20:33

j'ai pensé avoir trouver ! (yaV pas les '$' devan les variables dans 'values(...)'
donc ca donnait ceci :

Code : Tout sélectionner

<? include "connexion.inc.php"; ?> <HTML> <HEAD> <title>inscription 2/2</title> </HEAD> <BODY> <? $nameu='clubdb.sql'; $sql="INSERT INTO membres(prenom, email, code_postal, ville) VALUES('$_POST['$prenom']', '$_POST['$email']', '$_POST['$code_postal']', '$_POST['$ville']')"; mysql_db_query($nameu,$sql,$id_link); ?> </BODY> </HTML>
----------------------------------------------
mais encore ce punaise de message d'erreur :

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\ilsa world\inscription_p2.php on line 11

Mammouth du PHP | 859 Messages

10 mars 2005, 21:13

Je ne suis pas sûr mais est-ce que ça ne serait pas le mélange des simple quotes :

Code : Tout sélectionner

$sql="INSERT INTO membres(prenom, email, code_postal, ville) VALUES($_POST['prenom'], $_POST['email'], $_POST['code_postal'], $_POST['ville'])";
Pour les $ dans les crochets ça ne marche pas, c'est normal ce n'est pas la syntaxe.

netila
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 21:40

dnif.. tjr le mem resultat, la meme erreur...

Mammouth du PHP | 859 Messages

10 mars 2005, 22:30

Montre moi ton formulaire et le contenu de connexion.inc.php