Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2006, 18h08   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 5
Points : 0
Points : 0
Par défaut Enregistrement des variables de session

Bonjour à tous, alors voila j'explique mon souci, j'aimerai faire un espace membres sur mon site, à savoir biensur que l'utilisateur pourra modifier ces infos.



Donc j'ai effectué mon formulaire d'inscription sans aucun probleme, avec insertion dans la base de données et tout le tralala, ainsi que mon formulaire de login qui marche tres bien...J'ai protégé les pages de l'espace membre pour que un personne n'étant pas logguer ne puisse pas accéder a ces pages .



Mon souci est le suivant : je n'arrive pas a récupérer les informations du client avec le formulaire login...ce qui m'empeche donc de les mettre en session, j'ai essayé session_register, mais sans succès,peut etre ma syntaxe ... je ne sais pas trop ! Je voudrai enfaite que une fois loggué, toutes les nfos du clients apparaissent sur son espace membre, voila tout .

je bosse en ce moment avec dreamweaver 8 mais je ne sais pas si ce logiciel intégre la fonctionnalité que je veux, donc si vous savez vous seriez gentil de me le dire



meci de vos réponse, amicalement
zelkin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 18h27   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
La fonction session_register est dépréciée. Je vous recommande de lire Les sessions en PHP à ce sujet.

Pour affecter le contenu de votre champ vers votre session (à titre d'exemple - ne l'utiliser pas comme ça) :
Code :
$_SESSION['login'] = $_POST['login'];

Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 18h54   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 5
Points : 0
Points : 0
salut, c'est gentil mais je n'y comprend rien

enfin rien est un bien grand mot mais bon ...
zelkin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 19h06   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Montrez nous dans ce cas la partie du code en question.


Cordialement, Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 19h30   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 5
Points : 0
Points : 0
Par défaut code

Code de la page login.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php require_once('../Connections/session_test.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $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['log'])) {
  $loginUsername=$_POST['log'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "accueil.php";
  $MM_redirectLoginFailed = "inscription.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_session_test, $session_test);
 
  $LoginRS__query=sprintf("SELECT log, pass FROM users WHERE log=%s AND pass=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
 
  $LoginRS = mysql_query($LoginRS__query, $session_test) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
 
    //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 );
  }
}
?>
J'avais mis :
Code :
1
2
3
4
$_SESSION['id'] = $row_rsUsers['id']; 
$_SESSION['log'] = $row_rsUsers['log']; 
$_SESSION['nom'] = $row_rsUsers['nom']; 
$_SESSION['prenom'] = $row_rsUsers['prenom'];
Là où il y a les pointillé juste en dessus !

Code html formulaire :
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
Login :
<label>
  <input name="log" type="text" id="log" />
  </label>
  <p>Mot de passe : 
    <label>
    <input name="pass" type="text" id="pass" />
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="log !" />
    </label>
  </p>
</form>


Une fois l'identification éffectué, on se dirige sur accueil.php
Et la je ne sais plus quoi faire.

faut-il mettre un
Code :
<?php session_start(); ?>  ..... <?php $_SESSION['variable']; ...

merci
zelkin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 21h41   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
J'ai pas compris où est utilisée la variable $row_rsUsers avant les affectations des variables de session Vous devriez activer toutes les erreurs (error_reporting(E_ALL) en début de script).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h22.


 
 
 
 
Partenaires

Hébergement Web