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 -
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
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
A voir également:
- Problème de passage de variable de session
- Passage qwerty azerty - Guide
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Session invalide ou obsolète - Forum Consommation & Internet
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
3 réponses
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");
$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");
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.
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);
$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...