Bonjour,
Voila, le probléme est simple. J'ai crée une petite partie membre. Une foi le nom et le mot de passe rentré, les visiteurs sont redirigés de index.php à index2.php.
J'ai également crée un boutton deconexion, qui a pour fonction de détruire la session.
Seulement voila, quand on tape directement dans le navigateur 'index2.php', la page s'affiche ! Or, il faudrait d'abord une identification. J'ai donc rajouté un petit script php au début de la page, mais il n'a pas l'air de fonctionner. Etant débutant en PHP, je demande votre aide.
Voici les codes sources des pages.
index.php :
<?php
session_start(); // On démarre la session AVANT toute chose
// On s'amuse à créer quelques variables de session :
/* on récupère le nom dans le tableau POST des données du form */
$name=$_POST['name'];
$_SESSION['name'] = $name;
$_SESSION['mot_de_passe'] = $mot_de_passe;
// Maintenant que le session_start est fait, on peut taper du code HTML
?>
<?php
if (isset($_POST['mot_de_passe']))
{
$mot_de_passe = $_POST['mot_de_passe'];
}
else
{
$mot_de_passe = "";
}
if ($mot_de_passe == "uvjkabvw78")
{
@header("Location: index2_test.php");
}
elseif ($mot_de_passe == "--t7xdmlxdse2++")
{
@header("Location: admin.php");
}
else
{
?>
<!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>
<title>Connexion au site</title>
</head>
<body>
<center>
<br><br><br><br>
<h1>BIENVENUE !</h1>
<form action="index1_test.php" method="post">
<table width="225" border="1" cellpadding="3">
<tr><td colspan="2"><center><font
size="+2"><b>Connexion</b></font></center></td></tr>
<tr><td>Prénom : </td><td><input type="text" name="name"></td></tr>
<tr><td>Mot de Passe : </td><td><input type="password" name="mot_de_passe" /> </td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Valider" /></td></tr>
</table>
</form>
</center>
</body>
</html>
<?php
}
?>
index2.php :
<?php
session_start(); // On démarre la session AVANT toute chose
if ($_SESSION['mot_de_passe'] = "")
{
@header("Location: index.php");
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bienvenue !</title>
</head>
<body>
<div class="element_logo" id="logo"><a href="/"><img src="images/bandeau_haut.jpg" height="100" width="795"></a></div>
<div id="menu_h">
<a href="logout.php">Déconexion</a>
</div>
<div id="corps">
<h1>Bienvenue <?php echo $_SESSION['name']; ?>!</h1>
</div>
</body>
</html>
<?php
}
?>
logout.php :
<?php
// you have to open the session first
session_start();
//remove all the variables in the session
session_unset();
// destroy the session
session_destroy();
?>
<!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=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<script language="javascript">
{
document.location='index.php'
}
</script>
</body>
</html>
Je précise que tout le reste marche.
Derniére chose : Voila ce que le navigateur me met sur index.php en bas de page =
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Merci d'avance pour votre aide...
Bientot mon site: , site consacré à l'informatique pour tous !
-----------------------------------------------------------------------------------------------------
"S'il on payait un impôt sur la connerie, alors l'état s'auto-financerait"
"La colère envers autrui reflète toujours la tristesse interne"
"La théorie, c'est quand on sait tout mais que rien ne marche, et la pratique c'est quand tout marche mais qu'on ne sait pas pourquoi."Configuration: Windows XP
Firefox 2.0.0.14