[PHP] Probleme code $_SESSION
Dernière réponse : dans Programmation
Bonjour,
Voila j'ai un petit probleme, j'ai réalisé un formulaire d'inscription sur mon site il marche. Il inscrit dans la base de donée MySQL : ( dans l'ordre ) :
- Nom - Prenom - Pseudo - Email - Password - Homme - Femme. ( si c'est un homme il inscrit homme dans le champ homme, si c'est une femme il inscrit femme dans le champ femme ).
Seulement maintenant je fait une page de connection. J'ai mon code html qui marche correctement ( formconect.html ), il est inseré en include sur la page connection.php, et il poste les donnés dans veriflogin.php . Je vous donne le code :
Apres il est inclu sur une page avec : <? require "formconect.html" ?>
Et voila la page PHP verif login :
Lors de l'execution du programme, une erreur apparait :
Parse error: parse error, unexpected $ in /homepages/14/d169039227/htdocs/veriflogin.php on line 111
( La ligne 111 est la derniere ligne de mon code de la page : </html> )
Comment résoudre mon probleme.
Je vous remercie d'avance !
TidusX
Voila j'ai un petit probleme, j'ai réalisé un formulaire d'inscription sur mon site il marche. Il inscrit dans la base de donée MySQL : ( dans l'ordre ) :
- Nom - Prenom - Pseudo - Email - Password - Homme - Femme. ( si c'est un homme il inscrit homme dans le champ homme, si c'est une femme il inscrit femme dans le champ femme ).
Seulement maintenant je fait une page de connection. J'ai mon code html qui marche correctement ( formconect.html ), il est inseré en include sur la page connection.php, et il poste les donnés dans veriflogin.php . Je vous donne le code :
<form id="form2" name="form2" method="post" action="<a href="http://www.tulkadream.com/veriflogin.php" target="_blank">http://www.tulkadream.com/veriflogin.php</a>">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Pseudo </b></td>
<td width="200">
<input name="Pseudo" type="text" id="Pseudo"> </td>
</tr>
<tr>
<td width="200"><strong>Password </strong></td>
<td width="200">
<input name="Password" type="password" id="Password"> </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="submit" value="Login">
</div></td>
</tr>
</table>
</form>
Apres il est inclu sur une page avec : <? require "formconect.html" ?>
Et voila la page PHP verif login :
<?
mysql_connect("*****", "******", "******");
mysql_select_db("******");
session_start();
$loginOK = false;
if ( isset($_POST) && (!empty($_POST['Pseudo'])) && (!empty($_POST['Password'])) ) {
extract($_POST);
$sql = "SELECT Nom, Prenom, Pseudo, Email, Password FROM membres WHERE Pseudo = '".addslashes($Pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($Password == $data['Password']) {
$loginOK = true;
if ($loginOK) {
$_SESSION['Pseudo'] = $data['Pseudo'];
$_SESSION['Prenom'] = $data['Prenom'];
$_SESSION['Nom'] = $data['Nom'];
$_SESSION['Email'] = $data['Email'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
mysql_close();
?>
Lors de l'execution du programme, une erreur apparait :
Parse error: parse error, unexpected $ in /homepages/14/d169039227/htdocs/veriflogin.php on line 111
( La ligne 111 est la derniere ligne de mon code de la page : </html> )
Comment résoudre mon probleme.
Je vous remercie d'avance !
TidusX
Autres pages sur : php probleme code session
Lassé par la pub ? Créez un compte
CORRECTION :
tu n'as pas fermé une de tes condition "if," regarde j'ai corrigé.
<?
mysql_connect("*****", "******", "******");
mysql_select_db("******");
session_start();
$loginOK = false;
if ( isset($_POST) && (!empty($_POST['Pseudo'])) && (!empty($_POST['Password'])) ) {
extract($_POST);
$sql = "SELECT Nom, Prenom, Pseudo, Email, Password FROM membres WHERE Pseudo = '".addslashes($Pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($Password == $data['Password']) {
$loginOK = true;}<------------------- ici !!
if ($loginOK) {
$_SESSION['Pseudo'] = $data['Pseudo'];
$_SESSION['Prenom'] = $data['Prenom'];
$_SESSION['Nom'] = $data['Nom'];
$_SESSION['Email'] = $data['Email'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
mysql_close();
?>
tu n'as pas fermé une de tes condition "if," regarde j'ai corrigé.
Voici le code que t'as donné guizmo16 proprement indenté, tu verras surement ton erreur:
<?
mysql_connect("*****", "******", "******" );
mysql_select_db("******" );
session_start();
$loginOK = false;
if ( isset($_POST) && (!empty($_POST['Pseudo'])) && (!empty($_POST['Password'])) ) {
extract($_POST);
$sql = "SELECT Nom, Prenom, Pseudo, Email, Password FROM membres WHERE Pseudo = '".addslashes($Pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($Password == $data['Password']) {
$loginOK = true;
}
if ($loginOK) {
$_SESSION['Pseudo'] = $data['Pseudo'];
$_SESSION['Prenom'] = $data['Prenom'];
$_SESSION['Nom'] = $data['Nom'];
$_SESSION['Email'] = $data['Email'];
} else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
mysql_close();
?>
Merci j'ai trouvé l'erreur, merci kymic et les autres ! c'etais bien les if :
session_start();
$loginOK = false;
if (
isset($_POST) && (!empty($_POST['Pseudo'])) && (!empty($_POST['Password'])) ) {
extract($_POST);
}
$sql = "SELECT Nom, Prenom, Pseudo, Email, Password FROM membres WHERE Pseudo = '".addslashes($Pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
}
if ($Password == $data['Password'])
{
$loginOK = true;
}
if ($loginOK)
{
$_SESSION['Pseudo'] = $data['Pseudo'];
$_SESSION['Prenom'] = $data['Prenom'];
$_SESSION['Nom'] = $data['Nom'];
$_SESSION['Email'] = $data['Email'];
} else
{
echo 'Une erreur est survenue, veuillez réessayer !';
}
session_start();
$loginOK = false;
if (
isset($_POST) && (!empty($_POST['Pseudo'])) && (!empty($_POST['Password'])) ) {
extract($_POST);
}
$sql = "SELECT Nom, Prenom, Pseudo, Email, Password FROM membres WHERE Pseudo = '".addslashes($Pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
}
if ($Password == $data['Password'])
{
$loginOK = true;
}
if ($loginOK)
{
$_SESSION['Pseudo'] = $data['Pseudo'];
$_SESSION['Prenom'] = $data['Prenom'];
$_SESSION['Nom'] = $data['Nom'];
$_SESSION['Email'] = $data['Email'];
} else
{
echo 'Une erreur est survenue, veuillez réessayer !';
}
crazycat@idn a dit :
non, un habitué du C te diras l'inverse.Et même si je préfère la même structure que toi, la structure "C" à l'avantage de pouvoir (par exemple) commenter le if:
if () // on vérifie que $a est égal à $b
{
}
else // tiens, c'est l'autre cas
{
} // on vient de finir le if
On peut quand même commenter le if si on met le { après le if() (en PHP tout du moins...)
Effectivement, autant pour moi, j'ai toujours cru que la base etait
if() {
}
Je viens d'aller lire des exemple de C et effectivement, l'accolade est après. (Je n'ai jamais touché au C).
Mais question lisibilité, il est plus beau de bien faire les tabulation des if avec les acollade bien présente, pour ma part
if() {
}
Je viens d'aller lire des exemple de C et effectivement, l'accolade est après. (Je n'ai jamais touché au C).
Mais question lisibilité, il est plus beau de bien faire les tabulation des if avec les acollade bien présente, pour ma part
Ca c'est pour les petites conditions, c'est vrai que c'est pratique. sinon pour l'indentation, perosnnelement, ce que je trouve le plus lisible c'est ça :
if (condition)
{
if (condition 2)
{
}
else
{
}
}
else
{
}
Ca a l'avantage d'être clair et ouvert, moins tassé. Surtout qu'avec Notepad++, on voit les lignes du guide d'indentation et on peut trouver toute de suite la/les condition(s) qui se trouvent avant un traitement. Mais comme l'a bien dit Crazycat@idn : "ce qui compte, c'est que ça marche et qu'on arrive à lire le code.".
Mon avis, à plus
if (condition)
{
if (condition 2)
{
}
else
{
}
}
else
{
}
Ca a l'avantage d'être clair et ouvert, moins tassé. Surtout qu'avec Notepad++, on voit les lignes du guide d'indentation et on peut trouver toute de suite la/les condition(s) qui se trouvent avant un traitement. Mais comme l'a bien dit Crazycat@idn : "ce qui compte, c'est que ça marche et qu'on arrive à lire le code.".
Mon avis, à plus
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumPhp probleme avec variables de sessions
- ForumPhp probleme de variables de sessions
- ForumPhp probleme de session et de header
- ForumPhp probleme session
- ForumPhp probleme de session id
- ForumPhp probleme de session
- ForumPhp probleme de session sous free
- solutionsPhp probleme de session redirection
- ForumPhp probleme de session sous ie
- ForumPhp probleme de sessions avec ie
- Voir plus