Recuperation de variables php

Résolu
Bonjour,

J'ai créer un outils de connexion sur une page "accueil.php".
J'aimerais que les utilisateurs de mon site puissent rester connecter lorsqu'ils changent de page .
Est-ce qu' il y a un moyen de recuperer des variable php issues de la page "accueil.php" pour les reutiliser sur les autres pages.

j'espere avoir été assez clair!!
Configuration: Windows XP
Firefox 2.0.0.12

7 réponses

  1. Salut,

    Un exemple simple :

    Dans ta page d'accueil
    session_start();
    $_SESSION['connexion'] = ...
    


    Dans les autres pages :
    session_start();
    echo $_SESSION['connexion'];
    
    1. a ba ca marche tout seul merci bien!!!
  2. re, ben moi perso c'est ce que j'utilise et ca fonctionne , ma fois si tu veux pas t'en servir,fais comme il te plait !!!
    1. le truc c ke je compren pa tro ske je doi faire dans ske tu me donne je chercher pluto un script php pluto qu'un script sql
  3. si tu fais dans le meme style la base sapelera : membre et contiendra 3 champs id/int(11)/null non/auto_increment/cle primaire le 2eme login/text/latin1.....swedich../null non le 3 eme sera pass_md5/text/latin1...swedich..ci/nullnon.............................slt
    1. jvois pas trop le rapport avec le sujet en fait t'essaie de me dire ko?
  4. et la pour une autre page :::::

    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    header ('Location: index.php');
    exit();
    }
    ?>

    apres ca les balises html, head,,,,

    apres dans le body::::

    <div align="center">Bienvenue   <?php echo htmlentities(trim($_SESSION['login'])); ?>!
    </div>

    <div align="center"><a href="deconnexion.php">Déconnexion</a></div>
    1. et si sur ta page daccueil tu mettas comme ca ::::::::

      <?php
      if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
      if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
      $base = mysql_connect ('localhost', 'root', '');
      mysql_select_db ('membre', $base);
      $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      $data = mysql_fetch_array($req);
      mysql_free_result($req);
      mysql_close();
      if ($data[0] == 1) {
      session_start();
      $_SESSION['login'] = $_POST['login'];
      header('Location: membre.php');
      exit();
      }
      elseif ($data[0] == 0) {
      $erreur = 'Compte inexistant.';
      }
      else {
      $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
      }
      }
      else {
      $erreur = 'Au moins un des champs est vide.';
      }
      }
      ?>

      la tu mets tout le reste<html>

      dans le body un peu pres comme ca:::::

      <form action="index.php" method="post">
      Login : <input name="login" type="text" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>" size="17" maxlength="17">
      <br /><br />
      Mot de passe :
      <input name="pass" type="password" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" size="17" maxlength="20">
      <br /><br />
      <div id="top_login_remember">
      <label id="rememberme_label" for="rememberme">
      <span>Mémoriser  compte </span></label>
      <input type="checkbox" name="rememberme" id="rememberme" />
      </div><br /><br />
      <input type="submit" name="connexion" value="Connexion">
      </form><br /><br />
      <div id="inscription"><a href="inscription.php">Vous inscrire</a></div>
      <?php

      if (isset($erreur)) echo '<br /><br />',$erreur;
      ?>

      Ca c"est pour l'index.....
      1. C'est exact tu peux grace aux variables de SESSION.

        Sur chaque pages ou tu en as besoins tu met session_start(); (Attention a ne pas mettre d'html avant cette ligne sinon c'est le crash :))

        Ensuite tu initialises comme tu veux $_SESSION['etatCo'] = "LA VALEUR QUE TU VEUX";

        Sur toutes les pages que tu veux tu pourras récupérer cette variables! Magic :)

        Bonne continuation
        1. j'initialise $_SESSION['etatCo'] sur les pages où je veux recupere la variable où alors sur ma page d'accueil où j'ai ma variable??

          voila ske jai fai pour linstant :

          sur ma page d'accueil :

          <?php
          $connecter = "Bienvenue ".$row['civilite']." ".$row['nom']."";
          echo $connecter;
          ?>


          sur la page (que je nommerai page 2) où je veux recupere ma variable $connecter :

          <?php
          session_start();
          ?>

          ...
          <?php
          $_SESSION['connexion'] = $connecter;
          echo $connecter;
          ?>


          le problème c kil ne reconnai pa ma variable $connecter sur la page 2!!
      2. ben normalement oui en mettant en haut de toute tes pages :::::

        <?php
        session_start();
        ?>