|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 21 ![]() |
Bonjour,
Je suis en train d'essayer de faire un site pour mon club de foot avec match, classement ..., je bloque sur la mise à jour des matchs. J'ai un tableau avec mes matchs, au bout de la ligne, un bouton modifier qui me redirige vers un formulaire : Code :
J'ai construit ma page update_match de cette façon : Code :
Citation:
Si quelqu'un à une idée ? |
|||||
|
|
01
|
|
|
#2 | ||
|
Membre confirmé
![]() ![]() Clément Développeur informatique Inscription : décembre 2006 Messages : 213 ![]() |
Sans trop m'avancer, je crois que tu as mal compris comment fonctionner la méthode "prepare" de PDO (vu ton exception, j'en déduis que tu utilises bien PDO).
Regarde cette page http://php.net/manual/fr/pdo.prepare.php Il faut mettre des ":variable" et pas "$_POST["variable"]". Peut être quelque chose dans ce goût là : Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Membre éprouvé
![]() ![]() |
Ta requête est mal formée, en gros il faut faire comme ça pour passer des variables tout en garantissant un minimum de sécurité.
Code php :
Prend l'habitude de séparer la requête sql de la fonction PDO::prepare() c'est plus propre. Voici un petit lien vers bindValue(), tu comprendras son utilité ^^ Dernière chose, je ne sais pas si tu l'as fait ici, mais prend l'habitude d'utiliser les blocs try/catch, ça te permettra de mieux gérer les exceptions Toine |
||
|
00
|
|
|
#4 | |||||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 21 ![]() |
Oh la la ! vous m'avez complètement perdu, j'ai passé 2h à comprendre mais il doit me manquer quelque chose.
Je pense avoir compris votre principe mais j'ai des nouvelle erreurs Code :
Citation:
Je vous remets mon formulaire au cas où Code :
|
|||||
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
pourquoi tu fais :
Code :
AND match.id=\'' . $_GET['match_id'] . '\' Code :
$req->execute(array($_GET['match_id']) y'a un gros soucis la
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 21 ![]() |
En faite, j'ai un écran précédent qui admin_match.php qui envoi sur le formulaire du match
Code :
<td><?php echo '<a href="admin_update_match.php?match_id=' . htmlspecialchars($donnees['match_id']) . '"><img src="../images/modif_small.png" alt="Modification" title="Modifier le match" /></a>'?></td> Code :
$req->execute(array($_GET['match_id']) Code :
AND match.id=\'' . $_GET['match_id'] . '\' Je viens de tester en faisant et ça marche aussi donc effectivement je l'ai mis deux fois pour rien. |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
pourquoi faire une requete préparée si tu ne prépares rien ?
et le problème de sécurité est toujours la...
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#8 | |||||||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 21 ![]() |
J'ai fait mon update directement sans préparer la requête, juste pour voir si ça marche, je sécuriserais quand ça marcheras.
Code :
Citation:
Dans mon formulaire POST, j'ai bien les bonne variables : Code :
Code :
|
|||||||
|
|
01
|
|
|
#9 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
vérifie tes données en faisant un print_r($_POST), tu dois échapper les valeurs de ta requete avec PDO::quote
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 21 ![]() |
Si je fais un print_r, j'obtiens :
Citation:
Le souci c'est que je ne la mets pas dans mon formulaire, je ne fais que l'afficher, comment je peux faire pour la transférer ? |
|
|
|
00
|
|
|
#11 | |||||||
|
Membre éprouvé
![]() ![]() |
Citation:
Voici la requête comme il faut : Code :
|
|||||||
|
00
|
Copyright © 2000-2012 - www.developpez.com