Manipulation de chaines - ex:mdps

Contenu du snippet

J'ai débutté le php depuis 2 semaines , je lis bcp de tutoriaux , et quand je cherche un truc longtemps , je me dis que pour les newbies comme moi , ça doit être la même chose , donc je mets ça pour dépanner si y'en à qui ça interresse . Je cherchais ce code pour faire un systéme login , donc je ferais un exemple de login .

Source / Exemple :


<?
// On va faire une page test
 $Utilisateur=$HTTP_POST_VARS["utilisateur"];
 $Mdp=$HTTP_POST_VARS["motdepasse"];
 $AutoValid=$HTTP_POST_VARS["autoValid"];
// Traitement Char utilisateur : UtIlISAteUR
$Utilisateur=strtoupper($Utilisateur);
if (empty($Utilisateur))
{
Error("Veuillez saisir votre nom d'utilisateur !");
exit();
}
if (empty($Mdp))
{
Error("Veuillez saisir un Mot de Passe !");
exit();
}
// Ouverture du fichie des logins
$fs = fopen("./users/registres.dat", "r");
while(!feof($fs))     //Tant que l'on est pas a la fin du fichier
{
$Line1 = fgets($fs, 4096);
$Line2 = explode(",", $Line1);
If ($Utilisateur==$Line2[0])
	{
	If ($Mdp==$Line2[1])
		{
		 // Identification Ok !
setcookie("utilisateur",$Utilisateur,time()+365*24*3600);
setcookie("motdepasse",$Mdp,time()+365*24*3600);
setcookie("autoValid",$AutoValid,time()+365*24*3600);
       // Utilisateur
$Utilisateur=strtolower($Utilisateur);
	Echo "<html>";
	Echo "<head>";
	Echo "<title>Login Ok !</title>";
	Echo "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>";
	Echo "</head>";
	Echo "";
	Echo "<body bgcolor='#FFFFFF' text='#000000'>";
	Echo "<div align='center'> ";
	Echo "  <p><b><font color='#FF0000'>Loggin ok</font></p>";
	Echo "  <p><font color='#000000'>Bienvenue ",$Utilisateur," !</font></p>";
	Echo "  <p><font color='#000000'></font></p>";
	Echo "  <p><font color='#000000'>Votre identification à été faite , et vous pouvez maintenant contribuer au développement du site ;) ...</font></p>";
	Echo "</div>";
	Echo "</body>";
	Echo "</html>";
fclose($fs);
exit();
		}
		else
		{
		// Mot de passe invalide
		Error("Mot de passe incorrect , veuillez le resaisir ...");
        fclose($fs);
        exit();
		}
	}
}
Error("Utilisateur inconu ! Veuillez vérifier votre orthographe ;) ...");
fclose($fs);
exit();
?>

<?
// Error Function
function Error($Message)
{
	Echo "<html>";
	Echo "<head>";
	Echo "<title>COMMAND ERROR</title>";
	Echo "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>";
	Echo "</head>";
	Echo "";
	Echo "<body bgcolor='#FFFFFF' text='#000000' link='#000066' vlink='#000066' alink='#000066'>";
	Echo "<div align='center'> ";
	Echo "  <p><b><font color='#FF0000'>/!\</font></b> Erreur <font 	Echo color='#FF0000'><b>/!\</b></font></p>";
	Echo "  <p><font color='#000000'>",$Message,"</font></p>";
    Echo  "<p><font size='1'><a href='identification.htm'>Cliquez ici pour revalider votre login </a><br>";
    Echo  "   <a href='inscription.htm'>Cliquez ici pour créer un compte</a><br>";
    Echo "    <a href='lostmdp.htm'>Cliquez ici si vous avez perdu votre mot de passe</a></font></p>";
	Echo "</div>";
	Echo "</body>";
	Echo "</html>";
} 
?>

// Pour plus d'explication de ce code :
// On ouvre le fichier registres.dat
// Son contenu est rédigé du style :
// NomUtilisateur,Password,....
// Avec explode(",", $Line1) on fractione
// la ligne brute du fichier en fragments délimités par
// le caractére ',' ...
// On les rechoppes dans une matrice en fonction 
// de leur position dans le string : $Line[0] = NomUtilisateur ...etc...

// La fonction $Utilisateur=strtoupper($Utilisateur);
// signifie qu'on mets en caractéres majuscules tous les caractéres
// de la variable $Utilisateur

// $Utilisateur=strtolower($Utilisateur) est la fonctione inverse
// cad qu'elle mettra en minuscule tous les Caractéres.

// Pour les autres fonctions If...Then...Else ainsi que setcookie etc , elle sont déjà expliquée 
// dans le tutoriaux donc pas besoin de les réexpliquer .

Conclusion :


Bonne prog à tous , akh

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.