Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1543 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Une variable dans un input hidden?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une variable dans un input hidden?

n°1925271
absot77
Posté le 19-09-2009 à 20:33:54  profilanswer
 

Bonjour, je me demandais si c'était risqué de passer une variable dans un input de type hidden?
 
Un input dans ce genre là:  

Code :
  1. <input type=text value="<?php echo $line[idArticle]; ?>" name='idArticle'>

mood
Publicité
Posté le 19-09-2009 à 20:33:54  profilanswer
 

n°1925275
flo850
moi je
Posté le 19-09-2009 à 20:56:51  profilanswer
 

pas plus que ça
après , l'utilisateur peut les modifier , comme toute autre variable


---------------

n°1925278
absot77
Posté le 19-09-2009 à 21:27:39  profilanswer
 

En fait je pense utiliser cette méthode parce que je suis en train de créer un site (projet pour mes études) où l'on peut créer, modifier et supprimer des articles d'une base de données MYSQL.

 

Donc je créer un article en y mentant les valeurs idArticle, redacteur, titre et contenu.

 

Si je veux le supprimer, je choisis l'article et je le supprime.

 

Par contre, c'est pour le modifier que j'ai un peu de mal, je fais la liste de tout mes articles dans un tableau avec des liens sur chaque articles, une fois que je clique sur un des articles, ça m'envoie sur une autre page qui récupère l'idArticle et à partir de là, affiche toutes les caractéristiques le concernant dans des input ou textarea (d'où mon topic). Je modifie donc ce que je veux et une fois fait, je clique sur un submit qui m'emmène sur une autre page mais je ne sais pas trop comment récupérer l'idArticle parce que dans la page où je modifie, je ne mets pas l'idArticle donc je ne peux pas l'envoyer et le récupérer par un $_POST ni l'envoyer d'une quelconque façon dans l'adresse url avec une variable puisque le lien est dans un form et je sélectionne tout les caractéristiques de l'article en question avec une requête SQL mais je la fait plus bas dans le code..


Message édité par absot77 le 19-09-2009 à 21:33:09
n°1925282
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 19-09-2009 à 21:53:31  profilanswer
 

t'as 2 solutions,
- soit tu le mets dans un inpout type=hidden et tu récupères $_POST['name_ton_champ_hidden'],
 
- soit dans ta balise form, tu mets action="fichier_de_traitement.php?id_article=$ton_id_article et là tu récupères $_GET['id_article']
 
Quoiqu'il en soit, passé en post/hidden ou en get, il faudra sécuriser ta variable parce que l'utilisateur peut la modifier ...
Ce que j'entends par "sécuriser", c'est p.ex. dans une requête SQL, faire un SELECT ... where (id_article='50' AND author='30') par exemple, si 30 est ton id_user (à toi de voir, mais de façon à ce qu'on récupère les data d'un article que le user soit en droit de modifier)


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1925283
absot77
Posté le 19-09-2009 à 22:07:11  profilanswer
 

Je montre mon code pour que ce soit plus clair:
 

Code :
  1. $query = "SELECT idArticle,titre,contenu FROM Article WHERE idArticle = '$idArticle'";
  2. /* execution de la requete */
  3. $result = mysql_query($query) or die(mysql_error());
  4. /* la fonction mysql_fetch_array retourne les résultats sous la forme d'un tableau associatif dans lequel on accède aux différents éléments de la manière suivante
  5. */
  6. $line = mysql_fetch_array($result)
  7. ?>
  8. <FORM method=post action="traitementarticle.php?traitement=2&amp;idArticle=$line[idArticle]">
  9. <fieldset class="identhification">
  10. <table>
  11. <tr>
  12.  <td>Titre de la news :</td>
  13. <?php
  14. echo "      <td><input type=text value='$line[titre]' name='titre'></td>";
  15. ?>
  16. </tr>
  17. <tr>
  18.        <td>Contenu :</td>
  19. <?php
  20. echo "     <td><TEXTAREA rows='5' cols='60' name='contenu'>$line[contenu]</TEXTAREA></td>";
  21. ?>
  22. </tr>
  23. </table>
  24. </fieldset>
  25. <input type=submit value="Modifier" class="submit2">
  26. </FORM>


 
 
Quand je clique sur mon bouton submit, ça m'emmène sur une autre page pour traiter ma demande et ma variable idArticle vaut $line[idArticle] donc ce n'est pas bon, comment je pourrais faire pour qu'il y est la vrai valeur?
 
Je sais qu'en mettant la valeur de l'idArticle dans l'url, un utilisateur pourrait modifier tout et n'importe quoi mais c'est pour un projet de cour donc pas encore très important mais si il y a une meilleur méthode, je prends.  :)

n°1925531
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 21-09-2009 à 13:53:30  profilanswer
 

en type=hidden d'un formulaire, l'utilisateur peut tout autant la modifier, sois sans crainte ;)
 
le pb c'est que la ligne où tu mets ton FORM est de l'HTML, et à aucun moment tu n'affiches le contenu de la variable PHP ...
afficher $line['cequetuveux'] en HTML n'est jamais qu'une suite de caractères, il n'interprète donc rien.
 
Essaie plutôt avec :

Code :
  1. <form method="post" action="traitementarticle.php?traitement=2&idArticle=<?php echo $line[idArticle]; ?>">


---------------
NewsletTux - outil de mailing list en PHP MySQL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Une variable dans un input hidden?

 

Sujets relatifs
Incrémenter variable sur 2 caractèresModifier la valeur d'une borne variable d'une boucle for...
[PHP, JavaScript] Copier la valeur d'un inputModifier une variable globale depuis un userform.
Webservice SOAP - passage du contenu d'un fichier en variableTransmission de variable
Variable javascript.. elle me rendent dingue ; help.titre variable pour un graph
[Direct Input] Télécommande sans filvariable à condition multiple
Plus de sujets relatifs à : Une variable dans un input hidden?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR