Yougo120
Messages postés21Date d'inscriptiondimanche 26 août 2018StatutMembreDernière intervention16 décembre 2018
-
Modifié le 26 août 2018 à 16:56
jordane45
Messages postés38369Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 3 janvier 2025
-
26 août 2018 à 23:58
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:
<?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
Yougo120
Messages postés21Date d'inscriptiondimanche 26 août 2018StatutMembreDernière intervention16 décembre 2018 26 août 2018 à 22:18
Donc concrètement qu'est-ce que je dois faire et si possible si vous pouviez refaire cette parti du code, j'en serais très reconaissant ! Merci d'avance
jordane45
Messages postés38369Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 3 janvier 20254 721 26 août 2018 à 23:58
Ferme ton while avant ton else..
Et puis applique ce qui est marqué dans les liens que je t'ai donné
26 août 2018 à 16:59
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