Soutenance demain, bugs sur ma boutique en ligne

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Soutenance demain, bugs sur ma boutique en ligne

Re: Soutenance demain, bugs sur ma boutique en ligne

par chrisk » 03 juin 2015, 17:00

Je ne suis pas sûr de bien avoir compris la manip..

Re: Soutenance demain, bugs sur ma boutique en ligne

par tof73 » 03 juin 2015, 16:46

$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

par chrisk » 03 juin 2015, 16:37

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

par Saian » 03 juin 2015, 16:28

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

Soutenance demain, bugs sur ma boutique en ligne

par chrisk » 03 juin 2015, 12:51

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"); }