Syntax error php

Résolu
Bonjour,
est ce que j ai une erreur dans ma syntaxe car a l affiche j ai une syntaxe error unexpected T_ELSE

else if ($check2 != 0) {
echo "<script language=\"JavaScript\">\n";
echo "alert('Utilisateur déjà utilisé');";
echo 'window.history.back();';
echo "</script>";
}

Merci
Configuration: Windows Vista
Firefox 3.0.13

5 réponses

  1. Elseif doit être attaché comme ça :

    elseif ($check2 != 0) {
    echo "<script language=\"JavaScript\">\n";
    echo "alert('Utilisateur déjà utilisé');";
    echo 'window.history.back();';
    echo "</script>";
    }
    0
    1. Il doit te manquer un } avant ton else
      0
      1. en fait voila mon code

        c ets la partie en gras qu il aime pas apparemment

        if (isset($_POST['submit'])) {

        if (!$_POST['nom'] | !$_POST['prenom'] | !$_POST['mail'] | !$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] ) {
        echo "<script language=\"JavaScript\">\n";
        echo "alert('Champs requis non remplis');";
        echo 'window.history.back();';
        echo "</script>";
        }

        // checks if the username is in use
        elseif (!get_magic_quotes_gpc()) {
        $_POST['username'] = addslashes($_POST['username']);
        }
        $usercheck = $_POST['username'];
        $check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")
        or die(mysql_error());
        $check2 = mysql_num_rows($check);


        //if the name exists it gives an error
        elseif ($check2 != 0) {
        echo "<script language=\"JavaScript\">\n";
        echo "alert('Utilisateur déjà utilisé');";
        echo 'window.history.back();';
        echo "</script>";
        }

        // this makes sure both passwords entered match
        elseif ($_POST['pass'] != $_POST['pass2']) {
        echo "<script language=\"JavaScript\">\n";
        echo "alert('Ls mots de passe ne correspondent pas');";
        echo 'window.history.back();';
        echo "</script>";
        }

        // here we encrypt the password and add slashes if needed
        $_POST['pass'] = md5($_POST['pass']);
        elseif (!get_magic_quotes_gpc()) {
        $_POST['pass'] = addslashes($_POST['pass']);
        $_POST['username'] = addslashes($_POST['username']);
        }
        else {
        // now we insert it into the database
        $email = $_POST['mail'];
        $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!"; //pour analysé l'email
        if(preg_match($verif,$email)){
        $insert = "INSERT INTO users (nom, prenom, telephone, mail, adresse, cp, ville, username, password)
        VALUES ('".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['telephone']."', '".$_POST['mail']."', '".$_POST['adresse']."', '".$_POST['cp']."', '".$_POST['ville']."', '".$_POST['username']."', '".$_POST['pass']."' )";
        $add_member = mysql_query($insert);

        echo "<script language=\"JavaScript\">\n";
        echo "window.location.href = 'index.php'";
        echo "</script>";
        }
        else
        {
        echo "<script language=\"JavaScript\">\n";
        echo "alert('Email non valide');";
        echo 'window.history.back();';
        echo "</script>";
        }
        }
        }
        0
        1. bon h bien j ai trouve encore desole

          il fallait que j inclus ma syntaxe au else if comme ceci et ca marche

          elseif (!get_magic_quotes_gpc()) {
          $usercheck = $_POST['username'];
          $check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")
          or die(mysql_error());
          $check2 = mysql_num_rows($check);
          $_POST['username'] = addslashes($_POST['username']);
          }

          merci encore
          0
          1. heu en fait ca ne marche pas tant que ca :-( il ne prend pas encompte le fait qu un autre user et ne me fait pas le cryptage :-(
            0