Erreur dans le script

Eléphanteau du PHP | 25 Messages

04 sept. 2006, 16:08

Bonjour à tous j'espere que vous pourrez m'aider cette fois ci voila mon script.

Code : PHP
session_start();
session_register('auth');
session_register('nomLogin');

include("cool.inc");

$nomChamp = array("nomMembre"=>"Nom de membre", "mpasse">"Mot de passe", "prenom"=>"Prénom", "nom"=>"Nom", "rue"=>"Rue","ville"=>"Ville", "codePostal"=>"Code postal", "phone"=>"téléphone", "fax"=>"fax", "email"=>"Adresse e-mail");

function AfficherErreur($texteMsg)
{ global $do, $nomMembre, $newpass, $prenom, $nom, $rue, $ville, $codePostal, $departement, $phone, $fax, $email;
unset ($do);
$message_new = $texteMsg;
include("login_form.inc");
exit();
}
//----------------------------------------------------------------------------------------------------------------------
switch (@$do)
{ case"login" :
include("cool.inc");
$sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur'";
$result = mysql_query($sql)
                                or die (mysql_error());
$num = mysql_num_rows($result);
if ($num == 1)
{ $sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur'AND mPasse=password('$motDePasse')";
$result2 = mysql_query($sql)
                                or die (mysql_error());
$num2 = mysql_num_rows($result2);
if ($num2 > 0)
{ $auth="yes";
$aujourdhui = date("Y-m-d h:i:s");
$sql = "INSERT INTO Login (nomLogin, dateLogin) VALUES ('$nomUtilisateur','$aujourdhui')";
mysql_query($sql)
                or die (mysql_error());
$nomLogin = $nomUtilisateur;
header("Location: PageMembres.php");
}
else
{ $message = "Le nom de login '$nomUtilisateur' existe déjà mais notre mot de passe n'est correct. Essayer encore une fois. <br \>";
unset ($do);
include("login_form.inc");
}
}
elseif ($num == 0)
{ $message = "Le nom de login que vous avez saisi n'existe pas. Essayez une fois encore.<br />";
unset ($do);
include("login_form.inc");
}
break;

case "new":
foreach($HTTP_POST_VARS as $clé => $valeur)
{ switch ($clé)
{ case "nomMembre" :
  case "prénom":
  case "nom" :
  case "newpass" :
  case "ville" :
if (!ereg("^[A-Za-z' éèëêàâîïôûùü-] {1,50}$",
stripslashes($valeur)))
{AfficherErreur("Valeur de \"{ $nomChamp[$clé] }\"incorrecte ou abscente. Corrigez, svp");
}
  case "rue" :
$$clé = strip_tags(trim($valeur));
break;
  case "codePostal" :
if (! ereg("^[0-9] {5}",$codePostal)
        or strlen($codepostal) != 5)
        { AfficherErreur("Le code postal n'est pas correct. Corrigez svp.");
        }
break;
  case "fax" :
if ($valeur == "") break;
  case "phone" :
if (! ereg("^[0-9 -.] {10,14}", $valeur))
{ AfficherErreur("Numero de {$nomChamp[$clé]} incorrect. corrigez, svp.");
}
break;
  case "email" :
if(!ereg("^.+@.+\\..+$",$email))
{AfficherErreur("L adresse e-mail n'est pas correcte.Corrigez, svp.");
}
}
}
include("cool.inc");
$sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomMembre'";
$result = mysql_query($sql)
   or die(mysql_error());
 $num = mysql_numrows($result);
 if ($num > 0)
 { AfficherErreur("$nomMembre est déjà utilisé.");
 }
 else{
 $aujourdhui = time("Y-m-d");
 $departement = substr($codePostal, 0, 2);
 $sql = "INSERT INTO Membre (nomLogin, creation, mPasse, prenom, nom, rue, ville, departement, codePostal, telephone, fax,email) VALUES ('$nomMembre','$aujoudhui','password('$newpass'),'$prenom','$nom','$rue','$ville','$departement','$codePostal','$phone','$fax','$email')";
 if (! mysql_querry($sql))
 { echo mysql_errno().":".mysql_error();
 exit;
 }
 $auth="yes";
 $nomUtilisateur = $nomMembre;
 $message =
 "Un nouveau compte membre vient d'être créé pour votre club.".
 "Votre indentifiant et votre mot de passe sont :".
 "\n\n\t$nomMembre\n\t£newpass\n\n".
 "Nous apprécions l'intérêt que vous portez aux arts martiaux. ".
 "Si vous aves des questions à poser, vous envoyer".
 "un e-mail à [email protected].";
 $entete="From: [email protected]\r\n";
 $sujet = "Votre nouveau compte Club ";
 $mailsend=$mail("$email","$sujet","$message","$entete");
 $nomlogin = $nomMembre;
 header("location: NouveauMembre.php");
 }
 break;
 
 default:
        include("login_form.inc");
        }
       
et voici l'erreur Citation : .
Parse error: syntax error, unexpected T_ELSEIF in /www/sites/1/ifrance.com/c/o/corsica-martial/site/login.php on line 45"
Merci d'avance.

ViPHP
ViPHP | 1996 Messages

04 sept. 2006, 16:14

Je ne suis pas sûr mais je crois que tu as deux acollade à la ligne 43 et 44 au lieu de une... Essaye de vérifier.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 25 Messages

04 sept. 2006, 16:37

malgrés ça il me sort encore une erreur :cry: Parse error: syntax error, unexpected T_ELSEIF in /www/sites/1/ifrance.com/c/o/corsica-martial/site/login.php on line 44

Avatar du membre
ViPHP
ViPHP | 3008 Messages

04 sept. 2006, 16:55

Indentes correctement ton code, il est complètement illisible, normal que tu ne perçois pas les erreurs.

j'ai indenté ton premier cas "login" et j'ai trouvé pas mal d'erreur d'imbrication, de elsif manquant, un else qui se retrouve avant un elseif, une accolade mal placée...etc

enfin bref tous plein d'erreurs. Donc première chose à faire, nettoies ton code ;)

Bien indenté, ton premier cas pourrait ressembler à ceci :
	case"login" : 
	include("cool.inc"); 
	$sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur'"; 
	$result = mysql_query($sql) or die (mysql_error()); 
	$num = mysql_num_rows($result);
	
	if($num == 1)
	{
		$sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur'AND mPasse=password('$motDePasse')"; 
		$result2 = mysql_query($sql) or die (mysql_error()); 
		$num2 = mysql_num_rows($result2);
	}
	elseif($num2 > 0)
	{
		$auth="yes";
		$aujourdhui = date("Y-m-d h:i:s"); 
		$sql = "INSERT INTO Login (nomLogin, dateLogin) VALUES ('$nomUtilisateur','$aujourdhui')"; 
		mysql_query($sql) or die (mysql_error()); 
		$nomLogin = $nomUtilisateur; 
		header("Location: PageMembres.php"); 
	}
	elseif($num == 0) 
	{
		$message = "Le nom de login que vous avez saisi n'existe pas. Essayez une fois encore.<br />"; 
		unset ($do); 
		include("login_form.inc"); 
	}
	else
	{
		$message = "Le nom de login '$nomUtilisateur' existe déjà mais notre mot de passe n'est correct. Essayer encore une fois. <br \>"; 
		unset ($do); 
		include("login_form.inc"); 
	}
Modifié en dernier par charabia le 05 sept. 2006, 10:23, modifié 1 fois.

Eléphanteau du PHP | 25 Messages

05 sept. 2006, 10:21

Ok merci je vais essayé ;)