Sessions sous free

Sessions sous free - PHP - Programmation

Marsh Posté le 27-11-2003 à 21:16:32    

hello tlm !!
Jai un ptit probleme avec les sessions sous free, pourant jai bien mit mes pages ds un fichier sessions a la racine comme il le demmende...
Voila jai fait un script mais qui ne marche pas pourtant je ne voit pas d'erreur  .... Les visiteurs sont tjrs reenvoyés sur la page d'indentification comme si le pass n'etait pas bon ...  
 
Voici mon script :  
 
formulaire d'identification :  
 
<form name="form1" method="post" action="access.php">  
<br>  
<table width="15%" border="0" align="center" cellpadding="0" cellspacing="0">  
<tr>  
<td><div align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><strong>Pass :  
</strong></font>  
<input name="motdepass" type="password" id="motdepass">  
</div></td>  
</tr>  
<tr>  
<td><div align="center">  
<input type="submit" name="Submit" value="Ok ! ">  
</div></td>  
</tr>  
</table>  
<div align="center"></div>  
<p align="left">&nbsp; </p>  
</form>  
 
page access.php :  
 
 
<?  
 
 
 
 
if ( $motdepass == 'monpass')  
 
 
 
{  
 
 
session_start();  
 
 
 
session_register('motdepass');  
 
 
 
 
header("Location: access2.php" );  
 
 
 
}  
 
else{  
 
// Si les password et login ne sont pas valides, on affiche un message d'erreur  
 
echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
 
<html>  
 
<head>  
 
<title>Untitled Document</title>  
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
 
</head>  
 
<body>  
 
<script>  
 
function entree()  
 
{  
 
if (!alert("Mauvais mot de passe !" ))  
 
history.go(-1);return " "  
 
}  
 
document.writeln(entree())  
 
</SCRIPT>  
 
</body>  
 
</html>';  
 
}  
 
 
 
?>  
 
script de verification aux debut de chaque page a protégé :  
 
<? session_start();  
 
 
 
if (!session_is_registered('motdepass'))  
 
{  
 
header("Location: passvisit.php" );  
 
}  
 
?>  
 
voila merci a tous !!

Reply

Marsh Posté le 27-11-2003 à 21:16:32   

Reply

Marsh Posté le 28-11-2003 à 15:08:26    

http://forum.hardware.fr/forum2.ph [...] subcat=393
 
 
 :o  
 
en gros faut mettre ton session start avant tout le reste

Code :
  1. <?
  2. session_start();
  3. ?>
  4. reste du code php et html


Message édité par gamin_ le 28-11-2003 à 15:09:25
Reply

Marsh Posté le 28-11-2003 à 19:26:30    

merci pour ton aide !  
mais comment je fait avec mon if???  

Reply

Marsh Posté le 28-11-2003 à 21:16:55    

ca te demarre pas la session?
tu a verifié que les pass concordent?

Reply

Marsh Posté le 28-11-2003 à 23:38:49    

wi je suis sur que je tappe le bon pass!! J'ai changer plusieurs fois de pass et demender a plusieurs amis mais il y a tjrs le meme probleme.... :s ralala qu'elle galere !!  
 

Reply

Marsh Posté le 29-11-2003 à 08:28:47    

Crok a écrit :

pourant jai bien mit mes pages ds un fichier sessions a la racine comme il le demmende...


C'est pas vraiment ce qu'ils demandent de faire. Il suffit de créer un dossier sessions qui sera utilisé pour entreposer justement les sessions. Il ne faut pas y mettre tes fichiers dedans.
 

Citation :

Le gestionnaire de session est activé sur Free. Par défaut, il s'agit des sessions 'fichiers' mais vous pouvez bien sûr développer votre propre systême.
 
Afin de permettre une gestion transparente des sessions, l'option --enable-trans-sid est activée. Elle permet une réécriture des URLs ou l'envoi de cookies permettant de suivre votre visiteur.
 
important : Pour que vos sessions 'fichiers' (mode par défaut) fonctionnent, vous devez créer un répertoire "sessions" (en minuscules sans les guillemets) à la racine de votre site Web (ou du cas échéant, de votre site Web secondaire). Sinon un message d'erreur vous signalant l'impossibilite de sauvegarder les sessions apparaitra.


Il n'est pas dit de faire fonctionner ses script dans ce dossier.

Reply

Marsh Posté le 29-11-2003 à 10:17:06    

Crok a écrit :

merci pour ton aide !  
mais comment je fait avec mon if???  
 


 
bah tu fais ton startsession avant ton if...
pour ma part je vais taper ma base sql pour verifier le mot de passe
 
ci joint un bout de code pour ma page login.php (l'equivalent de ton  access.php)

Code :
  1. <?
  2. session_start();
  3. ?>
  4. <HTML>
  5. <HEAD>
  6. <title>Le Repere du PERE NOEL et de ses Rennes</title>
  7. <LINK REL=STYLESHEET HREF="style.css" TYPE="text/css">
  8. </HEAD>
  9. </HTML>
  10. <?
  11. //On recupere les donnÚes du formulaire precedant
  12. $login = $_POST['login'];
  13. $password = $_POST['pass'];
  14. // ParamÞtre de connexion serveur
  15. include "db.inc.php";
  16. connecte_db();
  17. // Requete
  18. $query = "SELECT * FROM people WHERE LOGIN ='" . $login."' and PASSWORD='".$password."'";
  19. $res=mysql_query($query) or die ("<br>Requete invalide : <b>".$query."</b>" );
  20. $num_rows = mysql_num_rows($res);
  21. if ($num_rows !=1)
  22. {
  23.  echo "le login <b>$login</b> ou le password <b>$password</b> ne sont pas correct essaie encore";
  24. echo "<br>Attention il faut respecter les majuscules et les minuscules";
  25. echo "<br><center>";
  26. echo "<a href='index1.php'>cliquer ici<br>";
  27. Echo "<img src='pic/fouetard.jpg' border='0'><br>";
  28. echo "cliquer ici</a></center>";
  29. }
  30. else
  31. {
  32. echo 'Ok !, le login <b>'.$login.'</b> est accepté';
  33.     echo '<br><center>';
  34.     echo "<a href='liste.php''>cliquer ici<br><img src='pic/noel.jpg' border='0'><br>cliquer ici</a></center>";
  35. // on fait une boucle qui va faire un tour pour chaque enregistrements  
  36. while($data = mysql_fetch_array($res))
  37.  {
  38.     //echo '<b>'.$data['NOM'].' '.$data['PRENOM'].'</b>';  
  39.     $_SESSION['nom']=$data['NOM'];
  40.  $_SESSION['prenom']=$data['PRENOM'];
  41.  $_SESSION['login']=$data['LOGIN'];
  42.  $_SESSION['password']=$data['PASSWORD'];
  43.  $_SESSION['counter']=$data['COUNTER'];
  44.  $_SESSION['counter'] += 1;
  45. ......


petite explication comme chaque couple login pass est unique la requete

Code :
  1. $query = "SELECT * FROM people WHERE LOGIN ='" . $login."' and PASSWORD='".$password."'";


me retourne un unique resultat (d'ou le num_rom=1) sinon le ca veut dire que log pass sont pas bon
 
 

Reply

Marsh Posté le 29-11-2003 à 12:02:31    

merci bcp c'est tres simpas de partager tes scripts!!! mais en faite il suffisé d'autoriser les cookie sessions ... donc enfait le script marché correctement...  
Aller ++ et encore merci !!!!!!

Reply

Sujets relatifs:

Leave a Replay

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