Page 1 sur 2

Parse error...

Publié : 07 mars 2007, 02:24
par scatman44
Bonjour a tous.
Voila depuis peu j' essaye de créer un site de jeu.
Le probleme c' est que j' ai besoin d' un formulaire avec verification de 4 champs et enregistrement dans la base de donnée. J'ai donc trouvé un script sur le net que j' ai arrangé a ma façon mais cela ne marche pas.Au chargement de la page j' ai le message: Parse error: parse error in /data/members/free/multimania/fr/s/c/a/scatman44/htdocs/analyse.php on line 8. Je dois donc avoir un problème de syntaxe mais je ne vois pas lequel? Je vous donne mon script correspondant
Code PHP de "analyse.php"

<?php
// On commence par récupérer les champs
if(isset($_POST['Identifiant'])) $Identifiant=$_POST['Identifiant'];
else $Identifiant="";

if(isset($_POST['Mot de passe'])) $Mot de passe=$_POST['Mot de passe'];
else $Mot de passe="";

if(isset($_POST['Nom du sumo'])) $Nom du sumo=$_POST['Nom du sumo'];
else $Nom du sumo="";

if(isset($_POST['Adresse e mail'])) $Adresse e mail=$_POST['Adresse e mail'];
else $Adresse e mail="";


// On vérifie si les champs sont vides
if(empty($Identifiant) OR empty($Mot de passe) OR empty($Nom du sumo) OR empty($Adresse e mail)
{
echo '<font color="red">Attention,vous avez un ou des champ(s)vide(s)
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('phpmyadmin.multimania.lycos.fr', 'scatman44', 'aaa') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('scatman44_db',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(Identifiant, Mot de passe,Nom du sumo ,Adresse e mail) VALUES('','$Identifiant','$Mot de passe','$Nom du sumo','$Adresse e mail')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
}
?>
et l' adresse de mon site:http://membres.lycos.fr/scatman44/index.html
Merci d' avance

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Publié : 07 mars 2007, 03:47
par scatman44
Bon j' ai progressé un peu en supprimant mes espaces entre mes valeurs, mais bon maintenant j' ai une erreur ligne 20
Parse error: parse error in /data/members/free/multimania/fr/s/c/a/scatman44/htdocs/analyse.php on line 20
Dur dur les debuts en php, j' ai toujours besoin de votre aide les gars.

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Publié : 07 mars 2007, 03:50
par Benoit
Je dirais que c'est parce que tu as des espaces dans les noms de tes variables. Remplace-les par des soulignés (_).

Publié : 07 mars 2007, 09:01
par calimo
Ça correspond à ça :

Code : Tout sélectionner

// On vérifie si les champs sont vides
if(empty($Identifiant) OR empty($Mot de passe) OR empty($Nom du sumo) OR empty($Adresse e mail)
{
echo '<font color="red">Attention,vous avez un ou des champ(s)vide(s)
} 
Il manque le guillemet fermant du echo.
Un conseil, lorsque tu ouvres un guillemet, ferme le directement, puis place-toi entre les guillemets pour écrire le contenu.

Sinon, évite les <font> et remplace-les par des CSS :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1

Publié : 07 mars 2007, 09:41
par SB
calimo a écrit :Il manque le guillemet fermant du echo.
Ainsi que le point-virgule.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2

Publié : 07 mars 2007, 11:42
par scatman44
Merci les gars de m' avoir répondu aussi vite.
J' ai remplacé mes espaces par des soulignés,j' ai fermé mes guillemets, mis un point virgule
echo '<font color="red">Attention,vous avez un ou des champ(s)vide(s)';
mais rien a changé, j'ai toujours la meme erreur.
J' ai aussi supprimé les {
} entre echo et le point virgule, et la j' ai progressé un peu
je passe erreur ligne 20 a erreur ligne 21... mais j' ai toujours pas mon objectif de formulaire...

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Publié : 07 mars 2007, 13:49
par calimo
SB a écrit :Ainsi que le point-virgule.
On peut s'en passer pour la dernière instruction d'une accolade il me semble… ou alors c'est seulement possible en perl ?

Vérifie les parenthèses de ton instruction if() (pareil que les guillemets, ferme-les directement quand tu les ouvres :wink: )

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1

Publié : 08 mars 2007, 23:32
par scatman44
Bon j'ai du progres, j' ai plus d' erreur de syntaxe grace a vos conseils. Par contre j'ai toujours la meme reponse que mes champs soient vides ou pas:
Code PHP de "analyse.php" Attention,vous avez un ou des champ(s)vide(s).
est ce que deja ma requete sql est bonne?
ou alors php.admin n' est pas le bon host?Je ne sais plus du tout...et toujours pas d' enregistrement dans ma base de donnees.Alors que faire?

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Publié : 09 mars 2007, 04:19
par scatman44
Bon j' ai reussi a renvoyer sur une page quand le formulaire est vide, mais la ou ça se gate c' est que je n' arrive toujours pas a faire d' enregistrement dans ma base de donnees.J' ai un nouveau messsage d'erreur:
Erreur de selection Access denied for user: 'scatman44_fr@%.lyceu.net' to database 'Tablesumo'
j' ai du inverser les login password localhost...je ne sais pas.Je pense que je ne suis pas loin du but ,mais aidez moi les gars svp car j' atteinds mes limites.Je vous renvoie mon nouveau script d' analyse.php
<?php
$identifiant = $_POST['identifiant'];
$motdepasse = $_POST['motdepasse'];
$nomdusumo = $_POST['nomdusumo'];
$adresseemail = $_POST['adresseemail'];

if(empty($identifiant) OR empty($motdepasse) OR empty($nomdusumo) OR empty($adresseemail))
{
echo'un ou des champ(s)sontvide(s)';
}
else
{
// connexion à la base
$db = mysql_connect('scatman44_db', 'scatman44', 'aaa') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('Tablesumo',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO Tablesumo(identifiant, motdepasse, nomdusumo,adresseemail) VALUES('','$identifiant','$motdepasse','$nomdusumo','$adresseemail')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
}
?>
Merci d' avance

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Publié : 09 mars 2007, 09:01
par calimo
Une des choses que tu peux faire c'est déjà de séparer plus clairement quel(s) champ(s) est(sont) vide(s). Tu peux également utiliser la fonction print_r pour voir le contenu de $_POST en entier, savoir si tout ce dont tu as besoin y est correctement entré.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1

Publié : 09 mars 2007, 18:26
par scatman44
Calimo j' ai fait comme tu m' as dit, j' ai mis ma page plus au clair, et j' ai toute les informations que je veux sur mon formulaire, il me renvoie toute les infos. J' attend la suite des instructions :wink:

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Publié : 10 mars 2007, 03:47
par scatman44
Je passe vous dire un petit bonjour, c' est bon j' ai trouvé la solution a mon probleme en me creusant un peu plus la tete.Je vous donne le script pour ceux que ça interesse
<?php
$identifiant = $_POST['identifiant'];
$motdepasse = $_POST['motdepasse'];
$nomdusumo = $_POST['nomdusumo'];
$adresseemail = $_POST['adresseemail'];

if(empty($identifiant) OR empty($motdepasse) OR empty($nomdusumo) OR empty($adresseemail))
{
echo'Un ou des champ(s) sont vide(s)';
}
else
{
// connexion à la base
$db = mysql_connect('http://www.multimania.lycos.fr', 'scatman44', 'aaa') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('scatman44_db',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO Tablesumo(identifiant, motdepasse, nomdusumo,adresseemail) VALUES('$identifiant','$motdepasse','$nomdusumo','$adresseemail')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
}
?>
Merci en tout cas de votre aide. A plus

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Publié : 10 mars 2007, 15:21
par calimo
Peut-on savoir ce qui ne fonctionnait pas ? Ça pourrait être utile à d'autres :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.2) Gecko/20070220 Firesalamandre Firefox/2.0.0.2

Publié : 11 mars 2007, 10:42
par SB
Pêle-mêle je dirai erreur de nom d'hôte, de nom de base et dans la requête "insert into".

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2

Publié : 11 mars 2007, 20:45
par Fabrice.Tres.Net
Mr Scatman, contacte moi par MP...et indique une adresse de mail, j'en ai besoin pour te faire passer un message important...