J'utilise le code ci-dessous pour une connexion. Cela fonctionne très bien, mais lorsque j'essaie de me connecter pour la première fois après avoir allumé mon ordinateur, cela ne fonctionne que la deuxième fois que je clique sur le bouton "Connexion". Toute idée de comment je peux le faire ne nécessite pas de cliquer sur le bouton "Connexion" deux fois dans cette situation?Avoir à appuyer deux fois sur le bouton de connexion au site après avoir allumé l'ordinateur pour la première fois
Merci à l'avance,
John
if (!isLoggedIn())
{
if (isset($_POST['cmdlogin']))
{
if (checkLogin($_POST['username'], $_POST['password']))
{
show_userbox();
} else
{
echo "Incorrect Login information !";
show_loginform();
}
} else
{
show_loginform();
}
} else
{
show_userbox();
}
function show_loginform($disabled = false)
{
echo '<form name="login-form" id="login-form" method="post" action="./index.php">
<div class="usernameformtext"><label title="Username">Username: </label></div>
<div class="usernameformfield"><input tabindex="1" accesskey="u" name="username" type="text" maxlength="30" id="username" /></div>
<div class="passwordformtext"><label title="Password">Password: </label></div>
<div class="passwordformfield"><input tabindex="2" accesskey="p" name="password" type="password" maxlength="15" id="password" /></div>
<div class="registertext"><a href="http://www...com/sandbox/register.php" title="Register">Register</a></div>
<div class="lostpasswordtext"><a href="http://www...com/sandbox/lostpassword.php" title="Lost Password">Lost password?</a></div>
<p class="loginbutton"><input tabindex="3" accesskey="l" type="submit" name="cmdlogin" value="Login" ';
if ($disabled == true)
{
echo 'disabled="disabled"';
}
echo ' /></p></form>';
}
EDIT: Voici une autre fonction qui est utilisée.
function isLoggedIn()
{
if (session_is_registered('loginid') && session_is_registered('username'))
{
return true; // the user is loged in
} else
{
return false; // not logged in
}
return false;
}
EDIT II: Voici une autre fonction qui est utilisée:
function checkLogin($u, $p)
{
global $seed;
if (!valid_username($u) || !valid_password($p) || !user_exists($u))
{
return false; did not exist
}
$query = sprintf("
SELECT loginid
FROM login
WHERE
username = '%s' AND password = '%s'
AND disabled = 0 AND activated = 1
LIMIT 1;", mysql_real_escape_string($u), mysql_real_escape_string(sha1($p . $seed)));
$result = mysql_query($query);
if (mysql_num_rows($result) != 1)
{
return false;
} else
{
$row = mysql_fetch_array($result);
$_SESSION['loginid'] = $row['loginid'];
$_SESSION['username'] = $u;
return true;
}
return false;
}
Que fait 'isLoggedIn()'? –
fonction isLoggedIn() { si (session_is_registered ('loginid') && session_is_registered ('nom d'utilisateur')) { return true; // l'utilisateur est connecté } else { return false; // non connecté } return false; } – John