[SQL] Modification du "header" lors d'authentification sql
Bonjour, je suis en train de réaliser un site dans lequel j'ai mis une page d'authentification de l'utilisateur par une base de donnée sql. Cependant quand je teste pour voir si ça marche, j'ai le message suivant qui se charge :
Citation:
Notice: Undefined variable: identifiant in d:\en cours\html2007\version1\zone_membre\login.php3 on line 14
Warning: Cannot modify header information - headers already sent by (output started at d:\en cours\html2007\version1\zone_membre\login.php3:14) in d:\en cours\html2007\version1\zone_membre\login.php3 on line 20
Je travaille en local mais j'ai bien crée ma base avec EasyPhp. Sur un autre site que j'ai crée, j'ai le même code d'authentification et ça marche nickel. Est-ce que ce message est dû au fait que je travaille en local et qu'il ne peut pas réactualiser l'identifiant ainsi ? Merci d'avance.
voici le fichier qui gère les identifiants
En fait je modifie l'identifiant d'origine pour que la connexion se fache sur un identifiant aléatoire mis à jour.
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 35 36 37 38 39 40 41 42 43 44 45
| <?
require("conf.php3");
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT
// LE LOGIN SAISIS A LA PAGE LOGIN.HTM
$requete=mysql_db_query($sql_bdd,"select nom,passe,lien from ret where nom=\"$identifiant\"",$db_link) or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
// REDIRECTION VERS LA PAGE ERREUR
header("Location:$url_erreur");exit;
}
// SI LE LOGIN ET MOT DE PASSE SONT EXACTES
else
$destination=mysql_result($requete,$i,"lien");
{
// CREATION D'UN IDENTIFIANT ALEATOIRE
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
// MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE
$requete=mysql_db_query($sql_bdd,"update ret set id=\"$id\" where nom=\"$identifiant\"",$db_link) or die(mysql_error());
// REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE
header("Location:$destination?id=$id");
}
// DECONNEXION MYSQL
mysql_close($db_link);
?> |