unexpected t_else

Eléphant du PHP | 259 Messages

28 oct. 2005, 14:45

bonjour

j'ai une page d'inscription ou on rempli un formulaire
après ces données sont prises dans une requete mysql

voici le code
<html>
<head>
<title>Untitled Document</title>
<style type="text/css">
<!--
body,td,th {
color: #666666;
}
body {
background-color: #000000;
}
-->
</style>
<STYLE TYPE=text/css>
A.menulink {
font-family:Verdana;
font-size:12px;
color: #999999;
text-decoration: none;
}

.texte { font-family: Verdana; font-size: 10 px }
A.menulink:hover {
color: #666666;
font-style: bold;
text-decoration: none;
}
</STYLE>

<!-- Début Couleur des scroll-->
<style TYPE=text/css>
BODY
{
scrollbar-face-color: #FAFAFA;
scrollbar-shadow-color: #FAFAFA;
scrollbar-highlight-color: #FAFAFA;
scrollbar-3dlight-color: #FAFAFA;
scrollbar-darkshadow-color: #FAFAFA;
scrollbar-track-color: #FAFAFA;
scrollbar-arrow-color: #000000;
background-color: #FAFAFA;
}
</style>
<!-- Fin Couleur des scroll-->

<style>
<!--
a { font-family: Verdana; font-size: 10 px color: #999999}
body,td,th {
color: #999999;
}
.style2 {
color: #666666;
font-weight: bold;
font-size: 14px;
}
.style3 {color: #666666}
.style4 {color: #CCCCCC}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body>
<table width="500" height="509" border="0" cellpadding="2" cellspacing="0">
<tr background="http://yuu.sw.free.fr/echange/images/003.gif">
<td width="500" height="20" background="/echange/images/003.gif"><span class="style2"><span class="style4">__</span>Inscription >> Etape 3 </span></td>
</tr>
<tr>
<td width="500" height="486" valign="top"><p>&nbsp;</p>
<p>&nbsp;</p>
<p>

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

if(isset($_POST['pass'])) $pass=$_POST['pass'];
else $pass="";

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


// On vérifie si les champs sont vides
if(empty($name) OR empty($pass) OR empty($mail))
{
echo 'remplir tous les champs';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx'); // connexion à la base
mysql_select_db('yuu_sw',$db); // sélection de la base

// on regarde si l'url existe déjà
$sql = "SELECT user_id FROM a_users WHERE user_mail='$mail'";
$sql2 = "SELECT user_id FROM a_users WHERE user_pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$req2 = mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());

// on compte le nombre de résultats
$res = mysql_num_rows($req);
$res2 = mysql_num_rows($req2);

if($res!=0) // l'url existe déjà, on affiche un message d'erreur
{
if($res2!=0)
{
$sql3 = "INSERT INTO a_users(user_id, user_pseudo, user_pass,user_mail, user_credits, user_last_session) VALUES('','$pseudo','$pass','$mail','500','')";
mysql_query($sql3) or die('Erreur SQL !'.$sql3.'<br>'.mysql_error());
echo 'compte créé, vous pouvvez maintenant l utiliser';
}
else {
echo 'pseudo dejà pris';
};
else {
echo 'e-mail déjà pris';
};

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
}
mysql_close(); // on ferme la connexion
}
?>


</p></td>
</tr>
</table>
</body>
</html>
mais quand je lance la page sa met sa

Parse error: parse error, unexpected T_ELSE in /var/www/sdc/0/8/yuu.sw/echange/pages/inscription3.php on line 117
la ligne 117 est celle -ci
else {
le dernier else

j'ai du oublier un truc quelque part mais je vois pas ou
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Mammouth du PHP | 1311 Messages

28 oct. 2005, 14:48

ce forum n'est pas une hotline
si tu veut que l'on aide netoye ton code et lit le reglement du forum

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

28 oct. 2005, 14:52

ce forum n'est pas une hotline
oh ... mais ... :lol:

enleve les point virgule apres les } des else.

De plus tu as 2 else qui se suivent, sans elseif par exemple ?!?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
fab
ViPHP | 2657 Messages

28 oct. 2005, 14:53

si il y a des balises php ce n'est pas pour rien...
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 259 Messages

28 oct. 2005, 15:00

je connais pas ifelse
je sais pas comment sa marche


déolé mais comme a chaque fois on me demande le code à partir de la ligne 1 g tout de suite mis le code en entier
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Mammouth du PHP | 1311 Messages

28 oct. 2005, 15:05

déolé mais comme a chaque fois on me demande le code à partir de la ligne 1 g tout de suite mis le code en entier
c'est pas une raison pour mettre tout le code (le css n'a rien a voire avec ton erreur), indente ton code et met le entre les balise php
et elseif va faire un tour surhttp://www.php.net
et si tu veut aprendre le php commence par les bases et lit des tutos(car reprendre du code ne te sera pas benefique pour l'instant)
http://www.phpdebutant.org

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 oct. 2005, 15:51

Alors j'ai repris ton code, je l'ai réindenté, ce qui m'a permis de trouver tes erreurs (comme quoi, quand on dit que ça sert d'indenter)

Donc, tu finissais 2 if par des ;
if ($res != 0)
if ($res != 2)

Voiçi le code corrigé et réindenté
<?php
// On commence par récupérer les champs
if(isset($_POST['name']))
    $name=$_POST['name'];
else
    $name="";

if(isset($_POST['pass']))
    $pass=$_POST['pass'];
else
    $pass="";

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


// On vérifie si les champs sont vides
if(empty($name) OR empty($pass) OR empty($mail)) {
    echo 'remplir tous les champs';
// Aucun champ n'est vide, on peut enregistrer dans la table
} else {
    $db = mysql_connect('sql.free.fr', 'xxx', 'xxx'); // connexion à la base
    mysql_select_db('yuu_sw',$db); // sélection de la base

    // on regarde si l'url existe déjà
    $sql = "SELECT user_id FROM a_users WHERE user_mail='$mail'";
    $sql2 = "SELECT user_id FROM a_users WHERE user_pseudo='$pseudo'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    $req2 = mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());

    // on compte le nombre de résultats
    $res = mysql_num_rows($req);
    $res2 = mysql_num_rows($req2);

    if($res!=0) // l'url existe déjà, on affiche un message d'erreur
    {
        if($res2!=0)
        {
            $sql3 = "INSERT INTO a_users(user_id, user_pseudo, user_pass,user_mail, user_credits, user_last_session) VALUES('','$pseudo','$pass','$mail','500','')";
            mysql_query($sql3) or die('Erreur SQL !'.$sql3.'<br>'.mysql_error());
            echo 'compte créé, vous pouvvez maintenant l utiliser';
        } else {
            echo 'pseudo dejà pris';
        } else {
            echo 'e-mail déjà pris';
        }

        // on affiche le résultat pour le visiteur
        echo 'Vos infos on été ajoutées.';
    }
    mysql_close(); // on ferme la connexion
}
?>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

28 oct. 2005, 19:00

De plus tu as 2 else qui se suivent
indenter comme je le fait tu vera que tu as 2 else a la suite. :wink:
if($res!=0) // l'url existe déjà, on affiche un message d'erreur
    {
        if($res2!=0)
        {
            $sql3 = "INSERT INTO a_users(user_id, user_pseudo, user_pass,user_mail, user_credits, user_last_session) VALUES('','$pseudo','$pass','$mail','500','')";
            mysql_query($sql3) or die('Erreur SQL !'.$sql3.'<br>'.mysql_error());
            echo 'compte créé, vous pouvvez maintenant l utiliser';
        } 
		else 
		{
            echo 'pseudo dejà pris';
        } 
		else 
		{
            echo 'e-mail déjà pris';
        }
        // on affiche le résultat pour le visiteur
        echo 'Vos infos on été ajoutées.';
    } 
Certainement une erreur de fermeture de parenthèse du 1er if (du bloc précédent)
if($res!=0) // l'url existe déjà, on affiche un message d'erreur
    {
        if($res2!=0)
        {
            $sql3 = "INSERT INTO a_users(user_id, user_pseudo, user_pass,user_mail, user_credits, user_last_session) VALUES('','$pseudo','$pass','$mail','500','')";
            mysql_query($sql3) or die('Erreur SQL !'.$sql3.'<br>'.mysql_error());
            echo 'compte créé, vous pouvvez maintenant l utiliser';
        } 
		else 
		{
            echo 'pseudo dejà pris';
        }         
    } 
	else 
	{
            echo 'e-mail déjà pris';
    }

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute