ZauSucuc
-
15 mai 2016 à 12:36
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024
-
15 mai 2016 à 23:07
Bonjour,
Ce matin j'essaye de corriger mon code PHP, et je n’arrête pas avec les erreurs, a croire que ce matin n'est pas mon jour !
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Planta</title>
</head>
<body>
<form method="get" action="planta.php">
<p>
<input type="text" name="pseudo">
<input type="submit" value="Changer mon niveau" >
</p>
</form>
<?php
try
{
$bdd = new PDO('mysql:host=*********;dbname=*********;charset=utf8', '********', '*******');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
$req = $bdd->prepare('SELECT * FROM Membre WHERE pseudo = ?');
$req->execute(array($_GET['pseudo']));
echo $req['email'];
$lvl = $_GET['lvl'];
if(isset($_GET['lvl']))
{
if (is_numeric($_GET['lvl']))
{
if ($_GET['lvl'] > 30)
{
echo "<FONT color=\"red\" size=\"5\">Impossible ! Veuillez rentrer un nombre inférieur ou égal à 30 ! </FONT>";
}
else
{
if ($_GET['lvl'] < 1)
{
echo "<FONT color=\"red\" size=\"5\">Impossible ! Veuillez rentrer un nombre suppérieur ou égal à 1 !</FONT>";
}
else
{
echo " <FONT color=\"red\" size=\"5\">Vous avez une plante niveau " . htmlspecialchars($lvl) . " ! </FONT> <br>";
echo '<img src="Plantes/' . htmlspecialchars($lvl) . '.png" border="0" width="450"/></div> ';
}
}
}
else
{
echo "<FONT color=\"red\" size=\"5\">Impossible ! Veuillez rentrer un nombre ! <FONT>";
}
else
{
echo "<FONT color=\"red\" size=\"5\">Merci de renseigner un level ! </FONT>";
}
?>
</body>
</html>
"Erreur= Parse error: syntax error, unexpected 'else' (T_ELSE) in /home/u464599732/public_html/planta.php on line 61"
Ouattb11
Messages postés11Date d'inscriptionmardi 18 août 2015StatutMembreDernière intervention31 mai 2016 15 mai 2016 à 13:42
Il faut savoir qu'un else suit un if c est à dire que si
if {
}else {
}
donc si tu fais comme ca
if {
}else {
}else {
}
Tu vas avoir une erreur
regarder bien si tu as d'abord fermé t es else et tes if
Et dans le deuxième cas (qui donne une erreur mieux vaut utiliser des elseif a la place des else
Ensuite, essayes de placer le maximum de PHP AVANT ton html
cela rend les fichiers plus faciles à lire (et à corriger ^^ )
Pense aussi à récupérer les variables PROPREMENT (via l'écriture ternaire et des ISSET ou !EMPTY) AVANT de les utiliser
<?php
//affichage des erreurs php:
error_reporting(E_ALL);
//connexion à la bdd
require_once "cnxBdd.php";
//Récupération "propre" des variables
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo'] : null;
$lvl = !empty($_GET['lvl']) ? $_GET['lvl'] : null;
// Infos du membre
if($pseudo){
$sql = "SELECT * FROM Membre WHERE pseudo = :pseudo"
$a_datas = array(":pseudo"=>$pseudo);
try{
$req = $bdd->prepare($sql);
$req->execute($a_datas);
$result = $req->fetchAll(); // on stocke le resultat dans un array
echo $result[0]['email'];
}catch (Exception $e){
echo '<br>Erreur : ' . $e->getMessage();
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Planta</title>
</head>
<body>
<form method="get" action="">
<p>
<input type="text" name="pseudo">
<input type="submit" value="Changer mon niveau" >
</p>
</form>
<?php
if($lvl){
if (is_numeric($lvl)){
if ($lvl > 30) {
echo "<FONT color=\"red\" size=\"5\">Impossible ! Veuillez rentrer un nombre inférieur ou égal à 30 ! </FONT>";
} else {
if ($lvl < 1) {
echo "<FONT color=\"red\" size=\"5\">Impossible ! Veuillez rentrer un nombre suppérieur ou égal à 1 !</FONT>";
} else {
echo " <FONT color=\"red\" size=\"5\">Vous avez une plante niveau " . htmlspecialchars($lvl) . " ! </FONT> <br>";
echo '<img src="Plantes/' . htmlspecialchars($lvl) . '.png" border="0" width="450"/></div> ';
}
}
} else {
echo "<FONT color=\"red\" size=\"5\">Impossible ! Veuillez rentrer un nombre ! <FONT>";
}
} else{
echo "<FONT color=\"red\" size=\"5\">Merci de renseigner un level ! </FONT>";
}
?>
</body>
</html>
NB: Par contre, dans ton formulaire.. tu ne passes jamais la variable "level" ... tu la prends d'une autre page ??
Enfin bon.. comme ça.. le code ne devrait plus t'afficher d'erreurs.
15 mai 2016 à 12:40
Mais maintenant j'ai comme erreur:
"Parse error: syntax error, unexpected end of file in /home/u464599732/public_html/planta.php on line 69"