Problème de Login

Eléphant du PHP | 51 Messages

03 juil. 2008, 16:59

Salut.

J'ai fait ce code pour se connecter à l'espace administration de mon site mais quand je vais sur la page en question, j'obtiens ça:
Parse error: parse error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /home/www/ciaonetwork.com/admin/login.php on line 65
Voici mon code PHP:
if (!isset($_SESSION)) {
  session_start();
}

if (isset($_POST['login'] && $_POST['pass'])) {  // ici c'est la ligne 65
  if ($_POST['login'] == '****' && $_POST['pass'] == '****')
  {
  $_SESSION['login'] = '1';
  header("Location: " . "/admin/index.php" );
  }
  else
  {
  header("Location: " . "/admin/login.php?q=erreur" );
  }
else
{
header("Location: " . "/admin/login.php" );
}
Ousque ça cloche????

Merci d'avance
La bave du crapaud n'atteinds pas la blanche colombe.
Site principal: CiaoNetwork
http://blog.ciaonetwork.com

Mammouth du PHP | 1353 Messages

03 juil. 2008, 17:02

Le problème vient effectivement de la ligne 65 :)
if (isset($_POST['login'] && $_POST['pass']))
Pour tester l'existence des deux variables il faut plutôt faire :
if (isset($_POST['login']) && isset($_POST['pass']))

EDIT :

Effectivement tu peux aussi séparer les variables par des ',' :p
Modifié en dernier par guilt92 le 03 juil. 2008, 17:11, modifié 1 fois.
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 445 Messages

03 juil. 2008, 17:05

Salut.

Regardes bien comment fonctionne isset()

Et surtout l'exemple #1.

Edit : Moi j'utiliserais plutôt (faut voir d'après les benchs)
if (isset($_POST['login'], $_POST['pass'])) 

Eléphant du PHP | 51 Messages

04 juil. 2008, 08:27

Merci beaucoup, ça marche! (presque). :wink:

Prochaine erreur:
Parse error: parse error, unexpected T_ELSE in /home/www/ciaonetwork.com/admin/login.php on line 75
Et revoilà le code PHP:
if (!isset($_SESSION)) {
  session_start();
}
if (isset($_POST['login'], $_POST['pass'])) 
  {
  if ($_POST['login'] == '*****' && $_POST['pass'] == '****')
  {
  $_SESSION['login'] = '1';
  header("Location: " . "/admin/index.php" );
  }
  else
  {
  header("Location: " . "/admin/login.php?q=erreur" );
  }
else // la c'est la ligne 75
{
header("Location: " . "/admin/login.php" );
}
Désolé pour le nouveau problème mais c'est le dernier(j'espère).

Damien
La bave du crapaud n'atteinds pas la blanche colombe.
Site principal: CiaoNetwork
http://blog.ciaonetwork.com

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 juil. 2008, 08:49

Je ne sais si c'était tes vrais identifiants ou pas, mais dans le doute, j'ai préféré les supprimer.
N'oublie pas que ce forum est ouvert au net entier et que n'importe qui peut le lire et aurait donc pu récupérer tes id admin.

Sinon, concernant ton problème, réindente bien et tu comprendras
if (!isset($_SESSION)) {
  session_start();
}
if (isset($_POST['login'], $_POST['pass'])) 
{
    if ($_POST['login'] == '*****' && $_POST['pass'] == '****')
    {
        $_SESSION['login'] = '1';
        header("Location: " . "/admin/index.php" );
    }
    else
    {
        header("Location: " . "/admin/login.php?q=erreur" );
    }
// <== Il ne manque pas quelque chose ici ?
else
{
    header("Location: " . "/admin/login.php" );
}
Comme quoi, une bonne identation, c'est important ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 51 Messages

04 juil. 2008, 09:01

Comme quoi, une bonne identation, c'est important ;)
J'ai réintenté, et ça marche!
Merci à tous :lol:
La bave du crapaud n'atteinds pas la blanche colombe.
Site principal: CiaoNetwork
http://blog.ciaonetwork.com