problème avec cookie

problème avec cookie - PHP - Programmation

Marsh Posté le 21-10-2003 à 18:27:09    

voilà, j'ai en php mon site, dessus, il y a une section privée accessible par login et mot de passe personnel...
 
Ce que j'aimerais, c'est que un cookie soit détecté pour ne pas devoir chaque fois se reconnecter...
pour le moment j'ai inséré ça sur la page dans laquelle on se connecte...
 
Voici le code de la page de saisie de login et mot de passe :
 

Code :
  1. <head>
  2. <style>
  3. BODY{
  4. scrollbar-face-color:'#0B391C';
  5. scrollbar-arrow-color:'#FFFFFF';
  6. scrollbar-track-color:'#0B391C';
  7. scrollbar-shadow-color:'#FFFFFF';
  8. scrollbar-highlight-color:'#FFFFFF';
  9. scrollbar-3dlight-color:'#FFFFFF';
  10. scrollbar-darkshadow-Color:'#FFFFFF';
  11. }
  12. </style>
  13. <link REL='StyleSheet' TYPE='text/css' HREF='theme/fstyle.css'>
  14.      <link REL='StyleSheet' TYPE='text/css' HREF='theme/fstyle.css'>
  15. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  16.   <link REL='StyleSheet' TYPE='text/css' HREF='theme/fstyle.css'>
  17. </head>
  18. <body bgcolor="0B391B" >
  19. <table border='0' cellpadding='0' cellspacing='0' width='915' height='513' align='center'>
  20.  
  21.   <tr>
  22.       <td align="left" valign="top" width="229" rowspan="5" height="513">
  23.   <br>
  24.  
  25. <table width='200' border='0' cellpadding='0' cellspacing='0'>
  26.      <tr>
  27.         <td background="images/mh.jpg" border="0" width="200" height="30" valign="middle">
  28.   <div align="center"><font class="menu">.:: Menu de navigation ::.</div></font>
  29.   </td>
  30.      </tr>
  31.      <tr>
  32.         <td background='images/mm.jpg'>
  33.   <font class='textnormal'>
  34.   <div align='center'>
  35.   <table width='75%' align='center' border='0'>
  36. <tr>
  37. <td width='50%' valign='bottom' align='center'><font class='textnormal'><br><b>Bienvenue</b><br><a class='menulien' href='pbas.php' target='_self'><br>> Accueil <</a><br>
  38. <a class='menulien' href='histoire.php' target='_self'><br>> Histoire de la troupe <</a><br>
  39. <a class='menulien' href='membres.php' target='_self'><br>> Membres <</a><br>
  40. <a class='menulien' href='fede.php' target='_self'><br>> La fédération <</a><br>
  41. <a class='menulien' href='loi.php' target='_self'><br>> La loi et la promesse<br>scoute <</a><br>
  42. <a class='menulien' href='calendrier.php' target='_self'><br>> Le calendrier <</a><br>
  43. <a class='menulien' href='photos.php' target='_self'><br>> Les photos <</a><br>
  44. <a class='menulien' href='liens.php' target='_self'><br>> Les liens <</a><br>
  45. </td>
  46. </tr>
  47. </table>
  48.   </td>
  49.      </tr>
  50.      <tr>
  51.         <td>
  52.             <img src='images/mb.jpg' border='0' alt='' width="200" height="25"></td>
  53.      </tr>
  54. </table>   &nbsp;
  55. <table width='200' border='0' cellpadding='0' cellspacing='0'>
  56.      <tr>
  57.         <td background='images/mh.jpg' border='0' width='200' height='29' valign='middle'>
  58.   <div align="center"><font class="menu">.:: Se connecter ::.</div></font>
  59.   </td>
  60.      </tr>
  61.      <tr>
  62.         <td background='images/mm.jpg'>
  63.   <font class='textnormal'>
  64. <div align="center">
  65. <br>
  66. <a class='menulien' href='connexion.php' target='_self'><img src='images/keylog.gif' border='0' width="29" height="29"><br>> Se connecter <</a><br><br>
  67. </div>
  68.   </td>
  69.      </tr>
  70.      <tr>
  71.         <td>
  72.             <img src='images/mb.jpg' border='0' alt='' width="200" height="25"></td>
  73.      </tr>
  74. </table>   &nbsp;
  75. <table width='200' border='0' cellpadding='0' cellspacing='0'>
  76.      <tr>
  77.         <td background='images/mh.jpg' border='0' width='200' height='29' valign='middle'>
  78.   <div align="center"><font class="menu">.:: Infos ::.</div></font>
  79.   </td>
  80.      </tr>
  81.      <tr>
  82.         <td background='images/mm.jpg'>
  83.   <font class='textnormal'>
  84.             <div align='center'><br>
  85. <script type="text/javascript" src="http://www.webdynamit.net/logo?choix=5&amp;login=la160sgp"> </script>
  86. </div>
  87.   </font>
  88.   </td>
  89.      </tr>
  90.      <tr>
  91.         <td>
  92.             <img src='images/mb.jpg' border='0' alt='' width="200" height="25"></td>
  93.      </tr>
  94. </table>  
  95.  
  96.  
  97.       
  98.   <td align="left" valign="top" width="596" height="21" colspan="4">
  99.       <td align="left" valign="top" width="90" rowspan="5" height="513">
  100.   &nbsp;<font class='textnormal'><tr>
  101.       <td align="left" valign="top" width="23" height="575">&nbsp;
  102.   <td align="left" valign="top" width="540" height="575">
  103.       <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0 height="156">
  104.         <TR>
  105.           <TD width=23 height=12>
  106.           <img border="0" src="images/bashg.jpg" width="23" height="29"></TD>
  107.           <TD width="100%" background=images/bashm.jpg height=12></TD>
  108.           <TD width=23 height=26>
  109.           <img border="0" src="images/bashd.jpg" width="23" height="29"></TD></TR>
  110.         <TR>
  111.           <TD width=23 background=images/basmg.jpg height="1"></TD>
  112.           <TD width="100%" bgColor=white height="135">
  113.             <DIV align=center style="width: 715; height: 129">              <img border="0" src="images/line.gif" width="333" height="9">
  114.               <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
  115.               <table border="0" width="100%">
  116.                 <tr>
  117.              <form method="post" action="login.php">
  118.                   <td width="48%" align="right"><font class="textnormal">Nom
  119.                     d'utilisateur : </font></td>
  120.                   <td width="52%"><b><font face="Verdana" size="1"><input type="text" name="pseudo_membre" size="25">
  121.                     </font></b></td>
  122.                 </tr>
  123.                 <tr>
  124.                   <td width="48%" align="right"><font class="textnormal">Mot de
  125.                     passe :</font></td>
  126.                   <td width="52%"><input type="password" name="passe_membre" size="25">
  127.                   </td>
  128.                 </tr>
  129.               </table>
  130.               <p style="margin-top: -; margin-bottom: -">
  131.     <input type="submit" name="Submit" value="S'identifier"></p>
  132.               </p>
  133.               <p style="margin-top: -; margin-bottom: -"><img border="0" src="images/line.gif" width="333" height="9">             </DIV></TD></form>
  134.           <TD width=23 background=images/basmd.jpg height="135"></TD></TR>
  135.         <TR>
  136.           <TD width=23 background=basbg.gif height=29>
  137.           <img border="0" src="images/basbg.jpg" width="23" height="29"></TD>
  138.           <TD width="100%" background=images/basgm.jpg height=29></TD>
  139.           <TD width=23 background=basbd.gif
  140.         height=29><img border="0" src="images/basbd.jpg" width="23" height="29"></TD></TR></TABLE>
  141.       <td align="left" valign="top" width="6" height="575">
  142. </table>


 
et voici la procédure PHP permettant de vérifier l'authentification :
 

Code :
  1. <?
  2. require("conf.php" );
  3. /*-----------------------------------------------------------------*/
  4. /* PROGRAMME PRINCIPAL   */
  5. /*-----------------------------------------------------------------*/
  6. // CONNEXION A LA BASE DE DONNEE
  7. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  8. 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;}
  9. // ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
  10. // MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
  11. $requete=mysql_db_query($sql_bdd,"select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"",$db_link) or die(mysql_error());
  12. // SI AUCUN ENREGISTREMENT NE CORRESPOND
  13. if(mysql_num_rows($requete)==0)
  14. {
  15. // REDIRECTION VERS LA PAGE ERREUR
  16. header("Location:$url_erreur" );
  17. }
  18. // SI LE LOGIN ET MOT DE PASSE SONT EXACTES  
  19. else
  20. {
  21. // CREATION D'UN IDENTIFIANT ALEATOIRE
  22. $taille = 20;
  23. $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
  24. srand(time());
  25. for ($i=0;$i<$taille;$i++)
  26.  {
  27.  $id.=substr($lettres,(rand()%(strlen($lettres))),1);
  28.  }
  29. // MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE  
  30. $requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"",$db_link) or die(mysql_error());
  31. // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE
  32. header("Location:$zone_membre?id=$id" );
  33. }
  34. // DECONNEXION MYSQL
  35. mysql_close($db_link);
  36. ?>
  37. <?
  38. require('config.inc.php');
  39. if (isset($_COOKIE["$cookie_name"]) && $_COOKIE["$cookie_name"] =="$cookie_value" && $cookie_use) {
  40. }
  41. else {
  42. if ($cookie_use) {
  43. setcookie($cookie_name, $cookie_value, time()+$cookie_life, "" ); }
  44. }
  45. ?>


 
voilà, je sais que le code est pas propre (pas d'indentation, pas d'utilisation ou peu pour les fonts...)  
mais bon, mon problème réside dans le fait de savoir comment indiquer que le cookies doit stocker telle ou telle information à partir de la base de donnée, et également que mettre et dans quelle page mettre le code qui :
 
si cookie : alors pas besoin d'identification mais il charge la page "cachée" )
si pas cookie, alors on a l'affichage de saisie d'utilisateur et de mot de passe.
 
J'espère que vous comprendrez, merci du coup de pouce...


Message édité par neojack le 21-10-2003 à 19:19:12
Reply

Marsh Posté le 21-10-2003 à 18:27:09   

Reply

Marsh Posté le 21-10-2003 à 18:33:42    

Reply

Marsh Posté le 21-10-2003 à 18:38:27    

oui mais ça répond pas à mes questions... j'avais déjà vu avant ce site, mais je ne trouve pas réponses à mes problèmeS...

Reply

Marsh Posté le 21-10-2003 à 19:22:39    

up !!!

Reply

Marsh Posté le 21-10-2003 à 20:11:34    

achète un bouquin alors

Reply

Marsh Posté le 21-10-2003 à 20:17:48    

j'ai un bouquin mais je trouve pas mon bonheur.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed