Maintenir Session
Fermé
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
-
Modifié par TRUNCKS le 22/05/2011 à 08:00
le père - 22 mai 2011 à 14:58
le père - 22 mai 2011 à 14:58
A voir également:
- Maintenir Session
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- Teamviewer code de session expiré ✓ - Forum Windows XP
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? ✓ - Forum Windows 7
- Estelle vient de verrouiller sa session d’ordinateur. que peut-on dire ? ✓ - Forum Windows
- Www.yahoomail.com ouverture de session ✓ - 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 ?
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
7
22 mai 2011 à 10:54
22 mai 2011 à 10:54
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() ?
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
7
22 mai 2011 à 12:07
22 mai 2011 à 12:07
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_user, $sql_passwd) or trigger_error(mysql_error(),E_USER_ERROR);mysql_select_db($sql_bdd, $conn); // Récupération des variables necessaires à la vérification du champ 'actif' de la BDD $login = mysql_real_escape_string($_POST['pseudo_membre']); // Récupération de la valeur du champ actif pour le login $login $sql = "SELECT actif FROM utilisateurs WHERE pseudo = '$login' 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 LOGIN ET // MOT DE PASSE SAISIS A LA PAGE INDEX.HTM $requete="select pseudo,passe from utilisateurs where pseudo=\"$pseudo_membre\" and passe=\"$passe_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 LOGIN ET MOT DE PASSE 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 passe=\"$passe_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];
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
7
22 mai 2011 à 12:44
22 mai 2011 à 12:44
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.