IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Sessions PHP : besoin d'aide !!


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Par défaut Sessions PHP : besoin d'aide !!
    Je suis débutant en PHP, jusqu'à présent je n'ai fais que de l'ASP.
    Je n'ai pas bien compris comment marche l'histoire des sessions en PHP alors qu'en ASP cela me parait tout simple.
    En utilisant les options de DreamWeaver j'arrive à peu près à faire à protéger l'accès de mes pages mais c'est du tout cuit et quand je relis mon script je n'y comprend pas la moitié!!

    En fait, si vous pouviez m'aider, j'aimerai reproduire le script suivant ASP en PHP :

    verif.asp
    <%
    id=request.Form("i")
    pass=request.Form("p")
    if id="" or pass="" then
    response.Redirect "ident.asp?error=vide"
    end if

    set connecteur = server.CreateObject("adodb.connection")
    chaine = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &("\stage12\DATA\formasp.mdb")
    pw = "*****"
    connecteur.open chaine,,pw

    set rs=server.CreateObject("adodb.recordset")
    requete="SELECT * FROM Identifiants WHERE id='"&id&"' AND pwd='"&pass&"'"
    rs.open requete, connecteur,1,2,1
    if rs.recordcount>0 then
    session("user")=rs("droits")
    session("pseudo")=rs("pseudo")
    rs.close
    connecteur.close
    set rs=nothing
    set connecteur=nothing
    response.redirect "liste3.asp"

    else
    rs.close
    connecteur.close
    set rs = nothing
    set connecteur = nothing
    response.redirect "ident.asp?error=faux"

    end if
    %>

    j'ai bien entendu auparavant un formulaire avec 2 champs : i et p


    Et ce script la c'est le test à faire à chaque page qui est consultable par l'administrateur, mais comme je n'arrive pas gérer les sessions je ne vois pas comment l'écrire en PHP :

    testadmin.asp
    <%
    response.cachecontrol = "no-cache"
    if (session ("user")<>"ADMIN") then
    Response.redirect("../erreur_session.htm")
    end if
    %>



    Merci d'avance pour votre aide!!!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    Tu comprends pas les sessions?????

    Tu as pas du chercher des masses sur le web en tutoriel.

    Y a rien de plus simple.

    tu veux affecter une variable de session du fais $_SESSION['nom_variable'] = ce_que_tu_veux;

    et cette variable est transmise de page en page.

    tu veux recuperer la valeur.

    $mavaleur = $_SESSION['nom_variable'];


    Voila je vois rien de compliqué la dedans pour un début.

    Après y a des suptilités comme pour tout.

  3. #3
    Invité
    Invité(e)
    Par défaut
    n'oublie pas le session_start au debut de chaque page sinon ça sert a rien

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 77
    Par défaut
    Citation Envoyé par rbaatouc
    n'oublie pas le session_start au debut de chaque page sinon ça sert a rien
    session_start à mettre avant tout affichage de code HTML bien sûr!

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par fuhraih
    session_start à mettre avant tout affichage de code HTML bien sûr!
    oui c'est vrai ça me paraissait evident

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 77
    Par défaut
    Citation Envoyé par rbaatouc
    oui c'est vrai ça me paraissait evident
    Oui, mais combien de messages sont envoyés sur ce forum à cause de ça!!! lol

  7. #7
    Membre chevronné Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <%
    response.cachecontrol = "no-cache"
    if (session ("user")<>"ADMIN") then
    Response.redirect("../erreur_session.htm")
    end if
    %>
    devrait pouvoir être traduit par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?
    session_start();
    if ($_SESSION["user"]!="ADMIN"){
    die('<META HTTP-equiv="refresh" content=0;URL="../erreur_session.htm">');
    }
    ?>

  8. #8
    Invité
    Invité(e)
    Par défaut
    Si ça peut t'aider c'est trés bien expliquer :
    http://cyberzoide.developpez.com/php4/faqsession/

  9. #9
    Membre émérite Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Par défaut
    Pour les sessions, tu dois débuter toutes tes pages à "protéger" par:
    <?php
    session_start
    ();
    ?>
    ensuite pour récupérer les valeurs de tes champs du formulaire, tu dois utiliser la variable $_POST ou $_GET selon que l'envoi de ton formulaire par la méthode post ou get.

    enfin tu protège tes pages et redirige vers la page login par:

    <?php
    if(!isset(_SESSION&#91;'login'])) header('location: login.php');
    ?>
    Si tu as du mal pour ecrire ton script, je t'invite à lire les tutoriels présents sur ce site: http://php.developpez.com/cours/

Discussions similaires

  1. Début avec PHP, besoin d'aide sur outils
    Par Enill dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 06/08/2011, 15h28
  2. [PHP] Besoin d'aide pour débutant
    Par franzy51 dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 12/08/2008, 13h52
  3. Réponses: 4
    Dernier message: 08/06/2006, 20h41
  4. [Word] PHP : besoin d'aide
    Par zamoto dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 01/05/2006, 17h32
  5. [Upload] Code php, besoin d'aide
    Par tilou dans le forum Langage
    Réponses: 3
    Dernier message: 08/02/2006, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo