PHP et HTML interagissent beaucoup: PHP peut générer du HTML, et HTML peut transmettre des informations à PHP. Avant de lire ces FAQ, il est important que vous appreniez à récupérer des variables à partir de sources externes. La page de manuel sur ce sujet comprend également de nombreux exemples.

de quel encodage / décodage ai-je besoin lorsque je transmets une valeur via un formulaire/une URL?

Il existe plusieurs étapes pour lesquelles l’encodage est important., En supposant que vous avez une chaîne data data, qui contient la chaîne que vous souhaitez transmettre de manière non codée, ce sont les étapes pertinentes:

  • interprétation HTML. Pour spécifier une chaîne aléatoire, vous devez l’inclure entre guillemets et htmlspecialchars () la valeur entière.

  • URL: UNE URL se compose de plusieurs parties. Si vous souhaitez que vos données soient interprétées comme un seul élément, vous devez les encoder avec urlencode().,

exemple #1 un élément de formulaire HTML caché

<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>

Remarque: Il est faux de urlencode () data data, car c’est le navigateur qui est responsable de urlencode () les données. Tous les navigateurs populaires le font correctement. Notez que cela se produira quelle que soit la méthode (C’est-à-dire GET ou POST). Vous ne le remarquerez cependant qu’en cas de demande GET, car les demandes POST sont généralement masquées.,

Remarque: les données sont affichées dans le navigateur comme prévu, car le navigateur interprétera les symboles échappés HTML. Lors de la soumission, que ce soit via GET ou POST, les données seront codées URL par le navigateur pour le transfert, et directement codées URL par PHP. Donc, à la fin, vous n’avez pas besoin de faire un urlencoding/urldecoding vous-même, tout est géré automatiquement.,

Exemple #3 Dans une URL

<?php
echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
urlencode($data)) . '">'."\n";
?>

Note: En fait, vous êtes semblant un HTML requête GET, donc il faut manuellement la fonction urlencode() les données.

Remarque: Vous devez htmlspecialchars() L’URL entière, car L’URL se présente comme la valeur d’un attribut HTML. Dans ce cas, le navigateur décochera d’abord la valeur htmlspecialchars (), puis transmettra l’URL. PHP comprendra l’URL correctement, car vous urlencode () D les données., Vous remarquerez que le & dans l’URL est remplacé par &amp;. Bien que la plupart des navigateurs récupéreront si vous oubliez cela, ce n’est pas toujours possible. Donc, même si votre URL n’est pas dynamique, vous devez htmlspecialchars() L’URL.

je suis en train d’utiliser un <input type= »image »> balise, mais le $foo.x et FO foo.les variables y ne sont pas disponibles. $_GET n’existe pas non plus. Où sont-ils?,

Lors de la soumission d’un formulaire, il est possible d’utiliser une image au lieu du bouton « soumettre » avec une balise du type:

<input type="image" src="https://www.php.net/manual/en/faq.html.phpimage.gif" name="foo" />

Lorsque l’utilisateur clique sur l’image, la forme d’accompagnement seront transmis au serveur avec deux variables supplémentaires: foo.x et foo.Y.

parce que foo.x et foo.y ferait des noms de variables invalides en PHP, ils sont automatiquement convertis en foo_x et foo_y. C’est-à-dire que les points sont remplacés par des traits de soulignement., Ainsi, vous accéderiez à ces variables comme à toutes les autres décrites dans la section sur la récupération de variables à partir de sources externes. Par exemple, _ _GET.

Remarque:

Les Espaces Dans les noms de variables de demande sont convertis en traits de soulignement.

Comment puis-je créer des tableaux en HTML: <formulaire>?,

Pour obtenir votre <formulaire> résultat renvoyé comme un tableau à votre script PHP vous le nom de la balise <entrée>, <select> ou <textarea> comme ceci:

<input name="MyArray" /><input name="MyArray" /><input name="MyArray" /><input name="MyArray" />

Avis les crochets après le nom de la variable, c’est ce que fait un tableau., Vous pouvez regrouper les éléments dans différents tableaux en attribuant le même nom à différents éléments:

<input name="MyArray" /><input name="MyArray" /><input name="MyOtherArray" /><input name="MyOtherArray" />

cela produit deux tableaux, MyArray et MyOtherArray, qui sont envoyés au script PHP. Il est également possible d’assigner des touches spécifiques à votre tableau:

<input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" />

Le tableau unautretableau contiendra les touches 0, 1, mail et téléphone.

Remarque:

la spécification des clés de tableau est facultative en HTML., Si vous ne spécifiez pas les clés, le tableau se remplit dans l’ordre d’apparition des éléments dans le formulaire. Notre premier exemple contiendra les clés 0, 1, 2 et 3.

Voir Aussi fonctions de tableau et Variables provenant de Sources externes.

Comment puis-je obtenir tous les résultats d’une balise HTML multiple select?

la balise select multiple dans une construction HTML permet aux utilisateurs de sélectionner plusieurs éléments dans une liste. Ces éléments sont ensuite transmis au gestionnaire d’actions pour le formulaire. Le problème est qu’ils sont tous passés avec le même nom de widget. I. e.,

<select name="var" multiple="yes">

Chaque option sélectionnée arrivez à l’action gestionnaire comme:

var=option1var=option2var=option3 

Chaque option de remplacer le contenu de la précédente variable $var. La solution consiste à utiliser la fonctionnalité « array from form element » de PHP. Ce qui suit doit être utilisé:

<select name="var" multiple="yes">

cela indique à PHP de traiter var var comme un tableau et chaque affectation d’une valeur à var ajoute un élément au tableau. Le premier élément devient var var, le prochain var var, etc., La fonction count() peut être utilisée pour déterminer le nombre d’options sélectionnées, et la fonction sort () peut être utilisée pour trier le tableau d’options si nécessaire.

Notez que si vous utilisez JavaScript le sur le nom de l’élément peut vous causer des problèmes lorsque vous essayez de consulter le nom de l’élément. Utilisez plutôt son ID d’élément de forme numérique, ou placez le nom de la variable entre guillemets simples et utilisez-le comme index du tableau elements, par exemple:

variable = document.forms.elements']; 

Comment puis-je passer une variable de Javascript à PHP?,

étant donné que Javascript est (généralement) une technologie côté client, et PHP est (généralement) une technologie côté serveur, et que HTTP est un protocole « sans état », les deux langages ne peuvent pas partager directement les variables.

Il est cependant possible de passer des variables entre les deux. Une façon d’y parvenir est de générer du code Javascript avec PHP et de faire en sorte que le navigateur se rafraîchisse, en renvoyant des variables spécifiques au script PHP. L’exemple ci-dessous montre précisément comment faire cela-il permet au code PHP de capturer la hauteur et la largeur de l’écran, ce qui n’est normalement possible que du côté client.,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *