Eviter un $_GET ! - PHP - Programmation
Marsh Posté le 23-05-2007 à 10:09:14
oui j'y ai pensé mais... c'est pas un peu trop "bourrin" ?
Marsh Posté le 23-05-2007 à 10:41:07
Nan, tu fais une balise form avec plusieurs balises input de type='image', de value='submit', et de name='monnomdebouton'.$i
Dans cet exemple, $i est un indice de boucle.
Pour savoir quel bouton a été cliqué, tu fais un if (isset($_POST[monnomdebouton32_x])), ou un if (isset($_POST[monnomdebouton32_y]))
C'est au choix : comme le bouton est graphique on teste l'existence de l'une des deux coordonnées. Le 32 correspond à un exemple d'indice.
Marsh Posté le 23-05-2007 à 11:20:41
merci pour vos réponses ! Voila la solution que j'ai utilisé:
Code :
|
Marsh Posté le 23-05-2007 à 11:22:54
"monnomdebouton32_y" L'exemple type de la solution bourin et mal pensé : mélanger l'indice au nom d'une zone (bouton, texte, ...) .
guelaztapond > Fait simplement un formulaire par élément avec ton fameux "id_login" en "hidden" qui contiendra la valeur correspondant à chaque élément. Ensuite, en fonction de cette valeur et du bouton cliqué tu sauras si t'as affaire à une modif ou une supression et surtout pour quel élément l'action doit avoir lieux.
EDIT : Tu n'as pas besoin de javascript pour faire ce que tu cherches. Tu peux trés bien valider tes formulaires en cliquant sur une image mise dnas un boutton.
exemple :
Code :
|
Marsh Posté le 23-05-2007 à 18:34:20
omega2 a écrit : "monnomdebouton32_y" L'exemple type de la solution bourin et mal pensé ...
|
Et tu oses parler de solution bourin... Et le <input type="image" /> il sert à quoi à ton avis ??
Marsh Posté le 24-05-2007 à 09:52:05
Je ne comprends pas le problème du GET.
Les methodes POST et GET sont identiques, mis à part que l'une est dans le nom de la requete, et l'autre dans son corps. Ca ne change rien.
Tu sais que tu faire des tableaux dans tes nom de valeurs de formulaire si nécessaire ?
<input name="login[]" >
Marsh Posté le 24-05-2007 à 10:04:15
nORKy a écrit : Les methodes POST et GET sont identiques, mis à part que l'une est dans le nom de la requete, et l'autre dans son corps. Ca ne change rien. |
un peu de lecture : http://fr.wikipedia.org/wiki/HTTP
=> GET n'est pas prévu pour modifier une ressource, c'est possible mais ça ne respecte pas les recommandations du w3c
Marsh Posté le 24-05-2007 à 23:11:48
Et pis GET ça dévoile tes variables dans la barre d'adresse quand même !
Marsh Posté le 25-05-2007 à 10:02:19
CyberDenix a écrit : Et pis GET ça dévoile tes variables dans la barre d'adresse quand même ! |
c'est un problème ça
Marsh Posté le 25-05-2007 à 10:13:51
naceroth a écrit : Et tu oses parler de solution bourin... Et le <input type="image" /> il sert à quoi à ton avis ?? |
Je l'utilises tellement peu souvent que je me rapellais même plus son existance.
Je sais, je .
Marsh Posté le 25-05-2007 à 18:40:38
art_dupond a écrit : c'est un problème ça |
ben oui ca peut etre un probleme keu meme ! Niveau sécurité par exemple...
Imaginons ke tu envoie en GET un chiffre. Et que se chiffre determine si tu es administrateur par exemple.
Donc j'envoie: index.php?monchiffre=2
par defaut toi tu arrive et tu es en "1"... Il te suffit alors dans la barre d'adresse de mettre "2" et te voila administrateur ! LOL
C'est pas le top !
Marsh Posté le 25-05-2007 à 18:43:30
guelaztapond a écrit : ben oui ca peut etre un probleme keu meme ! Niveau sécurité par exemple... |
Tu généralises trop, pour devenir administrateur sur X ou Y système le script fait moultes vérifications et jamais tu ne pourras devenir admin en changeant un chiffre dans un GET, ne rêves pas.
Et d'ailleurs toujours dans ton extreme POST ou GET, les deux sont modifiables.
Marsh Posté le 25-05-2007 à 18:50:38
CT un simple exemple qui permet de comprendre assez facilement un des problemes du GET... Que la variable est dans l'URL.
je me doute que je vais pas etre admin en passant un "1" par un "2" LoooooooL Gniééééé
Marsh Posté le 25-05-2007 à 19:06:38
ce qui est mal avec le get c'est surtout de passer user=bla&pass=toto
Marsh Posté le 25-05-2007 à 19:33:02
avoir le mot de passe dans l'historique c'est pas très malin.
Marsh Posté le 23-05-2007 à 09:53:03
Bonjour tout le monde,
Voila je suis en train de developper un soft en PHP. Mais je bloque sur un probleme.
En fait j'ai une boucle
TANT QUE (j'ai des donnée dans ma table SQL)
{
j'affiche un tableau avec ces fameuses données.
et deux image (poubelle.gif, modif.gif) à chaque lignes
}
Quand je click sur une image (poubelle.gif) je veux supprimer la ligne du tableau grace a son ID et donc vider de la table SQL.
Actuellement je fais: <a href='accueil.php?add=suppcompte.php&id=".$data[id_login].">
Je passe donc par un GET et je recup plus tard le ID pour supprimer la ligne en question.
Comme je suis dans une boucle, je ne peux pas faire de champs HIDDEN avec un FORM car mes champs auraient tous le meme nom (id_login) et donc lors du POST, je recup la derniere valeur du while...
Quelqu'un aurait-il une idée pour utiliser autre chose qu'un GET ??
Thx a lot