Accueil
Forums
Turoriaux
Inscription
Connexion
Fil RSS
Bienvenue invité !
Samedi 22 Novembre 2008
Vous êtes ici: Crea-paradise.com > Forums > Entraide > PHP > Espace menbre > Lecture du sujet

Espace menbre

Parse error =(


1
Auteur Message
> Posté le : 27/08/2008 20h11
Aucun avatar


Groupe : Membres
Messages : 3

Salut a tous;

J'ai un petit probleme dans mon code php. J'ai bien suivi le tutoriel sur l'espace membre et je l'ai legerement personnaliser.

Le probleme c'est que j'ai une erreur des le début du code  (13eme ligne). Si on peut m'expliquer mon erreur, ça serait sympa 

Erreur
Parse error: syntax error, unexpected '{' in C:wampwwwinscription-ok.php on line 13


La page en question :
Question
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<?php
// Verification si les cases ne sont pas vide
if (!empty($_POST['pseudo']) && (!empty($_POST['email'])) && (!empty($_POST['mdp']))
&& (!empty($_POST['nom'])) && (!empty($_POST['prenom']))
   {
    // Verification si le mail ressemble bien a une adresse e-mail
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-].[a-z]$#", $_POST['email']))
{

include("mysql_connect.php"); // Connection a la BD


//Verification si un compte est deja fait avec ce mail
$mailex= mysql_query("SELECT COUNT(*) AS nb_email FROM membres WHERE email = '".$_POST['email']."'"); or die(mysql_error())
$testA = mysql_fetch_array($mailex);

if ($testA['nb_email'] != 1)
{
// Protection des diffferentes zone de text
$pseudo = htmlspecialchars($_POST['pseudo']);
$mdp = htmlspecialchars($_POST['mdp'])
$email = htmlspecialchars($_POST['email']);
$prenom= htmlspecialchars($_POST['prenom']);
$nom = htmlspecialchars($_POST['nom']);
$pays= htmlspecialchars($_POST['pays']);
$interet= htmlspecialchars($_POST['interet']);
$jour_naissance= htmlspecialchars($_POST['jour_naissance']);
$mois_naissance= htmlspecialchars($_POST['mois_naissance']);
$annee_naissance= htmlspecialchars($_POST['annee_naissance']);
// je met de l'ordre dans la date de naissance
$daten= ["$jour_naissance", "mois_naissance" , "annee_naissance"]

// verification de l'existence du pseudo
$pseudoex = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo = '" . $pseudo . "'"); or die(mysql_error())
$ech = mysql_fetch_array($pseudoex);

if ($ech['nb_pseudo'] == 0)
{
// envoie du mail a celui qui s'inscrit
$destinataire = $email;
$objet = "Inscription sur *****: .$pseudo.";
$message = "Bonjour,
Votre inscription sur **** a fonctionner, nous vous envoyons vos identifiants par e-mail afin que vous ne les oubliez pas.

Pseudo : " .$pseudo. "
Mot de passe : " $mdp. "

Merci de votre visite, et a bientôt !
L'équipe de *****";

mail($destinataire, $objet, $message);

// Envoie d'une copie des donnees
$destinataire2= ****@***.fr
$objet2 = ".$pseudo.";
$message2 =
Pseudo : " .$pseudo. "
Mot de passe : " $mdp. "

mail($destinataire2, $objet2, $message2);
}
// Ajout dans la BD
mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mdp', '$email' , '$nom' , '$prenom', '$daten', '$pays', '$interet')"); or die(mysql_error())
echo '<br/>Vous avez bien été inscrit. Vos identifiants vous sont envoyés par mail pour confirmation.<br/>
Retour à l 'index';
</body>
</html>
}
else
{
echo 'Ce pseudo existe déjà. Choisissez en un autre' !;
}

}
else
{
echo 'Un compte existe déja avec cette adresse email.';
}
}
else
{
echo 'Cette adresse email n ' est pas valide.';
}
}
else
{
echo 'Merci de remplir tous les champs';
}

mysql_close();

?>
> Posté le : 28/08/2008 01h31
Avatar de ProgDez


Groupe : Modérateurs
Messages : 145

Bonjour

il manque un ; à la fin de cette ligne

Code PHP:
$mdp = htmlspecialchars($_POST['mdp'])


une grosse faute ici

Code PHP:
mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mdp', '$email' , '$nom' , '$prenom', '$daten', '$pays', '$interet')"); or die(mysql_error())


mieux comme ça non ?

Code PHP:
mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mdp', '$email' , '$nom' , '$prenom', '$daten', '$pays', '$interet')") or die(mysql_error());


Enfin le code est bourré de fautes la j'ai juste survolé il faut le reprendre entièrement et attentivement

Cordialement


Projets en cours:
- Olympe-Network (hébergement gratuit et sans pub)
- ProgDez NetWork's - Mon PortFolio / Blog perso
- Quote-me.fr - un peu de détente ça vous dit ?
> Posté le : 28/08/2008 02h06
Aucun avatar


Groupe : Membres
Messages : 3

Merci d'avoir répondu aussi vite =p

Je l'essaye dès demain !Mais vu qu'il s'agit de mon 1er code, il doit encore y avoir énormément de fautes 

En tous cas, encore merci x)
> Posté le : 28/08/2008 11h28
Aucun avatar


Groupe : Membres
Messages : 3

Voila j'ai fait quelques tests.

J'ai trouver d'autre erreurs mais l'erreur a la ligne 15 persiste 
Étant donner que je n'ai pas vu le regex? et que je l'ai copier /coller comme dit dans le tuto, si on peut me donner la solution =(

Erreur
Parse error: syntax error, unexpected T_IF in C:wampwwwinscription-ok.php on line 15


Code PHP:
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
 
<body>
<?php
// Verification si les cases ne sont pas vide
if (!empty($_POST['pseudo']) && (!empty($_POST['email'])) && (!empty($_POST['mdp']))
&& (!empty($_POST['nom'])) && (!empty($_POST['prenom']))
    {
    // Verification si le mail ressemble bien a une adresse e-mail
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-].[a-z]$#", $_POST['email']))
{

include("mysql_connect.php"); // Connection a la BD


//Verification si un compte est deja fait avec ce mail
$mailex= mysql_query("SELECT COUNT(*) AS nb_email FROM membres WHERE email = '".$_POST['email']."'") or die(mysql_error());
$testA = mysql_fetch_array($mailex);
 
if ($testA['nb_email'] != 1)
{
// Protection des diffferentes zone de text
$pseudo = htmlspecialchars($_POST['pseudo']);
$mdp = htmlspecialchars($_POST['mdp']);
$email = htmlspecialchars($_POST['email']);
$prenom= htmlspecialchars($_POST['prenom']);
$nom = htmlspecialchars($_POST['nom']);
$pays= htmlspecialchars($_POST['pays']);
$interet= htmlspecialchars($_POST['interet']);
$jour_naissance= htmlspecialchars($_POST['jour_naissance']);
$mois_naissance= htmlspecialchars($_POST['mois_naissance']);
$annee_naissance= htmlspecialchars($_POST['annee_naissance']);
// je met de l'ordre dans la date de naissance
$daten= array ["$jour_naissance", "mois_naissance" , "annee_naissance"]

// verification de l'existence du pseudo
$pseudoex = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo = '" . $pseudo . "'") or die(mysql_error());
$ech = mysql_fetch_array($pseudoex);

if ($ech['nb_pseudo'] == 0)
{
// envoie du mail a celui qui s'inscrit
$destinataire = $email;
$objet = "Inscription sur *****: .$pseudo.";
$message = "Bonjour,
Votre inscription sur ***** a fonctionner, nous vous envoyons vos identifiants par e-mail afin que vous ne les oubliez pas.
 
Pseudo : " .$pseudo. "
Mot de passe : " $mdp. "
 
Merci de votre visite, et a bientôt !
L'équipe de *******";

mail($destinataire, $objet, $message);

// Envoie d'
une copie des donnees
$destinataire2= ".********.";
$objet2 = ".$pseudo.";
$message2 =
Pseudo : " .$pseudo. "
Mot de passe : " $mdp. ";

mail($destinataire2, $objet2, $message2);
}
// Ajout dans la BD
mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mdp', '$email' , '$nom' , '$prenom', '$daten', '$pays', '$interet')") or die(mysql_error());
echo '<br/>Vous avez bien été inscrit. Vos identifiants vous sont envoyés par mail pour confirmation.<br/>
Retour à l '
index';
</body>
</html>
}
else
{
echo '
Ce pseudo existe déjà. Choisissez en un autre.' !;
}

}
else
{
echo '
Un compte existe déja avec cette adresse email.';
}
}
else
{
echo '
Cette adresse email n ' est pas valide.';
}
}
else
{
echo 'Merci de remplir tous les champs.';
}
 
mysql_close();
 
?>
 


> Posté le : 28/08/2008 12h25
Avatar de ProgDez


Groupe : Modérateurs
Messages : 145

Bonjour,

écoute si je te corrige le code ça ne te ferra pas progresser, il est blindé de fautes, guillemets non refermé des ; manquants, relit le correctement, et tu verra tes erreurs, (la colorisation syntaxique peut aider)

Bon courage


Projets en cours:
- Olympe-Network (hébergement gratuit et sans pub)
- ProgDez NetWork's - Mon PortFolio / Blog perso
- Quote-me.fr - un peu de détente ça vous dit ?
1