Rechercher : dans
Par :

[Php] Variable Session, connexion par mdp

Dernière réponse le 27 avr 2009 à 10:34:42 Cyrius, le 12 déc 2007 à 16:58:21 
 Signaler ce message aux modérateurs

Bonjour, j'essaye de créer un accés sécurisé sur mon site avec email et mot de passe. J'utilise la variable session, qui marche sur un autre de mes sites, mais là ... la connexion ne se fait pas, et je pense que c'est à cause de session. Voici mon code :

<?php
session_start(); // initialisation de la variable session
echo('<?xml version="1.0" encoding="iso-8859-1"?>');
?>

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>Page d'accueil</title>
<meta http-equiv="Content-Type" content="text/html ; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="styles/design.css" />


</head>

<body>
<?php include('menu.php'); ?>

<div id="content">



<?php

if ((isset($_POST["password"])) AND (isset($_POST["email"] ))) //on teste si les variables existent
{ $password = $_POST['password'] ; //la variable mdp prds la valeur de ce qui a été tapé
$email = $_POST['email'] ; //la variable pseudo prds la valeur de ce qui a été tapé
}
else //sinon
{
$mot_de_passe = "" ; //la variable prds la valeur vide
$email = ""; //la variable prds la valeur vide
}



mysql_connect("dddd", "dddd", "dddd"); // Connexion à MySQL
mysql_select_db("db227375794"); // Sélection de la base

// On est connectés, on peut travailler sur la BDD

$reponse = mysql_query("SELECT * FROM locations ") or die(mysql_error()); //TOUT les membres

// On fait une boucle pour lister tout ce que contient la table :

while ($membres = mysql_fetch_array($reponse) ) //créé un tableau ordonné avec TOUT les membres,
{
if ( ($password == $locations['password']) AND ($email == $location['email']))
{

$_SESSION['email'] = $email; //pseudo correct donc on garde le pseudo dans la var session
$_SESSION['password'] = $password; //mot de passe correct donc on garde le pass dans la var session

include("copyright.php") ;
exit(); //il faut arrêter la boucle ! sinon ca va se répéter
}
else
{
echo('denied');
echo $_SESSION['password'] ;
include("copyright.php") ;
exit(); //il faut arrêter la boucle ! sinon ca va se répéter

}

}



// On a fini de travailler, on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>



</div> <!-- fin de content !-->
</body>
</html>


Le probléme c'est qu'il me renvoi tjrs "denied". De plus, le " echo $_SESSION['password'] ; " ne s"affiche pas avec le denied ....
Merci de toute réponse.

Configuration: Windows XP
Firefox 2.0.0.11

Meilleures réponses pour « [Php] Variable Session, connexion par mdp » dans :
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
PHP - Concaténation VoirPHP permet de concaténer des chaînes de caractères grâce à l'opérateur "." : $concatenation= $a . $b; Ou encore pour affecter, dans la variable $a, la valeur de la concaténation de $a et de $b : $a.=$b; Pour concaténer des chaînes et des...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...
PHP - Connexion à un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...

1

le père, le 12 déc 2007 à 17:04:31

Bonjour

ça a l'air bien a priori.
Donc ta variable password (et / ou email) est très probablement vide.
Peux-tu montrer le formulaire qui envoie sur cette page ?

Répondre à le père

2

Cyrius, le 12 déc 2007 à 17:07:13

Voici le formulaire :

<?php
echo('<?xml version="1.0" encoding="iso-8859-1"?>'); ?>

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>Bienvenue sur oya-location.com</title>
<meta http-equiv="Content-Type" content="text/html ; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="styles/design.css" />
</head>

<body>

<?php include("menu.php") ?>

<div id="content" >

<div id="contents">


<div id="password">
<br/>
<table>
<form method="post" action="membres.php">
<tr>
<td rowspan="2">E-Mail : </td>
</tr>
<tr>
<td><input type="text" name="E-Mail" size="12" maxlength="12" class="text"/></td>
</tr>
<tr>
<td rowspan="2">Mot de passe : </td>
</tr>
<tr>
<td><input type="password" name="password" size="12" maxlength="12" class="text"/> </td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td>
<input type="submit" value="S'identifier" class="boutton"/>
</td>
<td>
<input type="reset" value="Annuler" class="boutton"/>
</td>
</tr>
</form>
</table>
<br/>
<a href="inscription.membres.php">Pas encore inscrit ?</a> |
<a href="password.lost.php">Mot de passe perdu ?</a>

<div id="avantages">

<div class="img-center">
</div>

<ul>

</ul>
</div>

</div>
<div id="separateur-id">
</div>


</div>

</div>
<?php include("copyright.php") ?>

</body>

</html>

Répondre à Cyrius

3

le père, le 12 déc 2007 à 17:10:46

Je m'en doutais un peu...
Dans ton formulaire, tu appelles ton champ "E-Mail"
Dans ta vérification, tu l'appelles "email"
ça ne peut pas coller. choisis le nom que tu veux, mais garde le même !

Répondre à le père

4

Cyrius, le 12 déc 2007 à 17:22:25

Ok merci bien ^^
mais ca ne marche toujours pas ... toujours l'affichage de denied, et pas daffichage de ce que contient echo $_SESSION['password'] ;
De plus, si je rajoute dans la else " echo $password" le password entré s'affiche ....

Répondre à Cyrius

5

le père, le 12 déc 2007 à 17:56:56

while ($membres = mysql_fetch_array($reponse) ) //créé un tableau ordonné avec TOUT les membres,
{
if ( ($password == $locations['password']) AND ($email == $location['email']))


Tu lis dans une variable $membres, tu testes dans une variable $location...
Parce que ta table s'appelle location ? aucun rapport, le nom de ta table apparaît dans la requête, mais le résultat est mis dans $membres

Répondre à le père

6

Cyrius, le 12 déc 2007 à 18:56:09

Super merci !
le fait que tu me dises ca m'a tout refait vérifier. Et avec cette erreur, il y avait des prob de "s" sur locations. Voila un grand merci pour m'avoir guidé !

ps: je saurais qu'il ne faut jamais faire un copier/coller ^^

Répondre à Cyrius

7

le père, le 12 déc 2007 à 21:12:07

ps: je saurais qu'il ne faut jamais faire un copier/coller ^^

Mais si on peut en faire ! Mais pas les yeux fermés ....

Répondre à le père

8

Fredou-x3, le 26 mar 2008 à 16:26:37

Bonjour à tous,

Je suis novice dans tous ceux qui concernes les php.

J'ai longtemps chercher sur google, eetc... comment faire mais je n'ai jamais trouvé !

J'aimerais en faites que dans ma page index, il y est un formulaire avec champs texte où le visiteurs entre son Prénom. Lorqu'il à entrer son prénom et confirmer avec le bouton. ca le dirige vers une page qui dit Bienvenue prénom X(le prenom kil a enter).

Je pense que cela est posible si quelquun pouvais me transmetre les code ce sera très simpa.

Merci d'avance !

Bonne journey !!!

Répondre à Fredou-x3

9

 matmar08120, le 27 avr 2009 à 10:34:42

Je te fais par la methode de deux fichiers mais il est possible de le faire sur un seul.
en faisant un
if( isset($_POST['prenom']) && isset ($_POST['ok']))
{
echo 'Bonjour,'.$_POST['prenom'].' vous etes sur mon site......');
}
else
{
entrer votre prenom dans le formulaire
echo('<div id="formulaire">
<form name="visiteur" method="POST" action ="">
<table>
<tr><td>Prenom</td><input type="text" name="prenom" /></td></tr>
<tr><td><input type="submit" name="OK" value="OK"/></td></tr>
</table>
</form></div>')
}


methode avec deux pages php:

page1.php

<?php
echo('
<div id="formulaire">
<form name="visiteur" method="POST" action ="index.php">
<table>
<tr><td>Prenom</td><input type="text" name="prenom" /></td></tr>
<tr><td><input type="submit" name="OK" value="OK"/></td></tr>
</table>
</form></div>
);
?>

page index.php
<?php
$prenom=$_POST['prenom'];
echo('Bonjour ,'.$prenom.' est bienvenue sur mon site .....');
?>


Voila j'espere que sa taidera .je n'ai pas tout verifier mais bon

Répondre à matmar08120