Mettre une variable dans un input hidden?

Résolu/Fermé
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 - 19 sept. 2009 à 19:29
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 - 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; ?> ">
A voir également:

7 réponses

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.
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
19 sept. 2009 à 21:33
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..
0
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%)
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
19 sept. 2009 à 21:51
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. :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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'])
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
19 sept. 2009 à 22:46
le top ce serait de tout ecrire en php
0
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.
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
19 sept. 2009 à 23:57
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. :)
0