[PHP] probleme code
Résolu/Fermé
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
-
Modifié par jordane45 le 6/07/2015 à 11:33
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 - 17 juil. 2015 à 08:51
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 - 17 juil. 2015 à 08:51
A voir également:
- [PHP] probleme code
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
2 réponses
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
6 juil. 2015 à 11:14
6 juil. 2015 à 11:14
Bonjour,
pourquoi il y a 2 fois le
sinon il manque une accolade fermée pour le while du "modifyanddelete"
pourquoi il y a 2 fois le
elseif($_GET['action']=='delete'){
sinon il manque une accolade fermée pour le while du "modifyanddelete"
jordane45
Messages postés
38371
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 janvier 2025
4 722
Modifié par jordane45 le 6/07/2015 à 12:05
Modifié par jordane45 le 6/07/2015 à 12:05
Bonjour,
Voici le code remis en forme et corrigé.
Cordialement,
Jordane
Voici le code remis en forme et corrigé.
<?php //fichier de connexion à la BDD : cnxBDD.php try { $db = new PDO('mysql:host=127.0.0.1;dbname=e-commerce', 'root', ''); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(exception $e){ echo 'Une erreur s\'est produite'; die(); } ?>
<?php //démarrage "propre" des sessions if(session_id() == '') { session_start(); } // On inclut le fichier de connexion à la BDD require_once "cnxBDD.php"; //récupération des variables // avec ISSET + écriture Ternaire $pseudo = isset($_SESSION['username'])?$_SESSION['username']:NULL; $action = isset($_GET['action'])?$_GET['action']:NULL; $title = !empty($_POST['title'])?$_POST['title']:NULL; $description = !empty($_POST['description'])?$_POST['description']:NULL; $price = !empty($_POST['price'])?$_POST['price']:NULL; $id = !empty($_GET['id'])?$_GET['id']:NULL; if($pseudo){ if(isset($_POST['submit'])){ //en fonction de l'action: switch($action){ case "add": if($title&&$description&&$price){ $sql = "INSERT INTO products VALUES ('', :title, :description, :price)"; $params = array(":title"=>$title,":description"=>$description,":price"=>$price); $insert = $db->prepare($sql); $insert->execute($params); }else{ echo "veuillez saisir tout les champs"; } break; case "modifyanddelete": $select = $db->prepare("SELECT * FROM products"); $select->execute(); while($s=$select->fetch(PDO::FETCH_OBJ)){ echo $s->title; echo "<a href='?action=modify&id=".$s->id."'>Modifier</a>"; echo "<a href='?action=delete&id=".$s->id."'>X</a>"; echo "<br><br>"; } break; case "delete": if($id){ $sql = "SELECT FROM products WHERE id=:id"; $params = array(":id"=>$id); $select = $db->prepare($sql); $select->execute($params); }else{ echo " No ID !"; } break; default: // action ne correspond à aucun des choix : die('Une erreur s\'est produite'); break; }//fin du switch }// Fin if Submit }else{ // pas de pseudo. header("Location: ../index.php"); } ?> <form action="" method="post"> <h3>Titre du produit :</h3> <input type="text" name="title" placeholer="Titre du produit" value="<php echo $title;>"> <h3>Description du produit :</h3> <input type="text" name="description" placeholer="Description du produit" value="<php echo $description;>"> <h3>Prix du produit :</h3> <input type="text" name="price" placeholer="Prix du produit" value="<php echo $price;>"> <br><br> <input type="submit" name="submit"> </form>
Cordialement,
Jordane
jordane45
Messages postés
38371
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 janvier 2025
4 722
6 juil. 2015 à 11:55
6 juil. 2015 à 11:55
Comme tu peux le voir dans mon code :
- J'ai séparé la connexion à la BDD dans un fichier à part qu'il suffit d'inclure lorsque tu en as besoin
- Je suis passé par un SWITCH plutot que des IF ELSEIF ...
- J'ai utilisé proprement les requêtes préparées
- J'ai récupéré les variables en utilisant la syntaxe de l'écriture ternaire ( une autre syntaxe des IF .. tu trouveras des explications facilement sur le net...)
- J'ai séparé la connexion à la BDD dans un fichier à part qu'il suffit d'inclure lorsque tu en as besoin
- Je suis passé par un SWITCH plutot que des IF ELSEIF ...
- J'ai utilisé proprement les requêtes préparées
- J'ai récupéré les variables en utilisant la syntaxe de l'écriture ternaire ( une autre syntaxe des IF .. tu trouveras des explications facilement sur le net...)
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
>
jordane45
Messages postés
38371
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 janvier 2025
6 juil. 2015 à 12:24
6 juil. 2015 à 12:24
yeah ;) merci :D
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
6 juil. 2015 à 12:27
6 juil. 2015 à 12:27
fe
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
>
jordane45
Messages postés
38371
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 janvier 2025
6 juil. 2015 à 12:28
6 juil. 2015 à 12:28
le pb c 'est que je suivait un tuto sur yt vu que je connait pas encore tres bien le php, mais je galere total... et la du coup je suis perdu dans le code mdr ( et dans le tuto en + ) xD
jordane45
Messages postés
38371
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 janvier 2025
4 722
6 juil. 2015 à 13:14
6 juil. 2015 à 13:14
Suivre des tutos c'est bien.... à condition de connaitre un minimum les bases....
Il n'y a rien de particulier dans le code que je t'ai donné..... hormis ce que je t'ai décris dans mon post précédent.
Et une simple recherche sur le net te permettra de comprendre de quoi il s'agit :
Par exemple, pour l'écriture ternaire : https://forum.phpfrance.com/tutoriels/expr1-expr2-expr3-operateur-ternaire-t14111.html
Pour le SWITCH : https://www.php.net/manual/fr/control-structures.switch.php
Après... pour ce qui est de la connexion à la BDD .. il est clairement préférable de la mettre dans un fichier à part...
le jour où tu veux modifier les informations de co à ta BDD... tu ne le feras alors que dans un seul fichier au lieu de devoir te retaper toutes les pages de ton site....
NB : Si le tuto que tu suis place la co à la BDD en plein milieu du code (comme ce que tu nous avais montré avant....) c'est que c'est un mauvais tuto !
Il n'y a rien de particulier dans le code que je t'ai donné..... hormis ce que je t'ai décris dans mon post précédent.
Et une simple recherche sur le net te permettra de comprendre de quoi il s'agit :
Par exemple, pour l'écriture ternaire : https://forum.phpfrance.com/tutoriels/expr1-expr2-expr3-operateur-ternaire-t14111.html
Pour le SWITCH : https://www.php.net/manual/fr/control-structures.switch.php
Après... pour ce qui est de la connexion à la BDD .. il est clairement préférable de la mettre dans un fichier à part...
le jour où tu veux modifier les informations de co à ta BDD... tu ne le feras alors que dans un seul fichier au lieu de devoir te retaper toutes les pages de ton site....
NB : Si le tuto que tu suis place la co à la BDD en plein milieu du code (comme ce que tu nous avais montré avant....) c'est que c'est un mauvais tuto !
6 juil. 2015 à 11:15
6 juil. 2015 à 11:31
6 juil. 2015 à 11:33
maintenant, sa me met sa :/
j'ai encore mal modifier le code ? il me reste des fautes ? désolé je débute :p
6 juil. 2015 à 11:34
13 juil. 2015 à 18:08
false