Maintenir Session
TRUNCKS Messages postés 1019 Date d'inscription Statut Membre Dernière intervention -
le père - 22 mai 2011 à 14:58
le père - 22 mai 2011 à 14:58
A voir également:
- Maintenir Session
- Forum Yahoo mail
- Forum finances
- Forum Gmail
- Forum Logiciels
- Forum Yahoo mail
7 réponses
Bonjour
Pour maintenir une session, il suffit de faire appel à session_start() au début de chaque script.
Si cette ligne n'est pas conf.php, il faut que tu l'ajoutes (avant le require("conf.php"); ou dans le conf.php)
D'autre part, d'où vient ta variable $id ? Si c'est d'une session, tu aurais dû l'initialiser quelque part avec $id=$_SESSION['id'], est-ce ben le cas ?
Pour maintenir une session, il suffit de faire appel à session_start() au début de chaque script.
Si cette ligne n'est pas conf.php, il faut que tu l'ajoutes (avant le require("conf.php"); ou dans le conf.php)
D'autre part, d'où vient ta variable $id ? Si c'est d'une session, tu aurais dû l'initialiser quelque part avec $id=$_SESSION['id'], est-ce ben le cas ?
Merci a toi,
En fait l'id n'est pas le ID auto incrémenté de la bdd mais un variable qui 'accueille l'identifiant aléatoire pour la connexion.
En fait l'id n'est pas le ID auto incrémenté de la bdd mais un variable qui 'accueille l'identifiant aléatoire pour la connexion.
De quel identifiant aléatoire parles-tu alors ? ou apparaît-il dans le script de ton 1er message ?
Mais surtout, as-tu bien partout des session_start() ?
Mais surtout, as-tu bien partout des session_start() ?
Voilà la page qui transmet les informations sur l'autre:
( Non je n'ai pas utilisé le session start, car en fait je ne sais pas exactement comme ça marche. Il faut le commercer où et le mettre où ? )
Merci à toi pour tes réponses
( Non je n'ai pas utilisé le session start, car en fait je ne sais pas exactement comme ça marche. Il faut le commercer où et le mettre où ? )
Merci à toi pour tes réponses
<?php require("conf.php"); /*-----------------------------------------------------------------*/ /* PROGRAMME PRINCIPAL */ /*-----------------------------------------------------------------*/ // CONNEXION A LA BASE DE DONNEE $conn = mysql_connect($sql_serveur, $sql_, $sql_wd) or trigger_error(mysql_error(),E__ERROR);mysql_select_db($sql_bdd, $conn); // Récupération des variables necessaires à la vérification du champ 'actif' de la BDD $ = mysql_real_escape_string($_POST['pseudo_membre']); // Récupération de la valeur du champ actif pour le $ $sql = "SELECT actif FROM utilisateurs WHERE pseudo = '$' AND actif='1'"; $result = mysql_query($sql)or die(mysql_error()); $num_rows=mysql_num_rows($result); if( $num_rows == 1 ) $actif = 1; else $actif = 0; // ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE ET // MOT DE E SAISIS A LA PAGE INDEX.HTM $requete="select pseudo,e from utilisateurs where pseudo=\"$pseudo_membre\" and e=\"$e_membre\""; $row2 = mysql_query($requete)or die(mysql_error()); // SI AUCUN ENREGISTREMENT NE CORRESPOND if(mysql_num_rows($row2)==0) { // REDIRECTION VERS LA PAGE ERREUR echo "<script type=\"text/javascript\">document.location.href='erreur.htm';</script>"; } // SI LE ET MOT DE E SONT EXACTES else { // Il ne nous reste plus qu'à tester la valeur du champ 'actif' pour // autoriser ou non le membre à se connecter if($actif == '1') // Si $actif est égal à 1, on autorise la connexion { //... // On autorise la connexion... // 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 $requete2="update utilisateurs set id=\"$id\" where pseudo=\"$pseudo_membre\" and e=\"$e_membre\""; $row3 = mysql_query($requete2)or die(mysql_error()); // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE echo "<script type=\"text/javascript\">document.location.href='bdd/index.php?id=$id';</script>"; } else // Sinon la connexion est refusé... { //... echo "<script type=\"text/javascript\">document.location.href='enregistrement.htm';</script>";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question Avais-tu lu mon tout premier message ?
Je t'avais dit qu'il fallait un session_start() et je t'avais dit où le mettre.
Tu parles de session, mais il n'y a rien du tout dans ton programme qui y ressemble.
Je résume :
Tu DOIS avoir session_start() au début de chacun de tes scripts (avant d'envoyer quoi que ce soit au client)
Dans une page, tu enregistres les variables à garder dans le tableau superglobal $_SESSION :
$_SESSION['truc']=$unevariable;
$_SESSION['machin']=$autrevariable;
Dans l'autre page, tu récupères tes variables (après le session-start();):
$unevariable=$_SESSION['truc'];
$autrevariable=$_SESSION['machin];
Je t'avais dit qu'il fallait un session_start() et je t'avais dit où le mettre.
Tu parles de session, mais il n'y a rien du tout dans ton programme qui y ressemble.
Je résume :
Tu DOIS avoir session_start() au début de chacun de tes scripts (avant d'envoyer quoi que ce soit au client)
Dans une page, tu enregistres les variables à garder dans le tableau superglobal $_SESSION :
$_SESSION['truc']=$unevariable;
$_SESSION['machin']=$autrevariable;
Dans l'autre page, tu récupères tes variables (après le session-start();):
$unevariable=$_SESSION['truc'];
$autrevariable=$_SESSION['machin];
D'accord je comprend mieux maintenant, c'est la même chose que te transmettre un variable d'une page à une autre mais dans une session c'est ça ?
Je ne connaissais pas le principe en fait.
Il faut sécuriser d'une façon particulière au non ?
Merci en tout cas !
Je ne connaissais pas le principe en fait.
Il faut sécuriser d'une façon particulière au non ?
Merci en tout cas !
C'est le moyen le plus simple de transmettre des variables entre toutes les pages d'un site, à ma connaissance.
Il n'y a pas de façon particulière de sécuriser : il faut de toutes manières se méfier de toutes les variables qui viennent de l'extérieur en PHP. Mais en général (pas forcément toujours), les variables de session sont mémorisées dans un fichier et donc peu susceptibles d'être modifiées hors du contrôle du script.
Il n'y a pas de façon particulière de sécuriser : il faut de toutes manières se méfier de toutes les variables qui viennent de l'extérieur en PHP. Mais en général (pas forcément toujours), les variables de session sont mémorisées dans un fichier et donc peu susceptibles d'être modifiées hors du contrôle du script.