Cela semble assez simple mais je ne trouve pas de bon moyen de le faire.
Dis dans la première page que je crée une variable
$myVariable = "Some text";
Et l'action du formulaire pour cette page est "Page2.php". Donc, dans Page2.php, comment puis-je avoir accès à cette variable? Je sais que je peux le faire avec des sessions mais je pense que c'est trop pour une simple chaîne, et je n'ai besoin que de passer une simple chaîne (un nom de fichier).
Comment puis-je atteindre cet objectif?
Merci!
Réponses:
HTML / HTTP est sans état, en d'autres termes, ce que vous avez fait / vu sur la page précédente, est complètement déconnecté de la page actuelle. Sauf si vous utilisez quelque chose comme des sessions, des cookies ou des variables GET / POST. Les sessions et les cookies sont assez faciles à utiliser, la session étant de loin plus sécurisée que les cookies. Plus sûr, mais pas complètement sécurisé.
Session:
N'oubliez pas d'exécuter l'
session_start();
instruction sur ces deux pages avant d'essayer d'accéder au$_SESSION
tableau et également avant d'envoyer une sortie au navigateur.Biscuit:
La grande différence entre les sessions et les cookies est que la valeur de la variable sera stockée sur le serveur si vous utilisez des sessions et sur le client si vous utilisez des cookies. Je ne vois aucune bonne raison d'utiliser des cookies au lieu de sessions, sauf si vous voulez que les données persistent entre les sessions, mais même alors, il est peut-être préférable de les stocker dans une base de données et de les récupérer en fonction d'un nom d'utilisateur ou d'un identifiant.
GET et POST
Vous pouvez ajouter la variable dans le lien vers la page suivante:
Cela va créer une variable GET.
Une autre façon consiste à inclure un champ masqué dans un formulaire qui se soumet à la page deux:
Et puis à la page deux:
Modifiez simplement la méthode du formulaire
post
si vous souhaitez le faire par courrier. Les deux sont également peu sûrs, bien que GET soit plus facile à pirater.Le fait que chaque nouvelle requête soit, à l'exception des données de session, une toute nouvelle instance du script m'a surpris lorsque j'ai commencé à coder en PHP. Une fois que vous vous y êtes habitué, c'est assez simple.
la source
Merci pour les réponses ci-dessus. Voici comment je l'ai fait, j'espère que cela aide ceux qui suivent. Je cherche à passer un numéro d'enregistrement d'une page à l'autre, d'où regName et regValue :
Créez votre première page, appelez-la set_reg.php :
Créez votre deuxième page, appelez-la get_reg.php :
Bien qu'elle ne soit pas aussi complète que la réponse ci-dessus, elle illustre à mes fins de manière simple la relation entre les divers éléments.
la source
Transmission de données dans la demande
Vous pouvez soit l'intégrer en tant que champ masqué dans votre formulaire, soit l'ajouter à l'URL de votre action sur les formulaires
ou
Notez que cela illustre également l'utilisation de htmlentities et urlencode lors du passage de données.
Transmission de données dans la session
Si les données n'ont pas besoin d'être transmises au côté client, les sessions peuvent être plus appropriées. Appelez simplement session_start () au début de chaque page, et vous pouvez obtenir et définir des données dans le tableau $ _SESSION.
Sécurité
Puisque vous déclarez que votre valeur est en fait un nom de fichier, vous devez être conscient des ramifications de sécurité. Si le nom de fichier est arrivé du côté client, supposez que l'utilisateur a falsifié la valeur. Vérifiez sa validité! Que se passe-t-il lorsque l'utilisateur transmet le chemin d'accès à un fichier système important ou à un fichier sous son contrôle? Votre script peut-il être utilisé pour «sonder» le serveur pour les fichiers qui existent ou n'existent pas?
Comme vous commencez clairement ici, il vaut la peine de rappeler que cela vaut pour toutes les données qui arrivent dans $ _GET, $ _POST ou $ _COOKIE - supposez que votre pire ennemi a conçu le contenu de ces tableaux et codez en conséquence!
la source
Il existe trois méthodes pour transmettre la valeur en php.
Ces trois méthodes sont utilisées à des fins différentes.Par exemple, si nous voulons recevoir notre valeur à la page suivante, nous pouvons utiliser la méthode 'post' ($ _POST) comme: -
Si nous avons besoin de la valeur de variable sur plus d'une page, nous pouvons utiliser la variable de session comme: -
Avant d'utiliser cette syntaxe pour créer une variable SESSION, nous devons d'abord ajouter cette balise au tout début de notre page php
La méthode GET est généralement utilisée pour imprimer des données sur la même page qui avait l'habitude de prendre la saisie de l'utilisateur. Sa syntaxe est la suivante:
La méthode POST consomme généralement plus de sécurité que GET car lorsque nous utilisons la méthode Get, elle peut afficher les données dans la barre d'URL.Si les données sont des données plus sensibles comme le mot de passe, elles peuvent être inggeris.
la source
Les sessions seraient le seul bon moyen, vous pouvez également utiliser GET / POST mais ce serait potentiellement dangereux.
la source
essayez ce code
en utilisant un champ caché, nous pouvons passer php varibale à une autre page
page1.php
passer la variable php à la valeur du champ caché afin que vous puissiez accéder à cette variable dans une autre page
page2.php
la source
page 2
la source
Les sessions seraient le seul bon moyen, vous pouvez également utiliser GET / POST mais ce serait potentiellement dangereux.
Transmission de données dans la session Si les données n'ont pas besoin d'être transmises au côté client, les sessions peuvent être plus appropriées. Appelez simplement session_start () au début de chaque page, et vous pouvez obtenir et définir des données dans le tableau $ _SESSION.
Sécurité Puisque vous déclarez que votre valeur est en fait un nom de fichier, vous devez être conscient des ramifications de sécurité. Si le nom de fichier est arrivé du côté client, supposez que l'utilisateur a falsifié la valeur. Vérifiez sa validité! Que se passe-t-il lorsque l'utilisateur passe le chemin vers un fichier système important ou un fichier sous son contrôle? Votre script peut-il être utilisé pour «sonder» le serveur pour les fichiers qui existent ou n'existent pas?
Comme vous ne faites que commencer ici, il convient de rappeler que cela vaut pour toutes les données qui arrivent dans $ _GET, $ _POST ou $ _COOKIE - supposez que votre pire ennemi a conçu le contenu de ces tableaux et codez en conséquence!
la source