problème de login "admin"
bonjour,
dans le but de vérifier les accés des utilisateurs te de l'adiminstrateur, j'ai utilisé une fonction filled_out :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
<?
/*
-------------------------------------------------------------------------------------
*Fonction qui vérifie que le formulaire a bien été rempli
-----------------------------------------------------------------------------------------
*/
function filled_out($form_vars)
{
// Teste si chaque variable contient une valeur.
foreach ($form_vars as $key => $value)
{
if (!isset($key)||($value == ''))
return false;
}
return true;
}
?> |
dans un autre fichier qui contient le script suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
// initialize or retrieve the current values for the login variables
$loginAttempts = !isset($_POST['loginAttempts'])?1:$_POST['loginAttempts'];
$formuser = !isset($_POST['formuser'])?NULL:$_POST['formuser'];
$formpassword = !isset($_POST['formpassword'])?NULL:$_POST['formpassword'];
if(($formuser != ADMINUSER ) || ($formpassword != ADMINPASSWORD )) {
if ($loginAttempts == 0) { /* 3 strikes and they're out */
$_POST['loginAttempts'] = 1;
include("adminLoginForm.php");
exit;
}else{
if ( $loginAttempts >= 3 ) {
echo "<blink><p align='center' style=\"font-weight:bold;font-size:170px;color:red;font-family:sans-serif;\">Log In<br>Failed.</p></blink>";
exit;
}else{
include("adminLoginForm.php");
exit;
}
}
}
/* test for valid username and password
if valid then initialize the session
register the username and password variables
and include the ADMINHOME page
*/
if (($formuser == ADMINUSER ) && ($formpassword == ADMINPASSWORD )) { // test for valid username and password
session_start();
$_SESSION['adminUser'] = ADMINUSER;
$_SESSION['adminPassword'] = ADMINPASSWORD;
$SID = session_id();
$adminHome = ADMINHOME;
include($adminHome);
}
?> |
ne connaissant php que depuis quelques temps , je souhaiterai que quelqu'un m'explique si il ya une difference entre ma fonction filled_out et ces deux lignes:
$formuser = !isset($_POST['formuser'])?NULL:$_POST['formuser'];
$formpassword = !isset($_POST['formpassword'])?NULL:$_POST['formpassword'];
pour moi c'est la meme chose mais j'ai des doutes !!
sinon comment utilser ma fonction ,et récupérer le résultat??
merci d'avance a tous ceux qui me répondront
problème de login "admin"
merci orgied d'avoir répondu si vite :)
la fonction filled_out vérifie si la variable est crée et contient une valeur.
le deuxième code vérifie si une varible n'éxiste pas alors on la crée :
$formuser = !isset($_POST['formuser'])?NULL:$_POST['formuser'];
donc $formuser contient et ma variable et son contenue et j'ai l'impression que c'est la meme chose qu'en haut !!!
$loginAttempts = !isset($_POST['loginAttempts'])?1:$_POST['loginAttempts'];
cette variable compte le nombre de tentative qu'un user peut faire :
si le nom user est != de admin et qu'il ne s'agit pas de son mot de passe , la variable $loginAttempts est incrémentée de 1 .
pour le code que tu m'as proposé :
if (!isset($_POST['loginAttempts']))) //
$loginAttempts = 1
$loginAttempts ne peut contenir un que si la première tentative a échoué car username et password ne correspondent pas
je ne sais pas si tu es d'accord avec moi ou pas !!
merci