Page 1 sur 1

Problème de Login

Posté : 03 juil. 2008, 16:59
par docdamien
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

Posté : 03 juil. 2008, 17:02
par guilt92
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

Posté : 03 juil. 2008, 17:05
par h0_noMan
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'])) 

Posté : 04 juil. 2008, 08:27
par docdamien
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

Posté : 04 juil. 2008, 08:49
par zeus
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 ;)

Posté : 04 juil. 2008, 09:01
par docdamien
Comme quoi, une bonne identation, c'est important ;)
J'ai réintenté, et ça marche!
Merci à tous :lol: