Erreur bizzar de php5 - Je ne l'ai jamais vu !

Petit nouveau ! | 9 Messages

08 mars 2008, 20:52

Alors voila ca fais 1 ans que je developpe du PHP et cette erreur je ne l'est jamais vu :

Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM in /var/www/valoo-blog/modules/admin/connexion.php on line 14

Voila le code de ma page :
<?php
session_start();
require("./../../config/fonction.inc.php");
require("./../../config/conf.inc.php"); 


$login = $_POST['login'];
$mdp = $_POST['mdp'];
$mdp = md5 ($mdp);

		
if (!empty($login) && !empty($mdp))
	{
		$sql = pg_query("SELECT blog_pseudo, mdp, id, level FROM valoo_blog_options WHERE blog_pseudo='$login'");						 		(list($login_sql, $verif, $id, level) = pg_fetch_array ($sql));
		

		if ($login != $login_sql) {
		$_SESSION['erreur_login'] = '1';
		redirect("login.php" , 0);
		}
		
	
		else 
			{
				if ($pass != $verif) {
				$_SESSION['erreur_login'] = '2';
				redirect("login.php" , 0);
		}
		
				else 
					{
						$_SESSION['login'] = $login_sql;
						$_SESSION['level'] = $level;
						$_SESSION['pass'] = $mdp;
						redirect("./admin.php" , 0);
					}
			}
		}
else 
{
redirect("./login.php" , 0);
};

		
?>
Je ne vois pas de quoi vient cette erreur.
Esque vous pouvez me m'aider parceque la je seche :(
Merci d'avance

Valentin GUEGNARD

Mammouth du PHP | 1511 Messages

08 mars 2008, 22:21

Il y a un ; en trop a la fin pour commencer ;)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

08 mars 2008, 22:34

PAAMAYIM_NEKUDOTAYIM est un mot hébreu qui désigne les caractères :: (double deux points) souvent utilisés en programmation objet pour désigner un membre de classe et qui est représenté sous PHP par les caractères -> (tiret et supérieur)

L'erreur pointe sur la ligne 14 qui désigne la fonction pg_query() : peut-on savoir plus sur cette fonction stp.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

09 mars 2008, 07:04

Wow. Avant toute chose il faut impérativement que tu mettes de l'ordre dans tes sources.
if ($test)
{
    x();
}
else
{
    y();
}
pas
   if($truc){
                   x();                                     lolwut?();
}
          else
{
   y();
  }
Une fois cette étape accomplie, tu vas sûrement t'apercevoir que tu as un bout de code perdu tout à droite de l'écran, et que dans ce bout de code perdu il y a une variable sans $

Petit nouveau ! | 9 Messages

09 mars 2008, 20:15

Merci c'était bien le ; en plus et pour repondre a "sadeq" la fonction pg_query est une fonction de php pour les base de donné PosgreSql

Et oui il me faut de l'ordre dans mes script!

Merci Beaucoup

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

09 mars 2008, 20:35

c'était bien le ;
Non, ce n'était pas le point-virgule, tu peux mettre autant de points-virgules que tu veux en dehors des expressions. Par exemple, ceci est du code PHP valide et fonctionnel
;{}{};;{;{{{;;{{;(@@(@@print((@(@'ça marche')))));;;}};};;}};};;
Bien sûr, ce n'est pas une raison pour ajouter des caractères inutiles. Le problème, que je décris plus haut, vient de la ligne 14 et de sa vraie-fausse variable :
(list($login_sql, $verif, $id, level) = pg_fetch_array ($sql));