Script de session qui ne marche pas ...

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 10 janv. 2008 à 19:08
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 11 janv. 2008 à 19:04
Salut j'ai un script php utilisant les session et au début ça marche bien mais après quand je retourne sur la page du formulaire ça ne me renvoi pas sur la page admin.php si j'était connecté avec le pseudo administrateur ...

Code de la page du formulaire :

<?php
session_start();


if(!empty($_SESSION['pseudo']) AND ($_SESSION['pseudo'] != 0))
 {
if($_SESSION['pseudo'] == 'administrateur')
{
header("Location:admin.php");
}
else
{
header("Location:membres.php");
}
 }
 else
 {
$_IP = $_SERVER['REMOTE_ADDR'];


mysql_connect('localhost', 'root', '') or die (mysql_error());
mysql_select_db('aide rémunéré a 30?') or die (mysql_error());


$blacklist = mysql_query("SELECT * FROM blacklist WHERE ip='$_IP'") or die (mysql_error());


if(mysql_num_rows($blacklist)>0)
{
?>
Vous êtes bannie de ce site !!!

<?php
}
else
{
if(!isset($_POST['pseudo']) || !isset($_POST['pass']))
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Connection</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<form action="index.php" method="post">
Pseudo :

Mot de passe :

</form>

</html>
<?php
$_SESSION['pseudo'] = 0;
exit();
}
else
{
$pseudo = trim($_POST['pseudo']);
$pass = trim($_POST['pass']);


mysql_connect('localhost', 'root', ''); //Met ton pseudo et ton mot de passe qui te permettent d'accèder a ta base de donnée !!!
mysql_select_db('aide rémunéré a 30?'); //Met le nom de ta base de donnée !!!


$connection = mysql_query("SELECT * FROM membres WHERE `pseudo`='$pseudo' AND `mot de passe`='$pass' AND actif='oui'"); //Il faut que tu créé une table profil avec les champs : 'pseudo', 'mot de passe' et 'actif'


if(mysql_num_rows($connection)<1)
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Connection</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<form action="index.php" method="post">
Identifiants de connection incorect !!!

Pseudo :

Mot de passe :

</form>

</html>
<?php
$_SESSION['pseudo'] = 0;
exit();
}
else
{
if($_POST['pseudo']!='administrateur')
{
header("Location:membres.php");


$_SESSION['pseudo'] = $_POST['pseudo'];
}
 };


if(($_POST['pseudo']=='administrateur') && ($_POST['pass']=='nicolas'))//Partie admin, 1 = ton pseudo, 2 = ton mot de passe, merci de les modifier !!!
{
header("Location:admin.php");


$_SESSION['pseudo'] = $_POST['pseudo'];
}
 }
}
 }
?>

page admin.php :

<?php
session_start();


if(empty($_SESSION['pseudo']) OR $_SESSION['pseudo'] != 'administrateur')
{
echo("Vous n'êtes pas l'administrateur !!!");
}
else
{
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Espace d'administration</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
</head>

Bonjour, bienvenue dans l'espace d'administration !!!

Activer des comptes :

<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('aide rémunéré a 30?');


echo "<form action='activer_compte.php' method='post'>";
echo "<select name='inactif[]' multiple='true'>
";
$result = mysql_query("SELECT pseudo FROM membres WHERE `actif`=''");


while($options = mysql_fetch_array($result))
       echo "\t".'<option value="'.$options['pseudo'].'">'.$options['pseudo'].'</option>'."\n";
echo "</select>
";
echo "";
echo "</form>";
?>
Accès aux pages :

<form action="index.php" method="post">
<label for="page1">page1</label>
<label for="page2">page2</label>
<label for="page3">page3</label>
<label for="page4">page4</label>
<label for="page5">page5</label>
<label for="page6">page6</label>
<label for="page7">page7</label>
<label for="page8">page8</label>
</form>
Supprimer un compte :

<form action="suppression.php" method="post">
Entrer le pseudo du membre dont vous voulez supprimer le compte :

</form>
Ajouter un compte :

<form action="ajout.php" method="post">
Pseudo :

Mot de passe :

</form>

</html>
<?php
};
?>

page membres.php :

<?php
session_start();


if(empty($_SESSION['pseudo']) OR ($_SESSION['pseudo'] == 0))
{
echo("Vous n'ête pas connecté !!!!");
}
else
{
?>
Bienvenue dans l'espace membre !!!

<?php
}
?>

PS : le sript de blocage ip ne marche pas non plus alors tant qu'on y est ...

A++






 

1 réponse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 janv. 2008 à 19:04
Hello,
tu as un ; après une accolade, et ça, php ne doit pas aimer.
Travaille toujours en error_reporting(E_ALL);

A part ça, ton code est méchament tordu...il y a bcp plus simple.
0
Rejoignez-nous