Parse error...

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
scatman44

Parse error...

Message 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)
scatman44

Message 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)
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message 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 (_).
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message 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
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message 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
scatman44

Message 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)
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message 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
scatman44

Message 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)
scatman44

Message 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)
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message 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
scatman44

Message 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)
scatman44

Message 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)
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message 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
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message 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
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message 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...
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités