|
|
|
|
Si nom_du_visiteur1 = $nom1 && MDP1 = $mdp1 OU nom_du_visiteur2 = $nom2 && MDP2 = $mdp2 OU [etc...]{
redirection vers index2.php; }
Sinon {
//on affiche la page du formulaire en HTML
}
Le visiteur est identifié ?
Si oui {
//on affiche la page en HTML
}
Sinon {
redirection vers index2.php
}
Configuration: Windows XP Firefox 2.0.0.13
dans ton idex2, tu met if(!isset($_session['login']))(include(index.php)); else exit
|
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." |
Salut,
j'ai quelque petite questions: ou stocke tu les mot de passe et login parce que si l'utilisateur doit s'enregistrer pour avoir accès a la fameuse page et a chaque fois devoir se réenregistrer pour reavoir accès a ta page a mon avis ça aura le dont d'énerver l'utilisateur. sinon ça donne ça tu as normalement un input dans un formulaire pour saisir le nom et le mot de passe et un bouton valider (ton formulaire doit être en méthode POST) ça donne donc if(($_POST['login']==$nom1) &&($_POST['mdp']==$mdp1)) { header("location: /index2.php"); /*include sert si tu redirige par exemple dans un div*/ } else { header("location: /index1.php"); /*la tu reviens a ta première page } si tu veut contrôler que tes champ ont été replis tu contrôle avec if(!empty($_POST['login'])) qui veut dire en bon français si ton champ est pas vide alors tu fait le reste
|
Bsr
Voici un petit exemple : liste_users.php
<?php
$valid_passwords = array();
$valid_passwords["hack"] = "net";
$valid_passwords["super"] = "mario";
$valid_passwords["php"] = "php";
$valid_users = array_keys($valid_passwords);
function check($user, $pass)
{
global $valid_passwords,$valid_users;
return (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);
}
?>
Dedans tu ajoutes tes autres utilisateurs index1.php <?php
session_start();
include("liste_users.php");
// Si demande de déconnexion explicite on efface la session
if (isset($_POST['deconnexion']) && ($_POST['deconnexion']=='1'))
{
session_unset();
}
// On teste d'abord si les identifiants sont dans la session
$user = isset($_SESSION['user']) ? $_SESSION['user'] : null;
$pass = isset($_SESSION['pass']) ? $_SESSION['pass'] : null;
$ok = check($user,$pass);
if (!$ok)
{
session_unset();
$user = isset($_POST['user']) ? $_POST['user'] : null;
$pass = isset($_POST['pass']) ? $_POST['pass'] : null;
$ok = check($user,$pass);
if ($ok)
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
}
}
if ($ok)
{
// Il faut une url absolue pour la redirection
$url = "http://" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . "index2.php";
header("Location: $url");
exit;
}
?>
<html>
<body>
Pour continuer veuillez d'abord vous identifiez svp
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
<table>
<tr>
<td>Utilisateur</td>
<td><input type="text" id="user" name="user" value=""></td>
</tr>
<tr>
<td>Mot de passe</td>
<td><input type="password" id="pass" name="pass" value=""></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Connexion"></td>
</tr>
</table>
</form>
</body>
</html>
index2.php
<?php
session_start();
include("liste_users.php");
// On teste d'abord si les identifiants sont dans la session
$user = isset($_SESSION['user']) ? $_SESSION['user'] : null;
$pass = isset($_SESSION['pass']) ? $_SESSION['pass'] : null;
$ok = check($user,$pass);
if (!$ok)
{
session_unset();
// Il faut une url absolue pour la redirection
$url = "http://" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . "index1.php";
header("Location: $url");
exit;
}
?>
<html>
<body>
Bienvenu <?php echo $user;?> sur l'espace sécurisé
<form action="index1.php" method="post">
<input type="hidden" value="1" name="deconnexion">
<input type="submit" value="Déconnexion">
</form>
</body>
</html>
Copie ces 3 fichiers sous le même répertoire avec les noms ci-dessus Attention ! si tu changes le nom des pages modifies également les noms dans les includes et les redirections Voilà PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Super sympa, merci a tous !!!!!!!
VIVE LE PHP ! 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." |
Attend, il y a une erreure !
" Warning: Cannot modify header information - headers already sent by (output started at /www/bordinfo/test/protec_test/liste_users.php:1) in /www/bordinfo/test/protec_test/index1.php on line 37" Qu'est-ce que cela signifit ? J'ai bien modifier l'url, mais rien y change ! HELP ! 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." |
Bjr
Que tu as envoyé autre chose qu'un header() avant la ligne 37 par ex un echo "..." Poste la code de ta page PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Voici le code source :
index1.php (formulaire)
<?php
session_start();
include("liste_users.php");
// Si demande de déconnexion explicite on efface la session
if (isset($_POST['deconnexion']) && ($_POST['deconnexion']=='1'))
{
session_unset();
}
// On teste d'abord si les identifiants sont dans la session
$user = isset($_SESSION['user']) ? $_SESSION['user'] : null;
$pass = isset($_SESSION['pass']) ? $_SESSION['pass'] : null;
$ok = check($user,$pass);
if (!$ok)
{
session_unset();
$user = isset($_POST['user']) ? $_POST['user'] : null;
$pass = isset($_POST['pass']) ? $_POST['pass'] : null;
$ok = check($user,$pass);
if ($ok)
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
}
}
if ($ok)
{
// Il faut une url absolue pour la redirection
$url = "http://bordinfo.olympe-network.com/test/protec_test/" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . "index2.php";
header("Location: $url");
exit;
}
?>
<html>
<body>
Pour continuer veuillez d'abord vous identifiez svp
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
<table>
<tr>
<td>Utilisateur</td>
<td><input type="text" id="user" name="user" value=""></td>
</tr>
<tr>
<td>Mot de passe</td>
<td><input type="password" id="pass" name="pass" value=""></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Connexion"></td>
</tr>
</table>
</form>
</body>
</html>
index2.php (page d'arrivée)
<?php
session_start();
include("liste_users.php");
// On teste d'abord si les identifiants sont dans la session
$user = isset($_SESSION['user']) ? $_SESSION['user'] : null;
$pass = isset($_SESSION['pass']) ? $_SESSION['pass'] : null;
$ok = check($user,$pass);
if (!$ok)
{
session_unset();
// Il faut une url absolue pour la redirection
$url = "http://bordinfo.olympe-network.com/test/protec_test/" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . "index1.php";
header("Location: $url");
exit;
}
?>
<html>
<body>
Bienvenu <?php echo $user;?> sur l'espace sécurisé
<form action="index1.php" method="post">
<input type="hidden" value="1" name="deconnexion">
<input type="submit" value="Déconnexion">
</form>
</body>
</html>
liste_user.php
<?php
$valid_passwords = array();
$valid_passwords["hack"] = "net";
$valid_passwords["super"] = "mario";
$valid_passwords["php"] = "php";
$valid_users = array_keys($valid_passwords);
function check($user, $pass)
{
global $valid_passwords,$valid_users;
return (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);
}
?>
Merci d'avance 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." |
brj
T'Oh ! (_8(|) Remplace if ($ok)
{
// Il faut une url absolue pour la redirection
$url = "http://bordinfo.olympe-network.com/test/protec_test/" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . "index2.php";
header("Location: $url");
exit;
}
par if ($ok)
{
// Il faut une url absolue pour la redirection
$url = "http://bordinfo.olympe-network.com/test/protec_test/index2.php";
header("Location: $url");
exit;
}
idem pour index1 et ça devrait mieux fonctionner ;-) Je t'invite également à te documenter sur les variables superglobales renvoyées par $_SERVER[] ici http://fr.php.net/manual/fr/reserved.variables.server.php PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Tjrs le même message d'erreur ! :(
HELP ! 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." |
Vérifie que dans chacun de tes fichiers tout au début qu'avant la balise <?php tu n'as pas laissé un ou plusieurs espaces
<?php doit être au tout début et rien d'autre avant PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Merci php, en fait il y avai un espace devan <?php de unser_liste.php.
Tout marche, merci à tous, mais juste une derniére question (oui je suis chient), pourquoi qand les identifiants sont correct, index2.php se transforme en "http://bordinfo.olympe-network.com/..." ??? Seul index2.php devrais figurer... 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." |
héhéhé l'erreur classique (je l'ai faite aussi au début alors hein on se moque pas non mais ! ;-)
Pour l'adresse tu dois avoir une erreur dans ton code soit au niveau de tes header("Location ...") soit dans le code de ta page index2.php dans d'autres includes dont tu te sers peut être C'est quoi le code exact de ta page index2.php ? PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Le code de index2.php ne t'aprendra pas grand chose, mais le voici :
<?php session_start(); if(!isset($_session['login']))(include(index.php)); else exit ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Bienvenue !</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" /> </head> <body> <h1>TADA !</h1> </body> </html> Quand a index1.php le RE, RE, RE, RE voici :) :
<?php
session_start();
include("liste_users.php");
// Si demande de déconnexion explicite on efface la session
if (isset($_POST['deconnexion']) && ($_POST['deconnexion']=='1'))
{
session_unset();
}
// On teste d'abord si les identifiants sont dans la session
$user = isset($_SESSION['user']) ? $_SESSION['user'] : null;
$pass = isset($_SESSION['pass']) ? $_SESSION['pass'] : null;
$ok = check($user,$pass);
if (!$ok)
{
session_unset();
$user = isset($_POST['user']) ? $_POST['user'] : null;
$pass = isset($_POST['pass']) ? $_POST['pass'] : null;
$ok = check($user,$pass);
if ($ok)
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
}
}
if ($ok)
{
// Il faut une url absolue pour la redirection
$url = "http://bordinfo.olympe-network.com/test/protec_test/index2.php" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . "index2.php";
header("Location: $url");
exit;
}
?>
<html>
<body>
Pour continuer veuillez d'abord vous identifiez svp
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
<table>
<tr>
<td>Utilisateur</td>
<td><input type="text" id="user" name="user" value=""></td>
</tr>
<tr>
<td>Mot de passe</td>
<td><input type="password" id="pass" name="pass" value=""></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Connexion"></td>
</tr>
</table>
</form>
</body>
</html>
Voila. Une solution ? 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." |
Au risque de me rééééééééééééééééééééééépéter ce code ci-dessous est faux !!!!!
if ($ok)
{
// Il faut une url absolue pour la redirection
$url = "http://bordinfo.olympe-network.com/test/protec_test/index2.php" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . "index2.php";
header("Location: $url");
exit;
}
Il faut le remplacer par : if ($ok)
{
// Il faut une url absolue pour la redirection
$url = "http://bordinfo.olympe-network.com/test/protec_test/index2.php";
header("Location: $url");
exit;
}
Si tu codes directement l'url absolue en "dur" tu n'as pas besoin de reconstruire l'url à partir de la position de la page actuelle en utilisant les variables $_SERVER[] Décidément t'es dur à convaincre D'Oh ! (j'adore les Simpsons) PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Désolé, autant pour moi... mais ya tjrs ce PB... Tu parle de quelle page ? index.php ? Si c'est le cas, ya toujours cette adresse : http://bordinfo.olympe-network.com/...
Une correction ? 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." |
Bonjour
Dans toutes les pages où tu as mis un header() supprime les références au tableau $_SERVER et écrit directement $url = "http://bordinfo.olympe-network.com/test/protec_test/######.php"; header("Location: $url"); En remplacant ###### par le véritable nom de ta page Maintenant si l'adresse que tu cites fonctionne (ce qui semble apparemment le cas) alors tu as dû créer ce chemin pour le moins compliqué sur le serveur de ton hébergeur autrement tu aurais une erreur page not found Contrôle en te connectant par FTP que tous est correcte PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
C'étai déjà comme ca... Mais bon tan pis, je vous ai tous assez emmerdé comme ça, je clot le sujet et je vérais ça plus tard.
Merci à tous... 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." |
| 31/07 23h21 | [PHP] Headers already sent by..... | PHP |
| 17/04 20h50 | Page, doc et tutoriaux officiels | PHP |
| 20/04 18h59 | [PHP] Fonction mail() | PHP |
| 21/04 11h38 | Liens utiles | PHP |
| 21/04 12h07 | Connexion à une base Oracle en php | Oracle |
| 17/06 20h59 | Utiliser variables session PHP dans une popup | 2 |
| 10/06 20h43 | Session PHP | 8 |
| 03/06 16h11 | Problème session php [espace membre] | 8 |
| 13/03 10h25 | [PHP] Sessions PHP sur free | 9 |
| 17/02 08h58 | Variable de session PHP qui change de valeur | 9 |
![]() | 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 |
![]() | MSN Polygamy - Msn/Windows Live Messenger Polygamy permet d'ouvrir plusieurs instances (copies) de Windows Live Messenger avec... | Catégorie: Messagerie instantanée Licence: Freeware/gratuit |
![]() | WAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de... | Catégorie: Serveurs Licence: Freeware/gratuit |
![]() | easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données... | Catégorie: Serveurs Licence: Open Source |
![]() | Jam Sessions | Catégorie: Jeu vidéo Nintendo DS | 18.99 € Amazon.fr |
![]() | Grind Session | Catégorie: Jeu Playstation |