[PHP] Soucis de session ! NEED HELP !

Discussion dans 'Web, design' créé par Ludovic_, 8 Janvier 2012.

  1. Online
    Ludovic_ Anime > Manga
    Je ne sais plus quoi faire :p je suis à un stade très noob et bref, j'aimerai affiché le header logged quand la personne est loggé, et la version pas loggé quand pas loggé... truc tout con de session qui ne veut pas marcher :-(

    PHP:
    <?php require_once('Connections/foodsurfing.php'); ?>
    <?php 
    if(isset($_SESSION['mail'])){?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>FoodSurfing - Page d'accueil</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="style.css" rel="stylesheet" type="text/css" />
    <link rel="icon" type="image/png" href="images/fav.ICO" />
    </head>


    <!-- TOP -->
      <div class="top"><p align="right" class="dejamembre">&nbsp;</p></div>
    <!-- END TOP -->    
    <!-- HEADER -->
        <div class="header" id="header">
        
          <div class="logo"><a href="index2.php"><img src="images/logo.png"></a></div>
          <div class="login_off"><div class="img_membre"></div>
          <div class="infos_membre">
          <h3>Ludovic Wybo</h3>
          <p class="login"><a class="edit" href="#">Vous avez <strong>1</strong> nouveau(x) message(s)</a></p>
          <p class="login"><a class="edit2" href="#">Editer profil</a> | <a href="#" class="edit2">Se déconnecter</a></p>
          
          </div>
          
          </div>
              <div class="button_propose2"><a href="add_food.php"><img src ="images/propose.png"></a></div>
              <div class="button_recherche2"><a href="search_food.php"><img src ="images/recherche.png"></a></div>
        </div>
    <!-- END HEADER -->
    <!-- HEADER_unlogged_content -->

    <?php } else {echo' '  ; } ?> 




    <?php 
    if (!function_exists("GetSQLValueString")) {
    function 
    GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
    {
      if (
    PHP_VERSION 6) {
        
    $theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }

      
    $theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

      switch (
    $theType) {
        case 
    "text":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;    
        case 
    "long":
        case 
    "int":
          
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case 
    "double":
          
    $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case 
    "date":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;
        case 
    "defined":
          
    $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
          break;
      }
      return 
    $theValue;
    }
    }
    ?>
    <?php
    // *** Validate request to login to this site.
    if (!isset($_SESSION)) {
      
    session_start();
    }

    $loginFormAction $_SERVER['PHP_SELF'];
    if (isset(
    $_GET['accesscheck'])) {
      
    $_SESSION['PrevUrl'] = $_GET['accesscheck'];
    }

    if (isset(
    $_POST['mail'])) {
      
    $loginUsername=$_POST['mail'];
      
    $password=$_POST['mdp'];
      
    $MM_fldUserAuthorization "";
      
    $MM_redirectLoginSuccess "index2.php";
      
    $MM_redirectLoginFailed "gmap.php";
      
    $MM_redirecttoReferrer false;
      
    mysql_select_db($database_foodsurfing$foodsurfing);
      
      
    $LoginRS__query=sprintf("SELECT mail, mdp FROM fiche_membres WHERE mail=%s AND mdp=%s",
        
    GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
       
      
    $LoginRS mysql_query($LoginRS__query$foodsurfing) or die(mysql_error());
      
    $loginFoundUser mysql_num_rows($LoginRS);
      if (
    $loginFoundUser) {
         
    $loginStrGroup "";
        
        if (
    PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
        
    //declare two session variables and assign them
        
    $_SESSION['MM_Username'] = $loginUsername;
        
    $_SESSION['MM_UserGroup'] = $loginStrGroup;          

        if (isset(
    $_SESSION['PrevUrl']) && false) {
          
    $MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
        }
        
    header("Location: " $MM_redirectLoginSuccess );
      }
      else {
        
    header("Location: "$MM_redirectLoginFailed );
      }
    }
     
    ?>


    <!-- TOP -->
      <div class="top"><img src="images/facebook.png" alt="Facebook Button" width="144" height="21" align="right" vspace="7" hspace="5"><p align="right" class="dejamembre">Déjà membre ? <a href="#facebook" class="dejamembre" >Se connecter</a></p></div>
    <!-- END TOP -->    
    <!-- HEADER -->
        <div class="header" id="header">
          <div class="logo"><a href="index2.php"><img src="images/logo.png"></a></div>
          <div class="login_off">
          <form ACTION="<?php echo $loginFormAction?>" METHOD="POST"><p class="login">Nom d'utilisateur: <input type="text" name="mail" class="mail"></p>
          <p class="login">Mot de passe:
            <input type="text" name="mdp" class="mdp"><a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a><input id="submit" name="submit" type="submit" class="connexion" value="Connexion"></p>
            <a style="font-size:14px;text-decoration:none; color:#B5CBE6">Mot de passe oublié ? </a><a style="font-size:14px;text-decoration:none; color:#B5CBE6; text-outline:2" href="#"><strong>Cliquez-ici !
            </strong></a>
          </form> 
          <br>
          </div>
              <div class="button_propose2"><a href="add_food.php"><img src ="images/propose.png"></a></div>
              <div class="button_recherche2"><a href="search_food.php"><img src ="images/recherche.png"></a></div>
        </div>
        
       
    <!-- END HEADER -->
    Ludovic_, 8 Janvier 2012
    #1
  2. Online
    Skarbone I would rather be snowboarding
    commence par faire un pastie de ton code, parce que la c'est illisible :D
    Skarbone, 9 Janvier 2012
    #2
  3. Offline
    L@rgo_XIII G33K
    L@rgo_XIII, 11 Janvier 2012
    #3
  4. Offline
    tqz_ Elite
    l'erreur habituelle du session_start() ou de header, il doit toujours être mis en premier, au tout début de ton script, même si l'utilisateur ne se log pas ce n'est pas un problème.

    donc tu retires ça :

    PHP:
    if (!isset($_SESSION)) { 
      
    session_start(); 

    et tu mets session_start(); au tout début de ton code

    il faut un peu prendre ça comme une sessions windows, tu le log avant d'arriver sur le bureau mais c'est pas pour autant que tu as les droits d'administration sur le pc.

    et ensuite tu crées la variable $_session['mail'] si l'utilisateur a le droit de voir le bout de code html que tu as mis.
    tqz_, 12 Janvier 2012
    #4