Page 1 sur 1

Soutenance demain, bugs sur ma boutique en ligne

Posté : 03 juin 2015, 12:51
par chrisk
Bonjour à tous,
Je viens vous voir en mode vaguement désespéré. Je passe un rattrapage demain sur une épreuve de PHP lors de laquelle je dois présenter une boutique en ligne. Et bien sûr, vous vous en doutez, ma création est bourrée de bugs. Du coup ne sachant absolument pas vers qui me tourner pour que tout soit d'aplomb demain, je viens solliciter votre aide.

et pour commencer, j'ai ma page gestion de commande qui ne s'affiche plus. A la place, j'ai " Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\shopcentral\admin\gestion_commandes.php on line 13"

Voici la portion de code concernée :

Code : Tout sélectionner

// ----------------------- SUPPRESSION DES COMMANDES ------------------------------- if(isset($_GET['action']) && $_GET['action'] == 'suppression'){ $bdd->exec("DELETE FROM commande WHERE id_commande = $_GET['id_commande']"); $msg .= "<h3>L'entrée a bien été supprimée de la base de données.</h3>"; header("location:gestion_commandes.php?action=affichage"); }

Re: Soutenance demain, bugs sur ma boutique en ligne

Posté : 03 juin 2015, 16:28
par Saian
Je pense que le parseur n'aime pas cette partie :
"DELETE FROM commande WHERE id_commande = $_GET['id_commande']"
Qu'il faudrait plutôt écrire comme ceci :
'DELETE FROM commande WHERE id_commande = '.$_GET['id_commande']
Ou comme ça :
"DELETE FROM commande WHERE id_commande = {$_GET['id_commande']}"
Et peut être que ça fonctionne aussi comme ça :
"DELETE FROM commande WHERE id_commande = $_GET[id_commande]"
http://php.net/manual/en/language.types ... ing.simple

Re: Soutenance demain, bugs sur ma boutique en ligne

Posté : 03 juin 2015, 16:37
par chrisk
Oui
ça fonctionne avec ça :

Code : Tout sélectionner

$bdd->exec('DELETE FROM commande WHERE id_commande = $_GET[\'id_commande\']');
Merci beaucoup.

Question suivante : La page s'affiche, mais le clic sur le bouton correspondant ne produit rien. L'entrée est toujours dans la base.

Le code correspondant :

Code : Tout sélectionner

if(isset($_GET['action']) && $_GET['action'] == 'suppression'){ $bdd->exec('DELETE FROM commande WHERE id_commande = $_GET[\'id_commande\']'); $msg .= "<h3>L'entrée a bien été supprimée de la base de données.</h3>"; //header("location:gestion_commandes.php?action=affichage"); } echo '<td><a href="?action=suppression&id_commande='.$ligne['id_commande'].'" OnClick="return(confirm(\'Etes-vous certain de vouloir supprimer cette commande ?\'));" title="supprimer"><i class="fa fa-minus-circle" style="color:red;margin:5px;"></i></a></td>';

Re: Soutenance demain, bugs sur ma boutique en ligne

Posté : 03 juin 2015, 16:46
par tof73
$bdd->exec("DELETE FROM commande WHERE id_commande = $_GET['id_commande']");

et si le paramètre id_commande contient "12345 or 1", à quoi arrive-t-on ?

Re: Soutenance demain, bugs sur ma boutique en ligne

Posté : 03 juin 2015, 17:00
par chrisk
Je ne suis pas sûr de bien avoir compris la manip..