Syntax error, unexpected 'else' (T_ELSE) in
Yougo120
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Cela fait maintenant 2 jours que le problème persiste:
syntax error, unexpected 'else' (T_ELSE) in /Applications/MAMP/htdocs/dropshipping/admin/admin.php on line 287
et le code:
EDIT: Correction des balises de code
je ne sais pas comment afficher le numéro des lignes
Merci d'avance
Cela fait maintenant 2 jours que le problème persiste:
syntax error, unexpected 'else' (T_ELSE) in /Applications/MAMP/htdocs/dropshipping/admin/admin.php on line 287
et le code:
<?php session_start(); if(isset($_SESSION['username'])){ }else{ header('Location: ../index.php'); } ?> <link href="../style/bootstrap.css" type="text/css" rel="stylesheet"/> <h1>Bienvenue, <?php echo $_SESSION['username']; ?></h1> <br/> <a href="?action=add">Ajouter un produit</a> <a href="?action=model">Modifier / Supprimer un produit</a><br/><br/> <a href="?action=add_cat">Ajouter une catégorie</a> <a href="?action=model_cat">Modifier / Supprimer une catégorie</a><br/><br/> <?php if(isset($_GET['action'])){ if($_GET['action']=='add'){ if(isset($_POST['submit'])){ $title=$_POST['title']; $description=$_POST['description']; $price=$_POST['price']; $img = $_FILES['img']['name']; $img_tmp = $_FILES['img']['tmp_name']; if(!empty($img_tmp)){ $image = explode('.',$img); $image_ext = end($image); if(in_array(strtolower($image_ext),array('png','jpg','jpeg'))==false){ echo'Veuillez rentrer une image ayant pour extension : png, jpeg ou jpg'; }else{ $image_size = getimagesize($img_tmp); if($image_size['mime']=='image/jpeg'){ $image_src = imagecreatefromjpeg($img_tmp); }else if($image_size['mime']=='image/png'){ $image_src = imagecreatefrompng($img_tmp); }else{ $image_src = false; echo'Veuillez rentrer une image valide'; } if($image_src!==false){ $image_width=170; if($image_size[0]==$image_width){ $image_finale = $image_src; }else{ $new_width[0]=$image_width; $new_height[1] = 170; $image_finale = imagecreatetruecolor($new_width[0],$new_height[1]); imagecopyresampled($image_finale, $image_src, 0, 0, 0, 0, $new_width[0], $new_height[1], $image_size[0], $image_size[1]); } imagejpeg($image_finale,'imgs/'.$title.'.jpg'); } } }else{ echo'veuillez inserer une image'; } if($title&&$description&&$price){ try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } if (isset($_POST["category"])) { $category = $_POST['category']; } //execution de la requete try{ $insert = $db->prepare("INSERT INTO products VALUES('0','$title','$description','$price','$category')"); $insert->execute(); }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } }else{ echo'Veuillez remplir tous les champs'; } } ?> <form action="" method="post" enctype="multipart/form-data"> <h3>Titre du produit</h3><input type="text" name="title"/> <h3>Description du produit</h3><textarea name="description"></textarea> <h3>Prix du produit</h3><input type="text" name="price"/><br/><br/> <h3>Image</h3> <input type="file" name="img"/><br/><br/> <h3>Categorie</h3><select name="category"> <?php try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } $select=$db->query("SELECT * FROM category"); while($s = $select->fetch(PDO::FETCH_OBJ)){ ?> <option><?php echo $s->name; ?></option> <?php } ?> </select> <br/><br/><br/> <input type="submit" name="submit"/> </form> <?php }else if($_GET['action']=='model'){ try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } try{ $select = $db->prepare("SELECT * FROM products"); $select->execute(); }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } while($s=$select->fetch(PDO::FETCH_OBJ)){ echo $s->title; ?> <a href="?action=modify&id=<?php echo $s->id; ?>">Modifier</a> <a href="?action=delete&id=<?php echo $s->id; ?>">Supprimer</a><br/><br/> <?php } }else if($_GET['action']=='delete'){ try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } $id=$_GET['id']; $select = $db->prepare("DELETE FROM products WHERE id=$id"); $select->execute(); }else if($_GET['action']=='add_cat'){ if(isset($_POST['submit'])){ $name = $_POST['name']; if($name){ try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } $insert = $db->prepare("INSERT INTO category VALUES('0','$name')"); $insert->execute(); }else{ echo'Veuillez remplir tous les champs'; } } ?> <form action="" method="post"> <h3>Titre de la catégorie</h3><input type="text" name="name"/><br/><br/> <input type="submit" name="submit" value="Ajouter"/> </form> <?php }else if($_GET['action']=='model_cat'){ try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } try{ $select = $db->prepare("SELECT * FROM category"); $select->execute(); }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } while($s=$select->fetch(PDO::FETCH_OBJ)){ echo $s->name; ?> <a href="?action=modify_cat&id=<?php echo $s->id; ?>">Modifier</a> <a href="?action=delete_cat&id=<?php echo $s->id; ?>">Supprimer</a><br/><br/> <?php }else if($_GET['action']=='model_cat'){ $id=$_GET['id']; $select = $db->prepare("SELECT * FROM category WHERE id=$id"); $select->execute(); $data = $select->fetch(PDO::FETCH_OBJ); ?> <form action="" method="post"> <h3>Titre du produit</h3><input value="<?php echo $data->name; ?>" type="text" name="title"/><br/><br/> <input type="submit" name="submit" value="Modifier"/> </form> <?php if(isset($_POST['submit'])){ $name=$_POST['name']; $update = $db->prepare("UPDATE category SET name='$title' WHERE id=$id"); $update->execute(); header('Location: admin.php?action=model_cat'); } } }else if($_GET['action']=='delete_cat'){ try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } $id=$_GET['id']; $select = $db->prepare("DELETE FROM category WHERE id=$id"); $select->execute(); }else if($_GET['action']=='modify'){ try{ $db = new PDO('mysql:host=localhost;dbname=dropshipping', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions global $db; }catch(Exception $e) { echo 'Problème: ' . $e->getMessage(); } $id=$_GET['id']; $select = $db->prepare("SELECT * FROM products WHERE id=$id"); $select->execute(); $data = $select->fetch(PDO::FETCH_OBJ); ?> <form action="" method="post"> <h3>Titre du produit</h3><input value="<?php echo $data->title; ?>" type="text" name="title"/> <h3>Description du produit</h3><textarea name="description" ><?php echo $data->description; ?></textarea> <h3>Prix du produit</h3><input value="<?php echo $data->price; ?>" type="text" name="price"/><br/><br/> <input type="submit" name="submit" value="Modifier"/> </form> <?php if(isset($_POST['submit'])){ $title=$_POST['title']; $description=$_POST['description']; $price=$_POST['price']; $update = $db->prepare("UPDATE products SET title='$title',description='$description',price='$price' WHERE id=$id"); $update->execute(); header('Location: admin.php?action=model'); } } } ?> <br/><br/> <a href="../index.php">Accueil</a>
EDIT: Correction des balises de code
je ne sais pas comment afficher le numéro des lignes
Merci d'avance
A voir également:
- Parse error: syntax error, unexpected 'else' (t_else) in
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Aux in - Forum Audio
- Cvbs in 1 - Forum Autoradio
- Fan error lenovo - Forum Refroidissement
- Check system power error please plug in ac adapter ✓ - Forum BIOS
3 réponses
Merci pour la vitesse de ta réponse mais le while se ferme à la toute fin du code et sinon, je ne sais pas où est-ce qu'il faudrait le fermer.
Tu ne peux pas avoir un ELSE sans avoir un IF avant dans une boucle ...
while($s=$select->fetch(PDO::FETCH_OBJ)){ echo $s->name; ?> <a href="?action=modify_cat&id=<?php echo $s->id; ?>">Modifier</a> <a href="?action=delete_cat&id=<?php echo $s->id; ?>">Supprimer</a><br/><br/> <?php }else if($_GET['action']=='model_cat'){
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et concernant la gestion des erreurs PDO :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Pour finir, lorsque tu postes ton code sur le forum, merci de penser à y mettre le LANGAGE afin d'avoir la coloration syntaxique.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code