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>";
    }
    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>";
      }
      }
      }
      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
        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 :-(