Les Allergies
Alimentaires
Posez votre question Signaler

Mettre une variable dans un input hidden? [Résolu]

Absot 715Messages postés 28 octobre 2008Date d'inscription 24 avril 2012Dernière intervention - Dernière réponse le 19 sept. 2009 à 23:57
Bonjour, je me demandais si c'était risqué de passer une variable dans un input de type hidden?
Un input dans ce genre là:
<input type=hidden name="blabla" value=" <?php echo $variable; ?> ">
Lire la suite 

Mettre une variable dans un input hidden »

8 réponses
Réponse
+0
moins plus
Bonjour

Qu'appelles-tu risqué ?
La variable hidden n'est pas affichée dans le formulaire, mais elle est tout à fait lisible quand on regarde le source de la page. Elle ne peut donc absolument pas servir à transmettre une information confidentielle (sauf si tu la cryptes bien sûr). Mais elle n'est pas dangereuse par elle-même.
Ajouter un commentaire
Réponse
+0
moins plus
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..
Ajouter un commentaire
Réponse
+0
moins plus
Dans le form où tu fais les modifications, tu peux très bien passer l'idArticle en champ hidden.
Et contrairement à ce que tu dis, tu pourrais aussi le passer dans l'url ACTION du form, ce n'est pas incompatible.
(Si j'ai bien compris ton problème, ce dont je ne suis pas sûr à 100%)
Ajouter un commentaire
Réponse
+0
moins plus
Je montre mon code pour que ce soit plus clair:

$query = "SELECT idArticle,titre,contenu FROM Article WHERE idArticle = '$idArticle'";

/* execution de la requete */
$result = mysql_query($query) or die(mysql_error());
 /* 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
*/
$line = mysql_fetch_array($result)
?>

<FORM method=post action="traitementarticle.php?traitement=2&amp;idArticle=$line[idArticle]">

<fieldset class="identhification">
<table>
	<tr>
		<td>Titre de la news :</td>
<?php 
echo "      <td><input type=text value='$line[titre]' name='titre'></td>";
?>
	</tr>
	<tr>
	       <td>Contenu :</td>
<?php 
echo "     <td><TEXTAREA rows='5' cols='60' name='contenu'>$line[contenu]</TEXTAREA></td>";
?>
	</tr>
</table>
</fieldset>

<input type=submit value="Modifier" class="submit2">


</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. :)
Ajouter un commentaire
Réponse
+0
moins plus
Ce qui n'est pas bon, c'est que tu écris une variable php dans du HTML. Il faut ouvrir une balise <?php et faire un echo de la variable :
<FORM method=post action="traitementarticle.php?traitement=2&idArticle=<?php echo $idArticle ?>">

(autant utiliser $idArticle que $ligne['idArticle'])
Ajouter un commentaire
Réponse
+0
moins plus
le top ce serait de tout ecrire en php
le père - 19 sept. 2009 à 23:01
Peux-tu préciser pourquoi ?
Moi, je ne vois pas très bien l'intérêt de faire bosser l'interpréteur PHP pour lui faire débiter des constantes. Je n'y vois qu'un gaspillage de ressources, et aucun avantage particulier.
Ajouter un commentaire
Réponse
+0
moins plus
Voilà c'est corrigé et ça fonctionne, mon projet est terminé, me manque plus qu'à faire mon rapport dessus.. :d

Merci, je mets en résolu. :)
Ajouter un commentaire
Ce document intitulé « Mettre une variable dans un input hidden? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?