Problème de passage de variable de session

Résolu
Ninja_En_Short Messages postés 133 Date d'inscription   Statut Membre Dernière intervention   -  
Ninja_En_Short Messages postés 133 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voilà mon problème : je suis entrain de coder mon CMS (Joomla ayant très fortement perturbé mon équilibre mental j'ai fini par abandonner) et je n'arrive pas à faire passer les variables de session, je vous mets le code en suivant.

Première page (index.php) :

<?php

session_start();

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Administration Nes-Tech</title>
</head>
<body>

<div align="center">

<?php

if (isset($_POST['submit'])){ // Si le formulaire est envoyé

$connect = mysql_connect("localhost", "X", "Y");
mysql_select_db("Z");

$md5_admin_id_field = md5($_POST['admin_id_field']);
$md5_mdp_field = md5($_POST['admin_mdp_field']);

$query_authorized = "SELECT admin_id_coded, admin_mdp_coded,vendeur,statut FROM users WHERE admin_id_coded = '".$md5_admin_id_field."' AND admin_mdp_coded = '".$md5_mdp_field."';";
$res_authorized = mysql_query($query_authorized);
$query_array = mysql_fetch_array($res_authorized);

if (mysql_num_rows(mysql_query($query_authorized)) == 1){ // Si une seule entrée est renvoyé, c'est sensé être le cas

if ($md5_admin_id_field == $query_array[0] && $md5_mdp_field == $query_array[1]) { // Si identifiant et mot de passe correspondent

$admin_hyperlink = "admin.php";
$_SESSION['admin_id'] = $query_array[0]; // On définit les variables de session
$_SESSION['statut'] = $query_array[3];
$_SESSION['vendeur'] = $query_array[2];
echo "<a href=".$admin_hyperlink.">Statut verifie, acces au CMS</a>"; // On passe à la section admin
mysql_close($connect);

}else{
// Sinon que dalle (pour l'instant)
}

}else{

echo "Erreur, données invalides"

?>
<form action="index.php" method="post">

Entrez votre identifiant
<input type="textfield" name="admin_id_field" /> <br />
Entrez votre mot de passe
<input type="password" name="admin_mdp_field" /> <br />
<input type="submit" name="submit" value="Accès" />

</form>
<?php

};

}else{

?>
<form action="index.php" method="post">

<table align="center">
<tr>
<td>Entrez votre identifiant </td>
<td><input type="textfield" name="admin_id_field" /></td>
</tr>
<tr>
<td>Entrez votre mot de passe </td>
<td><input type="password" name="admin_mdp_field" /></td>
</tr>
<tr>
<td align="center" colspan=2><input type="submit" name="submit" value="Soumettre" /></td>
</tr>
</table>

</form>
<?php

};

?>
</div>
</body>
</html>


Deuxième page (admin.php) :

<?php

session_start();

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Administration Nes-Tech</title>
</head>
<body>

<div align="center">

<?php

if (!isset($_SESSION['admin_id'])){

$index_hyperlink = "index.php";
echo "<a href=".$index_hyperlink.">Acces refuse, retour a la page precedente</a>";

}else{



?>

<table>

<tr>
<td>Entête<td>
</tr>

<tr>
<td class = "menu" width = 20%> <?php affichage_menu(); ?> </td>
<td class = "contenu" width = 80%>

<?php

if (isset($_POST['page'])) {

affichage_contenu($_POST['page']);

}else{

};

?>

</td>
</tr>

<tr>
<td class = "pied"> </td>
</tr>

<tr>
<td class = "copyright"> </td>
</tr>

</table>

<?php

};

function affichage_menu()
{ // BEGIN function affichage menu
$connect = mysql_connect("localhost", "X", "Y");
mysql_select_db("Z");

$query_listing = "SELECT * FROM modules";
$res_listing = mysql_query($query_listing);
$res_array = mysql_fetch_array($res_listing);

mysql_close($connect);
?>
<table>
<?php

foreach ($res_array as $menuoption) { // Affichage de tous les liens vers les admin_X.php des modules

$moduleName = $menuoption['module_name'];
$image_path = '<img src="images\"'.$moduleName.'">';
?>
<tr>
<a href="admin.php?page=<?php $menuoption['module_name'] ?>"><?php echo $image_path;?></a>
</tr>
<?php
};?>
</table>
<?php

} // END function affichage menu

function affichage_contenu($page)
{ // BEGIN function affichage_contenu
$connect = mysql_connect("localhost", "NES", "grobeta");
mysql_select_db("cms_nes-tech");

$query_modules = "SELECT modules_name,modules_path FROM modules WHERE module_name = ".$page;
$res_modules = mysql_query($query_modules);
$data_modules = mysql_fetch_array($res_modules);

mysql_close($connect);

include ($data_modules[1]);

} // END function affichage_contenu

?>
</div>

</body>
</html>

Et les variables de sessions ne passent pas à admin.php qui me sort tout le temps : acces refuse X(

Ca me rends dingue et j'en ai marre de prendre les commande sur le répondeur donc il me faut terminer CMS et site.

Merci à ceux qui trouvent

3 réponses

dreamfeeder Messages postés 253 Date d'inscription   Statut Membre Dernière intervention   54
 
je pense que le probleme viens de la:

$connect = mysql_connect("localhost", "X", "Y");
mysql_select_db("Z");

alors qu'un peu plus bas tu as:

$connect = mysql_connect("localhost", "NES", "grobeta");
mysql_select_db("cms_nes-tech");
-1
Ninja_En_Short Messages postés 133 Date d'inscription   Statut Membre Dernière intervention   9
 
Glips, non ça c'est moi qui ai oublié de changer le nom des login, mdp et db, sur ma page c'est NES, grobeta et cms_nes-tech partout.
-1
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Salut, ton pb est à ce niveau:

$res_authorized = mysql_query($query_authorized);
$query_array = mysql_fetch_array($res_authorized);

if (mysql_num_rows(mysql_query($query_authorized)) == 1){


mysql_fetch_array sort les enregistrements de la zone memoire, donc après tu ne peux pas venir les compter pas mysql_num_rows il faut donc les compter avant

$res_authorized = mysql_query($query_authorized);
if (mysql_num_rows(mysql_query($query_authorized)) == 1){
//si il y a un enr on continue par le fetch_array
$query_array = mysql_fetch_array($res_authorized);
//etc...

-1
Ninja_En_Short Messages postés 133 Date d'inscription   Statut Membre Dernière intervention   9
 
Merci beaucoup Alain, ça a marché ;)
-1