begin process at 2012 05 31 14:10:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

redirection et session


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

redirection et session

jeudi 15 juin 2006 à 14:52:31 | redirection et session

sparh

Bonjour,
je bloque sur un problème de session.
J'essai de créer une zone membre à l'aide des sessions. Pour l'instant tout va bien et j'ai donc un lien qui permet de s'enregistrer et d'accéder à la zone membre.
Par contre j'aimerai sécuriser des pages (autre que la zone membre) sans que l'utilisateurs ai besoin de passer par la zone membre.
En gros il clique sur le lien, un message lui dit qu'il faut être enregisré pour accéder à la page, il s'enregistre et accède à la page.
Voilà le code de ma page connexion qui permet de s'enregistrer:

<code><div align="center">
  <table width="19%" height="164"  border="0" align="center">
    <tr>
      <td align="center" valign="top"><form name="form1" method="post" action="verifinscription.php">
      <table width="89%" height="151"  border="2">
        <tr>
          <td><div align="center" class="titre1">
            Email</div></td>
        </tr>
        <tr>
          <td><div align="center">
            <label>
            <input name="email" type="text" id="email" value="<? echo"$cokmail";?>" size="20">
            </label>
          </div></td>
        </tr>
        <tr>
          <td><div align="center" class="titre1">Password</div></td>
        </tr>
        <tr>
          <td><div align="center">
            <input name="passe" type="password" id="passe" value="<? echo"$cokpasse";?>" size="20">
          </div></td>
        </tr>
        <tr>
          <td><div align="center"><label>           
            <input name="action" type="radio" value="connect" checked>
            <br>
            <input type="submit" name="Submit" value="connexion">
            <br>
            </label>
              <div align="center"></div>
              <div align="center"><a href="inscription.php"><font size="2">Inscription</font></a>&nbsp;
                <label>
              <?php
              @include"config.php";
echo "<a href='passeperdu.php'><font size=\"2\">pass perdu</font></a>";
           
           
            ?>
              <br>
                </label>
          </div>
              </div></td>
        </tr>
      </table>
      </form></td>
    </tr>
</table></div></code>

Et voilà verifinscription
<code><?php
$db = mysql_connect($serveur, $login, $password);
mysql_select_db($base,$db);
$pseudo=htmlspecialchars($HTTP_POST_VARS["pseudo"]);
 $email=$HTTP_POST_VARS["email"];
$passe=htmlspecialchars($HTTP_POST_VARS["passe"]);
$aujourdhui = date("d/m/Y");
$sql = "INSERT INTO $table (pseudo,passe,email,nom,prenom,age,sexe,pays,departement ,ville ,cdp,adresse,telephone,portable,fax,site,mot,image,date ,ok,val) VALUES ('$pseudo', '$passe', '$email','$nom','$prenom','$age','$sexe','$pays','$departement','$ville','$cdp','$adresse','$telephone','$portable','$fax','$site','$mot','avatar/100.gif','$aujourdhui','$ok','$val')";
header("Location: fichemembre.php?");exit;
}
if ($action == "connect")
{
session_start();    session_register("email");     session_register("passe");
//récuperation des champs du formulaire
$email=$HTTP_POST_VARS["email"];    $passe=$HTTP_POST_VARS["passe"];
$db = mysql_connect($serveur, $login, $password);
mysql_select_db($base,$db);
 
$sql="select * from $table where passe like '$passe' and email like '$email'";
$result= mysql_query($sql);
$nb=mysql_num_rows($result);
$rs=mysql_fetch_array($result);
if($email == ""||$passe == ""){echo" <center>Le champs <b>email et password</b> sont obligatoires merci !</center>"; exit; }
if ($nb==0)
{echo"<center><b>l'email ou le mot de passe n'est pas connu</b><br><br><br><A HREF='index.php'><FONT SIZE='+1'><B>retour</B></FONT></center></A>";exit;

 }
if ($nb==1)
{$message="<FONT SIZE='+3'<b>salut<br> $email<br> vous êtes bien identifié</b></font>";
setcookie("cokmail",$email,time()+365*24*60*60) ;
//mise en session de l'email et du passe
$email_session=$email;   $code_session=$rs["code"];}
 include("config.php");

?
</code>

Voilà, si quelqu'un pouvait m'aider ce serait cool, merci d'avance
jeudi 15 juin 2006 à 15:21:02 | Re : redirection et session

pcgpegase

Bonjour,

Si tu veux protéger des pages pour que les personnes qui ne sont pas enregistrées soient redirigées vers ton formulaire de connexion, tu as juste à insérer ce petit bout de code à la première ligne de chacune des pages que tu veux protéger :

"if (!isset($_SESSION['nom_de_ta_variable'])) { header('Location: http://tonsite.com/tonformulaire.php'); }"

c'est tout :)

bye


jeudi 15 juin 2006 à 15:57:00 | Re : redirection et session

sparh

super, merci,
et maintenan comment faire lorsqu'il a été redirigé sur la page "tonformulaire.php" (mon formulaire est là haut ;), s'enregistre et clic sur ok ,
ne soit pas redirigé vers la zone membre mais vers le lien sur lequel il a cliqué.
Je récapitule:
1er lien= zone membre -> clic="monformulaire.php" puis fichemembre (ca c ok)
2ème lien = page 2 -> clic --> page protégée -> redirection monformulaire.php ->enregistrement (jusqu'ici ca va)-> redirection page 2 (là j'arrive pas!)
3ème lien = page 3 -> clic --> page protégée -> redirection monformulaire.php ->enregistrement -> redirection page 3
Voilà j'ai essayé d'être clair mais c pas facile,
merci d'avance
jeudi 15 juin 2006 à 16:07:41 | Re : redirection et session

pcgpegase

Tu dois pouvoir le faire avec le REFERER.
Dans ton fichier formulaire.php tu déclares une variable : $var = $_SERVER['HTTP_REFERER'];
Cette fonction permet de te donner l'adresse de la dernière page.
Et au moment où il valide le formulaire, si c'est ok, tu le rediriges sur le REFERER :)

Si tu comprends pas trop, je te ferais un truc quand je rentrerais du taff.

bye


jeudi 15 juin 2006 à 17:15:02 | Re : redirection et session

sparh

ok, je déclare la variable <code>$var = $_SERVER['HTTP_REFERER'];</code> en haut du script formulaire php
puis à la place de
<code>header("Location: fichemembre.php?");exit;
}</code>
je met
<code>header("Location: $_SERVER['HTTP_REFERER'];");exit;
}</code>

Mais ca marche pas , l'erreur renvoyé est Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/109/free.fr/a/b/leschagnasses/connect.php on line 167
la ligne 167 étant justement celle avec header("Location....

jeudi 15 juin 2006 à 17:25:10 | Re : redirection et session

pcgpegase


<code>header("Location: $_SERVER['HTTP_REFERER']");exit;

Y a pas de ";" apres REFERER :)

jeudi 15 juin 2006 à 18:03:09 | Re : redirection et session

sparh

voilà, j ai donc changé:
header("Location: $_SERVER['HTTP_REFERER']");exit;
}
et il me renvoi tjrs la même erreur même ligne?
Merci en tous cas c cool de m'aider
samedi 17 juin 2006 à 09:09:13 | Re : redirection et session

sparh

Salut, après bonne galère j'ai réussis (enfin presque)
Il y avait une erreur de syntaxe, voici par quoi j'ai remplacé:
header("Location: {$_SERVER['HTTP_REFERER']}");
Mais voilà cette fonction permet de retourner la page d'ou vien le visiteur mais pas celle ou il voulait aller:
je m'explique
le visiteur est sur la page A; il clique sur un lien pour aller sur la page B, cette dernière est protégée, il est donc redirigé
vers le formulaire d'inscription. Il remplis les champs et quand il clique sur ok il accède à la page B.
J'ai plein de page à protéger, donc il me faut une fonction qui récupère l'url de la page demandée et la renvoie une fois
le formulaire correctement remplis. J'éspère avoir été clair,
Merci d'avance
++
samedi 17 juin 2006 à 12:24:03 | Re : redirection et session

pcgpegase

Bonjour,

A ma connaissance le seul moyen que tu as pour cela, c'est d'utiliser le REFERER...
Quand ton visiteur est sur la page A il veut aller sur la page B, ça le renvoie sur le formulaire et donc le REFERER est égal à la page B, la dessus un on est d'accord.
Ce que tu peux faire c'est quand il va sur la page B, vu qu'il n'est pas connecté, il va être renvoyé au formulaire, juste avant de le rediriger, tu peux déclarer une variable session : $_SESSION['referer'] (par exemple) = $_SERVER['HTTP_REFERER'];
Ce qui aura comme valeur la page A.
Puis dans ton formulaire, lorsqu'il est validé, tu le rediriges avec cette variable.

Tiens moi au courant :)

bye


samedi 17 juin 2006 à 13:37:45 | Re : redirection et session

sparh

Donc voilà:
sur ma page B (protégée) je met tout en haut:
<?php
$_SESSION['referer'] = $_SERVER['HTTP_REFERER'];
if (!isset($_SESSION['email'])) { header('Location: monformulaire.php'); }
?>

Sur ma page "monformulaire":
header("Location: {$_SERVER['HTTP_REFERER']}");
exit;}
mais ca me renvoi nul part!!
j'ai essayé de remplacer par
header("Location: fichemembre.php?");exit;
}
et la ca marche j'atteint bien fichemembre.php



1 2

Cette discussion est classée dans : mysql, db, email, passe, session


Répondre à ce message

Sujets en rapport avec ce message

Problème session zone membres [ par Florent06 ] Bonjour Lorsque je me connecte, je suis redirigé vers la page zonemembre.php et voici son code : session_start(); ligne 2 require 'conf.php'; if( UPDATE de plusieurs tables [ par noreille79 ] J'ai un souci lors de la mise à jour (par les membres)des tables de ma base de données. Il modifie mon mot de passe même si je lui en ai pas déclaré Problème identification d'un client [ par rasengan7 ] Voilà mon problème est simple,j'ai dans ma page identification une boucle, mais je n'arrive jamais à afficher les pages de compte.Voici le code:<?incl Jeu d'enregistrements Conditions multiples... [ par Sniark ] Bonjour à tous !Je cherche à faire un jeu d'enregistrements avec conditions multiples. Mon navigateur me trouve une erreur de syntaxe et je trouve pas Session, déconnexion marche pas, ID conservé [ par glachant ] bonjour,je ne comprends pas, quand je déconnecte, et que je me reconnecte (sans fermer IE), l'id de la session est repris.si je me déconnecte, que je Pb affichage page [ par rasengan7 ] Bnojour à tous, j'ai un problèpme avec ma page identification, en fait je veux afficher le bouton déconnexion en vert dès ke l'utilisateur s'est corre Formulaire de mot de passe perdu [ par Sub_Mat ] Bonjour à tous,Bon voila, je suis en train de mettre en place un système de récupération de mot de passe sur mon site, et j'ai beau chercher, mais je php/mysql [ par AZIRIAZIZ ] bonjour et merci pour de bien voiloir m aider $DB_BASE = 'mabase'; $DB_LOGIN = 'MonLogin'; $DB_PASSE = 'passe'; $DB_SERVEUR = 'localhost'; que dois je comment connecter a la base [ par maxinissa ] voila mon code source: <?PHP $mysql_host="127.0.0.1"; $mysql_user="root"; $mysql_password=""; $mysql_base="forum"; //if (empty($pseudo)||empty($s mysql_create_db() non supporté par PHP5 ? [ par begueradj ] Bonjour; [code=php][/code] à l'exécution, je reçois comme message d'erreur : fatal error, call to undefined function mysql_create_db() on line 2.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales