|
|
|
|
<?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
}
?>
<?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
}
?>
<?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>
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
Configuration: Windows XP Firefox 2.0.0.14
je suis de t'aider, tu es d'accord ? |
Oui, tout est bon a prendre :)
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." |
Bon, quest ce- que tu veux comme page lorsque le visiteur tape sur le navigateur index2.php? |
Je souhaiterais qu'il soit redirigé ver index.php, car en entrant directement index2.php, il n'a pas fournis de mot de passe. C'est donc une grosse faille que je souhaiterais éviter !
Merci 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." |
ok c'est facile, dans ta page index2.php tu met le code:
<?php session_start(); if ($_SESSION['mot_de_passe'] = "") {header("Location: index.php");} ?> et dans logout.php, tape tout simplement ce code: <?php session_start(); session_destroy; header("Location: index.php"); ?> Un conseil en plus pour tes headers, c'est mieux de mettre des adresse absolues, donc header("Location: http://localhost/..../index.php"); PS: j'ai mis les points de suspensions dans ce header, car c'est toi seul qui connait l'adresse complète. Essai-le, déconnecte toi, puis tapes sur le navigateur index2.php, et dis moi si çamarche . a+ |
Excuse il ya une erreur sur mon code, et sur le tient:
<?php session_start(); if ($_SESSION['mot_de_passe'] == "") {header("Location: index.php");} ?> En fait au lieu du simple égal, tu dois metrre un double égal et sur ton script, il y a cet erreur. |
Non, snif, je peut toujours accéder à index2.php sans m'identifié...
Merci quand même de ta réponse 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." |
méme avec le double égal ? car t'avais fait une faute à index2.php, t'a mis un simple égal au lieu du double égal:
<?php session_start(); if ($_SESSION['mot_de_passe'] == "") {header("Location: index.php");} ?> |
il faut que tu met un double égal == au lieu du simple égal =, et dis moi si ça marche |
Si ca amrche, merci :)
En fait, ce qui c'est passé, c'est qu'on a posté nos deux message avec un intervale de quelques secondes, donc en disant "non snif", je répondais un précédent message et non à la correction... Merci beaucoup en tout cas... Il reste toujours un probléme, celui du message affiché par le navigateur en bas de index.php : "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 pour vos réponses... 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." |
Je n'ai jamais eu affaire à ce problème, donc je ne pourrais pas t'aider efficacement.
Mais, vu ton code de index.php, je pense que le problème viens de : $name=$_POST['name']; $_SESSION['name'] = $name; En effet, dès le départ $_SESSION['name'] = $name; or $name est égal à $_POST['name'] mais $_POST['name'] est égal à rien car le visiteur n'a méme pas encore appuyé sur le boutton submit Donc le problème, c'est que tu as affecté une variable indéfinie (càd sans valeur) à $_SESSION['name'] , alors que le visiteur n'a pas encore appuyé sur le boutton submit. Donc dans index.php, essaie ce code: <?php session_start(); // On démarre la session AVANT toute chose if($_POST['name']!="") { $_SESSION['name'] = $name; $_SESSION['mot_de_passe'] = $mot_de_passe; } /*En effet $_SESSION['name'] sera égal à $name et $_SESSION['mot_de_passe'] sera égal à $mot_de_passe*/ /*que si $_POST['name'] n'est pas égal à rien*/ // Maintenant que le session_start est fait, on peut taper du code HTML ?> Un autre conseil aussi: tjrs dans index.php, remplace if (isset($_POST['mot_de_passe'])) par if ($_POST['mot_de_passe']!="") car parfois,isset est compliqué à utiliser Bon essaie ces code mais je ne te garanti pas du résultat. Mais après dis moi si ça marche. |
Snif, je suis modit :(
En effet, le message ne s'affiche plus sur la page :), mais lorsque l'on clic, on obtien sur fond blanc ce message : "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" Quelqu'un as-t-il une solution ? Merci d'avance... 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." |
UP :)
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." |
UP :)
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." |
Up :)
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." |
UP !
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." |
| 10/02 11h16 | Codes d'erreur de Windows | Windows |
| 23/06 14h51 | [Pratique] Framakey - Applications portables sur clé USB | Logiciels |
| 09/08 13h39 | [MSN] Sécurité et réaction face à un piratage | MSN Messenger |
| 06/01 11h47 | [WiFi] Réseau sans fil et sécurité | WiFi |
| 20/04 18h59 | [PHP] Fonction mail() | PHP |
| 20/03 11h13 | Session php4 et sécurité | 0 |
| 01/09 08h55 | Sécurité du site avec session, phpmysql | 3 |
| 15/08 12h23 | Pb de sessions php | 5 |
| 06/08 16h51 | Problème de session php | 2 |
![]() | Zonerider Gateway - Si vous posséder une connexion sans fil à la maison, il n'est obligatoire de le protéger pour que personne ne puisse y... | Catégorie: Environnement de travail Licence: Freeware/gratuit |
![]() | PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de... | Catégorie: PHP Licence: Freeware/gratuit |
![]() | Eset Smart Security - Antivirus, antispyware, antispam, pare-feu : tout-en-un ! On ne peut rever plus simple comme protection ! Basé sur... | Catégorie: Sécurité Licence: Demo |
![]() | Microsoft Baseline Security Analyzer - Microsoft Baseline Security Analyzer (MBSA) est un outil pour les professionnels IT permettant d'aider les petites et... | Catégorie: Gestion de parc Licence: Freeware/gratuit |
![]() | Cisco 2801 Security Bundle | Catégorie: Routeur | 1,400.50 € MicroChoix |
![]() | Cisco 2811 Security Bundle | Catégorie: Routeur | 1,980.50 € MicroChoix |
![]() | Cisco 877 Security Bundle | Catégorie: Routeur | 390.01 € Hardware.com FR |
![]() | Cisco 1841 Security Bundle | Catégorie: Routeur | 1,103.50 € MicroChoix |