Page 1 sur 4

Petit probleme avec MySQL

Posté : 10 mars 2005, 14:48
par netila
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

Posté : 10 mars 2005, 15:11
par flitox
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']')";

merci !

Posté : 10 mars 2005, 16:33
par netila
merci beaucoup flitox !!!!!
mais qu'est e quele register...ON ?

merci encore !

Posté : 10 mars 2005, 16:47
par flitox
http://www.phpfrance.com/forums/voir_sujet-48.php

Explication de pourquoi register_globals est à OFF ;)

merci !!

Posté : 10 mars 2005, 18:44
par netila
MERCI BEAUCOUP !!!!! ;-) :D :D

Mince...

Posté : 10 mars 2005, 18:54
par netila
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

Posté : 10 mars 2005, 19:35
par flitox

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? ;)

Snif marche toujour pas

Posté : 10 mars 2005, 19:41
par netila
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

Snif...

Posté : 10 mars 2005, 19:53
par netila
snif je suis desespéré !! :evil: :evil: :evil:
je n'ai plus qu'a ma suisider...

lol

Posté : 10 mars 2005, 20:08
par flitox
Mets un "S" à VALUES

Snnniiififf

Posté : 10 mars 2005, 20:22
par netila
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...

SnifeU

Posté : 10 mars 2005, 20:33
par netila
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

Posté : 10 mars 2005, 21:13
par flitox
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.

re-re snif

Posté : 10 mars 2005, 21:40
par netila
dnif.. tjr le mem resultat, la meme erreur...

Posté : 10 mars 2005, 22:30
par flitox
Montre moi ton formulaire et le contenu de connexion.inc.php