Authentification par variable de session

Résolu
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009 - 22 juil. 2007 à 16:55
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009 - 23 juil. 2007 à 10:50
Bonjour,

J'ai une page de Login qui renvoit vers une page de résultats affichant les annonces écrites par l'utilisateur.

La page de résultat affiche les résultats correspondant à une variable de session nommée nom.

Mon problème est que je ne sais pas comment déclarer une variable sur ma page de login au terme de l'identification. J'débute, et je ne connais pas la syntaxe. Il faudrait que cette variable nom corresponde au login de l'utilisateur (saisie dans un champ nommé également nom).

Quelqu'un pourrait m'indiquer comment je peut faire ça ?

Merci à tous !

Code de ma page login.php

<?php require_once('../Connections/yanncadoret3.php'); ?>
<?php

if (!isset($_SESSION)) {
  session_start();
}


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


if (isset($_POST['nom'])) {
  $loginUsername=$_POST['nom'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "resultats.php";
  $MM_redirectLoginFailed = "login.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_yanncadoret3, $yanncadoret3);
 
  $LoginRS__query=sprintf("SELECT nom, pass FROM clients WHERE nom='%s' AND pass='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
  
  $LoginRS = mysql_query($LoginRS__query, $yanncadoret3) 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 );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>



<form id="nom" name="nom" method="POST" action="<?php echo $loginFormAction; ?>">
  <label> Email

 

  </label>
  <label>

  MPD

 

 

  </label>
  <label>
 
  </label>
</form>

</html>

Le code de ma page resultats.php

<?php require_once('../Connections/yanncadoret3.php'); ?>
<?php
$maxRows_rsResultats = 10;
$pageNum_rsResultats = 0;
if (isset($_GET['pageNum_rsResultats'])) {
  $pageNum_rsResultats = $_GET['pageNum_rsResultats'];
}
$startRow_rsResultats = $pageNum_rsResultats * $maxRows_rsResultats;


$colname_rsResultats = "-1";
if (isset($_SESSION['nom'])) {
  $colname_rsResultats = (get_magic_quotes_gpc()) ? $_SESSION['nom'] : addslashes($_SESSION['nom']);
}
mysql_select_db($database_yanncadoret3, $yanncadoret3);$query_rsResultats sprintf("SELECT * FROM annonces WHERE nom '%s'", $colname_rsResultats);
$query_limit_rsResultats = sprintf("%s LIMIT %d, %d", $query_rsResultats, $startRow_rsResultats, $maxRows_rsResultats);
$rsResultats = mysql_query($query_limit_rsResultats, $yanncadoret3) or die(mysql_error());
$row_rsResultats = mysql_fetch_assoc($rsResultats);


if (isset($_GET['totalRows_rsResultats'])) {
  $totalRows_rsResultats = $_GET['totalRows_rsResultats'];
} else {
  $all_rsResultats = mysql_query($query_rsResultats);
  $totalRows_rsResultats = mysql_num_rows($all_rsResultats);
}
$totalPages_rsResultats = ceil($totalRows_rsResultats/$maxRows_rsResultats)-1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>



  ----

    id_annonce,
    date_saisie,
    titre,
    themes,
    prix,
    id_clients,
    email,
 
  <?php do { ?>
    ----

      <?php echo $row_rsResultats['id_annonce']; ?>,
      <?php echo $row_rsResultats['date_saisie']; ?>,
      <?php echo $row_rsResultats['titre']; ?>,
      <?php echo $row_rsResultats['themes']; ?>,
      <?php echo $row_rsResultats['prix']; ?>,
      <?php echo $row_rsResultats['id_clients']; ?>,
      <?php echo $row_rsResultats['email']; ?>,
   
    <?php } while ($row_rsResultats = mysql_fetch_assoc($rsResultats)); ?>

</html>
<?php
mysql_free_result($rsResultats);
?>

Merci à tous !
A voir également:

2 réponses

tcheeb Messages postés 66 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 27 octobre 2010
22 juil. 2007 à 19:41
Hello,

Est-ce entièrement ton code ? car pour un débutant ta question ne relate pas le niveau de codage ??

Pour te répondre : dans le code de login après authentification tu initalise ta variable contenant le nom de l'utilisateur :

 $_SESSION['MM_Username'] = $loginUsername;

elle est récupérable sur chaque page du moment que le login est réalisé.

session_start();
echo $_SESSION['MM_Username']
bonne soirée
3