Je souhaite transmettre des variables JavaScript à PHP en utilisant une entrée masquée dans un formulaire.
Mais je ne peux pas obtenir la valeur $_POST['hidden1']
en $salarieid
. Y a-t-il quelque chose qui ne va pas?
Voici le code:
<script type="text/javascript">
// View what the user has chosen
function func_load3(name) {
var oForm = document.forms["myform"];
var oSelectBox = oForm.select3;
var iChoice = oSelectBox.selectedIndex;
//alert("You have chosen: " + oSelectBox.options[iChoice].text);
//document.write(oSelectBox.options[iChoice].text);
var sa = oSelectBox.options[iChoice].text;
document.getElementById("hidden1").value = sa;
}
</script>
<form name="myform" action="<?php echo $_SERVER['$PHP_SELF']; ?>" method="POST">
<input type="hidden" name="hidden1" id="hidden1" />
</form>
<?php
$salarieid = $_POST['hidden1'];
$query = "select * from salarie where salarieid = ".$salarieid;
echo $query;
$result = mysql_query($query);
?>
<table>
Code for displaying the query result.
</table>
php
javascript
variables
SUN Jiangong
la source
la source
Réponses:
Vous ne pouvez pas passer des valeurs de variable du code JavaScript de la page actuelle au code PHP de la page actuelle ... Le code PHP s'exécute côté serveur, et il ne sait rien de ce qui se passe côté client.
Vous devez transmettre des variables au code PHP à partir du formulaire HTML en utilisant un autre mécanisme, tel que la soumission du formulaire à l'aide des méthodes GET ou POST.
la source
mysql_
fonctions; ce ne serait pas l'objectif de répondre à cette question par une réécriture complète.Enregistrez-le simplement dans un cookie:
Et puis lisez-le avec PHP:
Ce n'est pas une jolie solution, mais cela fonctionne.
la source
Il existe plusieurs façons de passer des variables de JavaScript à PHP (pas la page actuelle, bien sûr).
Vous pourriez:
Je suis sûr que cela pourrait être rendu plus sophistiqué et parcourir toutes les variables et tout le reste - mais je l'ai gardé basique pour le rendre plus facile à comprendre pour les novices.
la source
Voici l'exemple de travail: Obtenez la valeur de la variable javascript sur la même page en php.
la source
echo "<script>document.writeln(p1);</script>";
utilise la variable javascriptp1
en javascript , pas en php.document.writeln
est une fonction javascript , que vous exécutez, dans le navigateur, pendant que le navigateur construit la page HTML.PHP s'exécute sur le serveur avant que la page ne soit envoyée à l'utilisateur, JavaScript est exécuté sur l'ordinateur de l'utilisateur une fois qu'il est reçu, donc le script PHP a déjà été exécuté.
Si vous souhaitez transmettre une valeur JavaScript à un script PHP, vous devez effectuer une requête XMLHttpRequest pour renvoyer les données au serveur.
Voici une question précédente que vous pouvez suivre pour plus d'informations: Tutoriel Ajax
Maintenant, si vous avez juste besoin de transmettre une valeur de formulaire au serveur, vous pouvez également simplement faire un message de formulaire normal, cela fait la même chose, mais la page entière doit être rafraîchie.
Cliquez sur Soumettre pour soumettre la page et imprimer les données soumises.
la source
J'essayais de comprendre cela moi-même et je me suis ensuite rendu compte que le problème est que c'est une sorte de façon rétrograde de regarder la situation. Plutôt que d'essayer de faire passer les choses de JavaScript à PHP, il vaut peut-être mieux faire l'inverse, dans la plupart des cas. Le code PHP s'exécute sur le serveur et crée le code html (et éventuellement le script java également). Ensuite, le navigateur charge la page et exécute le script html et java.
Il semble que la manière raisonnable d'aborder des situations comme celle-ci est d'utiliser le PHP pour créer le JavaScript et le html que vous voulez, puis d'utiliser le JavaScript dans la page pour faire tout ce que PHP ne peut pas faire. Il semble que cela vous donnerait les avantages de PHP et de JavaScript d'une manière assez simple et directe.
Une chose que j'ai faite qui donne l'impression de passer des choses à PHP à partir de votre page à la volée est d'utiliser la balise d'image html pour appeler du code PHP. Quelque chose comme ça:
Le code PHP dans pic.php créerait en fait du code html avant même que votre page Web ne soit chargée, mais ce code html est fondamentalement appelé à la volée. Le code php ici peut être utilisé pour créer une image sur votre page, mais il peut contenir toutes les commandes que vous aimez en plus de cela. Peut-être que cela change le contenu de certains fichiers sur votre serveur, etc. L'avantage est que le code php peut être exécuté à partir de html et je suppose que JavaScript, mais l'inconvénient est que la seule sortie qu'il peut mettre sur votre page est un image. Vous avez également la possibilité de passer des variables au code php via des paramètres dans l'url. Les compteurs de pages utiliseront cette technique dans de nombreux cas.
la source
Nous pouvons facilement transmettre des valeurs même sur des pages identiques / différentes en utilisant les cookies indiqués dans le code comme suit (dans mon cas, je l'utilise avec l'intégration facebook) -
Et je l'ai accédé (dans n'importe quel fichier) en utilisant -
la source
Voici comment je l'ai fait (j'avais besoin d'insérer un fuseau horaire local dans PHP:
la source
Votre fonction, qui définit la valeur du formulaire masqué, est-elle appelée? Ce n'est pas dans cet exemple. Vous ne devriez avoir aucun problème à modifier une valeur masquée avant de publier le formulaire sur le serveur.
la source
Votre code présente quelques problèmes.
Il est possible de définir une variable JavaScript dans une variable cachée dans un formulaire, puis de la soumettre et de lire la valeur en PHP. Voici un exemple simple qui montre ceci:
la source
lorsque votre page charge pour la première fois le code PHP, exécutez pour la première fois et définissez la mise en page complète de votre page Web. après la mise en page, il a défini la charge JavaScript. maintenant, JavaScript interagit directement avec DOM et peut manipuler la mise en page, mais PHP ne peut pas avoir besoin de rafraîchir la page. Le seul moyen est d'actualiser votre page et de transmettre les paramètres dans l'URL de la page afin que vous puissiez obtenir les données via PHP. Nous utilisons donc AJAX pour interagir Javascript avec PHP sans rechargement de page. AJAX peut également être utilisé comme API. encore une chose si vous avez déjà déclaré la variable en PHP. avant le chargement de la page, vous pouvez l'utiliser avec votre exemple Javascript.
le code ci-dessus est correct et cela fonctionnera. mais le code ci-dessous est totalement faux et il ne fonctionnera jamais.
Passer de la valeur de JavaScript à PHP via AJAX
c'est le moyen le plus sûr de le faire. car le contenu HTML peut être modifié via les outils de développement et l'utilisateur peut manipuler les données. il est donc préférable d'utiliser AJAX si vous voulez une sécurité sur cette variable. Si vous êtes un débutant en AJAX, veuillez apprendre AJAX, c'est très simple.
exemple AJAX simple
sinon, vous pouvez créer une entrée HTML masquée dans votre formulaire. comme
puis via jQuery ou javaScript, passez la valeur au champ caché. comme
Maintenant, lorsque vous soumettez le formulaire, vous pouvez obtenir la valeur en PHP.
la source
Vous pouvez peut-être utiliser la méthode jquery serialize () pour que tout se passe d'un seul coup.
// de cette façon, vous pouvez également obtenir la valeur cachée côté serveur.
la source
Cette solution n'a évidemment pas été mentionnée plus tôt. Vous pouvez également utiliser des cookies pour transmettre les données du navigateur au serveur.
Définissez simplement un cookie avec les données que vous souhaitez transmettre à PHP en utilisant javascript dans le navigateur.
Ensuite, lisez simplement ce cookie côté PHP.
la source
Nous ne pouvons pas transmettre directement les valeurs des variables JavaScript au code PHP ... Le code PHP s'exécute côté serveur, et il ne sait rien de ce qui se passe côté client.
Il est donc préférable d'utiliser AJAX pour analyser la valeur JavaScript dans le code php.
Ou bien nous pouvons le faire avec l'aide de COOKIES dans notre code.
Merci et acclamations.
la source