Besoin d'aide en php
Bonjour, je veux crée une page d'authentification pour une base de données d'un site web le code que j'ai essayé est en php ne marche pas quelqu'un peut m'aider ?
2 réponses
-
Salut,
peux-tu me faire voir ton code ? (n'oublie pas d'enlever les identifiants de connexion à PDO)-
c'est un code que j'ai téléchargé et essayé de l'adapter à ma guise
<?php
class auth
{
var $login;
var $pass;
var $page;
var $name_session;
var $redir_time;
function auth() // Constructeur
{
$this->login = $_REQUEST["login"]; // Recupere le nom d'utilisateur courant
$this->pass = $_REQUEST["pass"]; // Recupere le mot de passe courant
$this->page = $_SERVER["PHP_SELF"]; // Recupere le nom de la page
$this->name_session = "administration"; // Nom de la session
$this->redir_time = 1500; // Temps de la redirection en ms
session_start(); // Creer la session
if (!$this->is_admin()) // Verifie si l'utilisateur est deja logger
{
if ($_REQUEST["auth"] <> 1) // Verifie si le formulaire doit etre validé
{
die(); // Arrete le chargement de la page
}
else // Validation du formulaire
{
$this->valid_auth();
}
}
}
function valid_auth()
{
if($this->login != "" and $this->pass != "") // Verifie que les champs ne sont pas vides
{
$this->pass = md5($this->pass); // Crypte le mot de passe
$result = mysql_query("SELECT pass FROM admin WHERE login='$this->login'"); // Selectionne le mot de passe suivant le login
$row = mysql_fetch_array($result);
$vpasswd = $row["pass"];
if($vpasswd == $this->pass) // Verifie si le mot de passe est correct
{
$admin = base64_encode("$this->ulogin:$this->pass"); // Encode les informations
$_SESSION["$this->name_session"] = $admin;
header("location: tarif.php"); // Recharge la page
}
else // Si le mot de passe est incorrect
{
echo "<script> setTimeout(\"window.location=\'$this->page\';\", $this->redir_time); </script>"; // Redirige apres 1.50 sec
echo "Identifiants invalides...";
}
}
else // Si un ou les champs sont vides
{
echo "<script> setTimeout(\"window.location=\'$this->page\';\", $this->redir_time); </script>";
echo "Les champs sont vides...";
}
die(); // Arrete le chargement de la page
}
function is_admin()
{
$admin = $_SESSION["$this->name_session"];
$admin = base64_decode($admin); // Decode les informations
$admin = explode(":", $admin); // Separe le mot de passe du login
$login = $admin[0]; // Login
$pass = $admin[1]; // Mot de passe
if ($login != "" and $pass != "") { // Verifie que les informations du cookie ne sont pas vides
$query = mysql_query("SELECT pass FROM admin WHERE login='$login'"); // Selectionne le mot de passe suivant le login
$row = mysql_fetch_array($query);
$vpasswd = $row["pass"];
if($vpas == $pass&& $vpass != "") { // Verifie que le mot de passe est correct et qu'il n'est pas vide
return 1; // Retourne 1, l'utilisateur est deja logger
}
}
return 0; // Retourne 1, l'utilisateur n'est pas logger
}
function delog()
{
session_unset(); // Detruit la session
header("location: $this->page"); // Recharge la page
}
function get_name()
{
$admin = $_SESSION["$this->name_session"];
$admin = base64_decode($admin); // Decode le cookie
$admin = explode(":", $admin); // Separe le mot de passe du login
$login = $admin[0]; // Login
echo $user; // Affiche le login
}
}
?>
</p>
<p align="center"> </p>
<p align="center"><em><a href="lisez_moi.htm"></a><br>
<a href="details.doc"> </a></em></p>
<table width="300" border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
<tr>
<td width="50%""><div align="right">login</div></td>
<td width="50%"><input name="login" type="text" id="login"></td>
</tr>
<tr>
<td width="50%""><div align="right">mot de passe</div></td>
<td width="50%"><input name="pass" type="password" id="pass"></td>
</tr>
<tr>
<td height="34" colspan="2"><div align="center">
<input type="submit" name="Submit" value="Se connecter">
</div></td>
</tr>
</table>
<p align="center"><a href="http://www.cv-webmaster.com" title="cv webmaster webdesigner développeur php/mysql">CV webmaster et auteur du script</a></p>
</form>
</body>
</html>
</body>
</html> -
-
-
oui c'est ça le problème le code ne réagit même pas ,autre chose ma base na pas de mot de passe à la création , je veux pas utiliser forcement ce code ,si vous avez un autre vous pouvez me le postuler merci c'est vraiment gentille de ta part