Probleme php elseif non resolu

Fermé
jupiter - 14 août 2009 à 14:13
 jupiter - 14 août 2009 à 16:16
Bonjour a tous,

j ai ce formulaire d'inscription je passe par des elseif pour mettre en condition le remplissage des champs mais j ai des paramètres qui se je les mets hors des elseif j ai un message d'erreur [QUOTE]syntax error unexpected T_ELSEIF[/QUOTE] et si j insere ces paramètres dans mes accolades elseif bah il ne marche plus...

ces paramètres sont en gras dans le code ci dessous

code avec paramètre dans les elseif:

[CODE]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>";
}


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


//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>";
}



elseif (!get_magic_quotes_gpc()) {
[B]$_POST['pass'] = md5($_POST['pass']);[/B]
$_POST['pass'] = addslashes($_POST['pass']);
$_POST['username'] = addslashes($_POST['username']);
}
else {

$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>";
}
}
}[/CODE]

code 2 avec paramètre hors elseif :

[CODE]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>";
}


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


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


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


[B]$_POST['pass'] = md5($_POST['pass']);[/B]
elseif (!get_magic_quotes_gpc()) {
$_POST['pass'] = addslashes($_POST['pass']);
$_POST['username'] = addslashes($_POST['username']);
}
else {

$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>";
}
}
}[/CODE]
A voir également:

4 réponses

avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
14 août 2009 à 15:06
Tu ne peux pas mettre de commentaire entre } et elseif/else
Mauvais :
if(isset($variable)) {
  echo 'ok';
}
// Sinon
else {
  echo 'pas ok';
}

Bon :
if(isset($variable)) {
  echo 'ok';
}
else { // Sinon
  echo 'pas ok';
}
0
bonjour avion-F16 heu ça on peut c est la seule chose d'ailleurs j ai réglé mon problème pour la vérification de l utilisateur il me reste juste celui du hashage en md5 hors elseif erreur T_ELSE dans le elseif pas de hashage :-(

merci de votre aide
0
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
14 août 2009 à 16:05
J'ai confondu : On ne peut pas mettre d'instrution dans une condition en dehors des accolades.
0
ah oui la je suis d accord

sinon j ai la solution pour mon probleme de hashage

il faut le placer juste au dessus du insert

[B]$_POST['pass'] = md5($_POST['pass']);/B

insert into ....

merci encore
0