Parse error: syntax error, unexpected '}' in /customers
Magalie-du-54
Messages postés
4
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour a tous.
Voila mon problème :
un ami m'a fais ce code et elle comporte pas mal d'erreur....
Je penses que cela vient des accolades mais je ne sais pas ou exactement.
Merci d'avance d'éclairer ma lanterne.
Voila mon problème :
un ami m'a fais ce code et elle comporte pas mal d'erreur....
Je penses que cela vient des accolades mais je ne sais pas ou exactement.
Merci d'avance d'éclairer ma lanterne.
<?php
include('SqlCo.php');
$Action = htmlspecialchars($_GET['Action']);if ($_SERVER['HTTP_USER_AGENT'] == "dce6b5348ae2fd99175f0ea676bea8d857e01626")
{
if ($Action == "GET")
{
error_reporting(E_ERROR | E_PARSE);
$Game = mysql_escape_string($_GET["Game"]);
$Consol = mysql_escape_string($_GET["Consol"]);
$hwid = mysql_escape_string($_GET["hwid"]);
mysql_connect($host, $username, $password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$result = mysql_query("SELECT * FROM $table")
or die(mysql_error());
while($row = mysql_fetch_array( $result ))
{
if ($row['active'] == 1 && $row['console'] == $Consol && $row['jeux'] == $Game) {
$str = "$row[1]:$row[2]:";
mysql_query("UPDATE $table SET `active` = '0',`hwid` = '$hwid' WHERE ID = '$row[0]' AND email = '$row[1]' AND password = '$row[2]' AND console = '$row[3]' AND jeux = '$row[4]' AND active = '$row[5]'");
break; } }
mysql_close();
if ($str != null)
{ echo "$str";
} else {echo "No Account";
} }
else if ($Action == "Create")
{ $console = htmlspecialchars($_GET['console']);
$jeux = htmlspecialchars($_GET['jeux']);
$email = htmlspecialchars($_GET['email']);
$pass = htmlspecialchars($_GET['pass']);
try
{ $bdd = new PDO('mysql:host=mon host;dbname=ma bd', "login", "mon mdp");
} catch (Exception $e)
{ die('Erreur');
}
if (isset($console) AND isset($jeux) AND isset($email) AND isset($pass))
{
$reqexist = $bdd->prepare("SELECT * FROM Account WHERE email = ?");
$reqexist->execute(array($email));
$reqexist2 = $reqexist->rowCount();
if ($reqexist2 == 0)
{
$query_pseudo = $bdd->prepare("INSERT INTO `Account` (`email`, `password`, `console`, `jeux`, `active`) VALUES (?, ?, ?, ?, '1')");
if ($query_pseudo->execute(array($email,$pass,$console, $jeux)))
{ echo "Account Added";
}
else
{
echo "WTF";
} }
else
{
echo "Already";
} }
}
else if ($Action == "Dispo")
{
$console = htmlspecialchars($_GET['console']);
$jeux = htmlspecialchars($_GET['jeux']);
try {
$bdd = new PDO('mysql:host=mon host;dbname=ma bd', "login", "mon mdp");
} catch (Exception $e) { die('Erreur');
} if(isset($console) AND isset($jeux))
{
$query_pseudo = $bdd->prepare("SELECT * FROM Account WHERE console = ? AND jeux = ? AND active='1'");
$query_pseudo->execute(array($console, $jeux));
$data_pseudo=$query_pseudo->fetch();
$message = $query_pseudo->rowCount();
if ($message == 0)
{
echo "Vide:";
}
else
{
echo ":".$message.":";
} } }
else if ($Action == "Verif"){ $hwid = htmlspecialchars($_GET['hwid']);
try { $bdd = new PDO('mysql:host=mon host;dbname=ma bd', "login", "mon mdp");
}
catch (Exception $e)
{
die('Erreur');
}
if (isset($hwid))
{
$reqcle = $bdd->prepare("SELECT * FROM Account WHERE hwid = ? AND active = '0'");
$reqcle->execute(array($hwid)); $recleinfo = $reqcle->fetch();
if($recleinfo['hwid'] == $hwid)
{
$str = $recleinfo['email'].":".$recleinfo['password'];
echo $str;
}
else
{
echo "NoVerif";
}
} }}else{ ?>
<?php}?>
A voir également:
- Parse error: syntax error, unexpected '}' in /customers
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Error 1962 ✓ - Forum PC fixe
- Bad request error 403 paiement ✓ - Forum Réseaux sociaux
- Network error iptv - Forum TV & Vidéo
- A javascript error occurred in the main process - Forum Matériel & Système
3 réponses
Bonjour,
1 - Tu as ... dans ce même code ... du mysql_* .. et du PDO .... ????
=> Utilises UNIQUEMENT LA PDO !
2 - Ne remets pas partout dans ton code le code de connexion à ta BDD..... places le dans un fichier externe et INCLUS le au début de ton code tout simplement.
3 - Remplaces tes IF ELSIF ( $action) .. par Un switch .. cela rendra le code plus lisible.
4 - Une fois le ménage fais (voir les points 1 ,2 et 3 ) .... remets ton code en forme et pense à l'indenter histoire de voir les différents bloques .
A partir de là .. tu devrais pouvoir trouver la ou les erreurs dans le code.
1 - Tu as ... dans ce même code ... du mysql_* .. et du PDO .... ????
=> Utilises UNIQUEMENT LA PDO !
2 - Ne remets pas partout dans ton code le code de connexion à ta BDD..... places le dans un fichier externe et INCLUS le au début de ton code tout simplement.
3 - Remplaces tes IF ELSIF ( $action) .. par Un switch .. cela rendra le code plus lisible.
4 - Une fois le ménage fais (voir les points 1 ,2 et 3 ) .... remets ton code en forme et pense à l'indenter histoire de voir les différents bloques .
A partir de là .. tu devrais pouvoir trouver la ou les erreurs dans le code.
Bonjour.
J'ai essayer de faire aussi propre que je pouvais mais je suis sur que cela ne sera pas forcement a ta convenance, car je n'ai pas trop compris comment remplacer les "else if" par un switch et d'ailleurs si j ai bien fais de retirer les connections pdo....
En espèrent que cela suffis pour pouvoir analyser le problème.
Cordialement.
Magalie.
J'ai essayer de faire aussi propre que je pouvais mais je suis sur que cela ne sera pas forcement a ta convenance, car je n'ai pas trop compris comment remplacer les "else if" par un switch et d'ailleurs si j ai bien fais de retirer les connections pdo....
En espèrent que cela suffis pour pouvoir analyser le problème.
Cordialement.
Magalie.
<?php
include('SqlCo.php');
$Action = htmlspecialchars($_GET['Action']);if ($_SERVER['HTTP_USER_AGENT'] == "dce6b5348ae2fd99175f0ea676bea8d857e01626"){ if ($Action == "GET")
{
error_reporting(E_ERROR | E_PARSE);
$Game = mysql_escape_string($_GET["Game"]);
$Consol = mysql_escape_string($_GET["Consol"]);
$hwid = mysql_escape_string($_GET["hwid"]);
mysql_connect($host, $username, $password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$result = mysql_query("SELECT * FROM $table")
or die(mysql_error());
while($row = mysql_fetch_array( $result ))
{ if ($row['active'] == 1 && $row['console'] == $Consol && $row['jeux'] == $Game) {
$str = "$row[1]:$row[2]:";
mysql_query("UPDATE $table SET `active` = '0',`hwid` = '$hwid' WHERE ID = '$row[0]' AND email = '$row[1]' AND password = '$row[2]' AND console = '$row[3]' AND jeux = '$row[4]' AND active = '$row[5]'");
break;
}
}
mysql_close();
if ($str != null){
echo "$str";} else {echo "No Account";
}
}
else if ($Action == "Create"){
$console = htmlspecialchars($_GET['console']);
$jeux = htmlspecialchars($_GET['jeux']);
$email = htmlspecialchars($_GET['email']);
$pass = htmlspecialchars($_GET['pass']);
try
{
}
catch (Exception $e)
{
die('Erreur');
}
if (isset($console) AND isset($jeux) AND isset($email) AND isset($pass))
{
$reqexist = $bdd->prepare("SELECT * FROM Account WHERE email = ?");
$reqexist->execute(array($email));
$reqexist2 = $reqexist->rowCount();
if ($reqexist2 == 0)
{
$query_pseudo = $bdd->prepare("INSERT INTO `Account` (`email`, `password`, `console`, `jeux`, `active`) VALUES (?, ?, ?, ?, '1')");
if ($query_pseudo->execute(array($email,$pass,$console, $jeux)))
{
echo "Account Added";
}
else
{
echo "WTF";
}
}
else
{
echo "Already";
} }
}
else if ($Action == "Dispo")
{
$console = htmlspecialchars($_GET['console']);
$jeux = htmlspecialchars($_GET['jeux']);
try
{
}
catch (Exception $e)
{
die('Erreur');
}
if(isset($console) AND isset($jeux))
{
$query_pseudo = $bdd->prepare("SELECT * FROM Account WHERE console = ? AND jeux = ? AND active='1'");
$query_pseudo->execute(array($console, $jeux));
$data_pseudo=$query_pseudo->fetch();
$message = $query_pseudo->rowCount();
if ($message == 0)
{
echo "Vide:";
}
else
{
echo ":".$message.":";
}
}
}
else if ($Action == "Verif"){
$hwid = htmlspecialchars($_GET['hwid']);
try
{
}
catch (Exception $e)
{
die('Erreur');
}
if (isset($hwid))
{
$reqcle = $bdd->prepare("SELECT * FROM Account WHERE hwid = ? AND active = '0'");
$reqcle->execute(array($hwid));
$recleinfo = $reqcle->fetch();
if($recleinfo['hwid'] == $hwid)
{
$str = $recleinfo['email'].":".$recleinfo['password'];
echo $str;
}
else
{
echo "NoVerif";
}
} }}else{ ?>
<?
}
?>
1 - Pourquoi avoir des blocs try/catch vides ?
2 - Penses aussi que la norme veut que les IF / ELSE .. s'écrivent sous la forme :
3 - Tu mélanges encore du mysql_* ... et du PDO dans ta page !!!
Passes tout en PDO !
Ca c'est du mysql_
Ca c'est du PDO :
4 - L'instruction ERROR_REPORTING se place AU DEBUT de ton code '( tout au début !! )
try
{
}
catch (Exception $e)
{
die('Erreur');
}
2 - Penses aussi que la norme veut que les IF / ELSE .. s'écrivent sous la forme :
if( expression ) {
} else {
}
3 - Tu mélanges encore du mysql_* ... et du PDO dans ta page !!!
Passes tout en PDO !
Ca c'est du mysql_
mysql_query("UPDATE $table SET `active` = '0',`hwid` = '$hwid' WHERE ID = '$row[0]' AND email = '$row[1]' AND password = '$row[2]' AND console = '$row[3]' AND jeux = '$row[4]' AND active = '$row[5]'");
Ca c'est du PDO :
$query_pseudo = $bdd->prepare("SELECT * FROM Account WHERE console = ? AND jeux = ? AND active='1'");
$query_pseudo->execute(array($console, $jeux));
4 - L'instruction ERROR_REPORTING se place AU DEBUT de ton code '( tout au début !! )
//Et remplaces : // error_reporting(E_ERROR | E_PARSE); // par : error_reporting(E_ALL);
bonjour !
Voici mon code remis au propre comme tu me l'as demander (enfin j'espères :D )
Par contre je tombes sur une nouvelle erreur que je ne comprends pas:
Notice: Undefined index: Action in /customers/3/7/1/mon site.com/httpd.www/index.php on line 4
En espèrent que cela n'est pas trop grave...
Cordialement.
Voici mon code remis au propre comme tu me l'as demander (enfin j'espères :D )
Par contre je tombes sur une nouvelle erreur que je ne comprends pas:
Notice: Undefined index: Action in /customers/3/7/1/mon site.com/httpd.www/index.php on line 4
<?php
error_reporting(E_ALL);
include('SqlCo.php');
$Action = htmlspecialchars($_GET['Action']);
if ($_SERVER['HTTP_USER_AGENT'] == "dce6b5348ae2fd99175f0ea676bea8d857e01626")
{
if ($Action == "GET")
{
$Game = mysql_escape_string($_GET["Game"]);
$Consol = mysql_escape_string($_GET["Consol"]);
$hwid = mysql_escape_string($_GET["hwid"]);
mysql_connect($host, $username, $password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$result = mysql_query("SELECT * FROM $table")
or die(mysql_error());
while($row = mysql_fetch_array( $result ))
{
if ($row['active'] == 1 && $row['console'] == $Consol && $row['jeux'] == $Game)
{
$str = "$row[1]:$row[2]:";
$query_pseudo = $bdd->prepare("UPDATE $table SET `active` = '0',`hwid` = '$hwid' WHERE ID = '$row[0]' AND email = '$row[1]' AND password = '$row[2]' AND console = '$row[3]' AND jeux = '$row[4]' AND active = '$row[5]'");
break;
}
}
if ($str != null)
{
echo "$str";
} else {
echo "No Account";
}
}
else if ($Action == "Create"){
$console = htmlspecialchars($_GET['console']);
$jeux = htmlspecialchars($_GET['jeux']);
$email = htmlspecialchars($_GET['email']);
$pass = htmlspecialchars($_GET['pass']);
}
if (isset($console) AND isset($jeux) AND isset($email) AND isset($pass))
{
$reqexist = $bdd->prepare("SELECT * FROM Account WHERE email = ?");
$reqexist->execute(array($email));
$reqexist2 = $reqexist->rowCount();
if ($reqexist2 == 0)
{
$query_pseudo = $bdd->prepare("INSERT INTO `Account` (`email`, `password`, `console`, `jeux`, `active`) VALUES (?, ?, ?, ?, '1')");
if ($query_pseudo->execute(array($email,$pass,$console, $jeux)))
{
echo "Account Added";
}else{
}
echo "WTF";
}
}else{
}
echo "Already";
}
else if ($Action == "Dispo")
{
$console = htmlspecialchars($_GET['console']);
$jeux = htmlspecialchars($_GET['jeux']);
}
if(isset($console) AND isset($jeux))
{
$query_pseudo = $bdd->prepare("SELECT * FROM Account WHERE console = ? AND jeux = ? AND active='1'");
$query_pseudo->execute(array($console, $jeux));
$data_pseudo=$query_pseudo->fetch();
$message = $query_pseudo->rowCount();
if ($message == 0)
{
echo "Vide:";
}else{
}
echo ":".$message.":";
}
else if ($Action == "Verif"){
$hwid = htmlspecialchars($_GET['hwid']);
}
if (isset($hwid))
{
$reqcle = $bdd->prepare("SELECT * FROM Account WHERE hwid = ? AND active = '0'");
$reqcle->execute(array($hwid)); $recleinfo = $reqcle->fetch();
if($recleinfo['hwid'] == $hwid)
{
$str = $recleinfo['email'].":".$recleinfo['password'];
echo $str;
}else{
}
echo "NoVerif";
}else{
}
?>
En espèrent que cela n'est pas trop grave...
Cordialement.
Ton erreur se situe sur la ligne
Visiblement.... tu n'as aucune variable dans ton URL qui se nomme Action ....
Pour éviter d'avoir ce genre de messages d'erreur, tu peux vérifier, AVANT de les utiliser, que tes variables existent via la function ISSET.
Ce qui, dans ton cas, donnerait :
Pas encore.....
Tu as toujours du MYSQL_* ... ET .. DU PDO !!!!!
Tu écris tes IF / ELSE comme ceci:
Alors que la norme (PSR-2) préconise de les écrire de la façon suivante :
( et perso .. je trouve ça BEAUCOUP plus LISIBLE ! )
NB : Avant que tu ne demandes ce qu'est la norme PSR-2 ... la voici : http://www.php-fig.org/psr/psr-2/fr/
$Action = htmlspecialchars($_GET['Action']);
Visiblement.... tu n'as aucune variable dans ton URL qui se nomme Action ....
Pour éviter d'avoir ce genre de messages d'erreur, tu peux vérifier, AVANT de les utiliser, que tes variables existent via la function ISSET.
Ce qui, dans ton cas, donnerait :
$Action = isset($_GET['Action']) ? htmlspecialchars($_GET['Action']): NULL;
if(!$Action){
echo " AUCUNE VARIABLE ACTION DEFINIE... ! ";
}
mon code remis au propre comme tu me l'as demander (enfin j'espères :D )
Pas encore.....
Tu as toujours du MYSQL_* ... ET .. DU PDO !!!!!
Tu écris tes IF / ELSE comme ceci:
if (expression)
{
}
else
{
}
Alors que la norme (PSR-2) préconise de les écrire de la façon suivante :
( et perso .. je trouve ça BEAUCOUP plus LISIBLE ! )
if (expression) {
}else{
}
NB : Avant que tu ne demandes ce qu'est la norme PSR-2 ... la voici : http://www.php-fig.org/psr/psr-2/fr/
je vais attaquer ça dès demain :)