Page 1 sur 1

Erreur dans le script

Posté : 04 sept. 2006, 16:08
par Yu_meyio
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.

Posté : 04 sept. 2006, 16:14
par Aureusms
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.

Posté : 04 sept. 2006, 16:37
par Yu_meyio
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

Posté : 04 sept. 2006, 16:55
par charabia
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"); 
	}

Posté : 05 sept. 2006, 10:21
par Yu_meyio
Ok merci je vais essayé ;)