Page 1 sur 1

demande code pour une page session.php speciale

Posté : 03 janv. 2006, 18:06
par L.Gigi256
voila mon probleme
Je sais faire une session ouverture classique pour une page acceuil en fonction de deux variables login et mdp. Mais j ai des difficultées à faire une session d'ouverture de page d'acceuil dependant d'une 3 eme variable num_cat. Dans la base de donnée la table session comprend le login mdp et num_cat. les numeros de num_cat correspondent aux pages d'acceuil que le login mdp ouvrent.

en visuel

Code : Tout sélectionner

Page : portail.php -----> session.php <------------------> connection.php - login - fonction de validiter du - routage - mdp login et mdp . Si bon | - valider ouverture de la page d' | accueil correspondant au | num_ cat | | | <--Ouvre--<login/mdp/ok--<--|-->login/mdp/faux | | | | |---> num_cat = 1 --page acceuil--> 1.php | | | | | |---> num_cat = 2 --page acceuil--> 2.php | | | | | |---> num_cat = 3 --page acceuil--> 3.php | | | | | |---> num_cat = 4 --page acceuil--> 4.php | | | | <--------------------------------------------| | | | |--> Reaffiche la page portail.php | | <-----------------------------------------------------------------| | |---------> Table session login | mdp | Num_cat | N_o cyril | 123456 | 1 | 1 chris | 987456 | 2 | 2 lolo | 753159 | 3 | 3 titi | 951753 | 4 | 4 adil | 456852 | 1 | 5
Voila
Avez vous une solution pour moi à part la corde ?

Merci d'avance

voici le code de chaque page

Portail.php

Script
<?include("c:\wamp\www\ibe\connection\connection.php")?>
<html>
<head>
</head>
<body>
<form method="post" action="session.php">
<table border="1">
   <tr>
    <th colspan=2 align=center>Portail d'Entrée</th>
   </tr>      
   <tr>
    <td>Login :</td>
    <td><input type="text" name="login" size="30" maxlength="25" br</td>
   </tr>
   <tr>
    <td>Mot de passe :</td>
    <td><input type="password" name="mdp" size="30" maxlength="25" br</td>
   </tr>
    <tr>
     <td colspan=2 align=center><input type="submit" value ="Valider"></td>
    </tr>   
</table>
 </form>
</body>
</html>
Session.php

Script
<? session start(); ?>
<? include ("c:\wamp\www\ibe\connection\connection.php") ?>
<? 
$login = $post["login"];
$mdp = = $post["mdp"];
$retour = mysql_query("select count(*) as numero from .... where login ='$login'");
$donnees = mysql_fetch_array($retour)
?>
<$test = $donnees['numero'];
if ($test == "1")  {
$reponse = mysql_query("select from .... where login = '$login'");
$données2 = mysql-fetch_array($reponse);
$pqss = $donnees2['mdp'];
 if ($pqss == $pass) {
  $session["log"] = 'administrateur';
  header("ici on met la page d accueil");
                     }
  else { header("ici je mets l'url de la page d erreur, mauvais mot d passe");
       }
                   }
  else { header("ici je met l 'url de la page erreur, mauvais login");
       }
?>
connection.php

Script
<?php
$db=mysql_connect("locahost","root","");
mysql_select_db("ibe");
?>

Posté : 03 janv. 2006, 19:55
par Ultiny
Déja il y a un problème ici:
<$test = $donnees['numero'];
Et là:
<?include("c:\wamp\www\ibe\connection\connection.php")?>
$mdp = = $post["mdp"]; 
Plus quelques ; oubliés.

Sinon pour ce que tu veu c'est pas compliqué, suit ceci:

Ouverture de base de données,
Recuperation du login + mot de passe + num_cat en fonction du login,
Si login n'existe pas, erreur, sinon on compare le mot de passe donné et celui dans la base,
Si il sont different, erreur, sinon on inclue la page num_cat

Pour moi, si j'ai bien compris ce que tu souhaite, c'est comme ça qu'il faut faire.

Posté : 04 janv. 2006, 17:35
par Ultiny
D'après le message perso:
Peux tu me dire comment tu le feras en m'envoyant le script de session.php.

Merci !!!
Voici d'une mannière simple comment le faire (en utilisant des die pour plus de simplicité du code):
<?php

function scape( $res )
{
	$res = str_replace( "'", "''", $res );
	return $res;
}

session_start();

require ("c:\wamp\www\ibe\connection\connection.php");

$request = mysql_query("SELECT * FROM table WHERE login='".scape( $_POST["login"] )."';"); 

if ( ! @$data = mysql_fetch_array( $request ) )
{
	die( "L'utilisateur n'existe pas" );
}

if ( md5( $_POST["mdp"] ) != $data["mdp"] ) // MD5 car le plus souvent on hache les mots de passe
{
	die( "Le mot de passe est invalide" );
}

// Ici, l'utilisateur est identifié, sont mot de passe est valide!

switch ( $data["num_cat"] )
{
	case 1:
		require ( "./pageAccueilNumero1.php" );
	break;
	
	case 2:
		require ( "./pageAccueilNumero2.php" );
	break;
}

?>