it-swarm.com.de

So erhalten Sie den JavaScript-Variablenwert in PHP

Ich möchte den Wert der JavaScript-Variablen, auf die ich mit PHP zugreifen kann. Ich verwende den folgenden Code, gibt jedoch keinen Wert dieser Variablen in PHP zurück.

// set global variable in javascript
    profile_viewer_uid = 1;

// php code

$profile_viewer_uid=$_POST['profile_viewer_uid']; 

das gibt mir den folgenden Fehler: -

A PHP Error was encountered
Severity: Notice
Message: Undefined index: profile_viewer_uid

Ich habe einen anderen PHP-Code verwendet, der einen leeren Wert ergibt

$profile_viewer_uid = "<script language=javascript>document.write(profile_viewer_uid);</script>

Beim Echo zeigt es nichts. 

20
rash111

Sie müssen JS verwenden, um die URL mit einer Variablen wie: http://www.site.com/index.php?uid=1 zurückzusenden.

mit so etwas in JS:

window.location.href=”index.php?uid=1";

Dann verwenden Sie im Code PHP $ _GET:

$somevar = $_GET["uid"]; //puts the uid varialbe into $somevar
16
Chris Cummings

Hier ist das Arbeitsbeispiel: Holen Sie den Javascript-Variablenwert auf derselben Seite.

<script>
var p1 = "success";
</script>

<?php
echo "<script>document.writeln(p1);</script>";
?>
12
Arslan Tabassum

Fügen Sie einen Cookie mit der Javascript-Variablen hinzu, auf die Sie zugreifen möchten.

document.cookie="profile_viewer_uid=1";

Dann greift es in PHP über

$profile_viewer_uid = $_COOKIE['profile_viewer_uid'];
7
humbleiam

Vielleicht möchten Sie zunächst einmal lernen, was Javascript und PHP sind. Javascript ist eine clientseitige Skriptsprache, die im Browser des Computers des Clients läuft, der mit dem Webserver verbunden ist, auf dem PHP ausgeführt wird. Diese Sprachen können nicht kommunizieren direkt.

Abhängig von Ihrem Ziel müssen Sie eine AJAX get- oder post-Anforderung an den Server absetzen und eine beliebige Antwort von json/xml/html/zurücksenden, die Sie benötigen, und das Ergebnis in die DOM-Struktur der Site einfügen . Ich schlage dafür Jquery, BackboneJS oder ein anderes JS-Framework vor. Siehe die Jquery-Dokumentation für Beispiele.

Wenn Sie PHP-Daten an JS an derselben Site übergeben müssen, können Sie die Daten als JS wiederholen und Ihre PHP-Daten mithilfe von json_encode () in JS konvertieren.

<script type="text/javascript>
    var foo = <?php echo json_encode($somePhpVar); ?>
</script>
5
burzum

Wenn Sie eine js-Variable in einem PHP-Skript verwenden möchten, MÜSSEN Sie diese innerhalb einer HTTP-Anforderung übergeben. 

Dies kann leicht durch Ändern oder Neuladen der Seite vorgenommen werden (z. B. Senden eines Formulars oder Erstellen einer Weiterleitung mit js, wie in Chris answer ).

Wenn Sie die Seite jedoch nicht neu laden möchten, müssen Sie AJAX verwenden, das genau für den Zugriff auf Webserver von einer Webseite aus vorgesehen ist, ohne die Seite neu zu laden oder zu ändern.

Ein einfaches Beispiel kann sein:

var profile_viewer_uid = 1;
$.ajax({
  url: "serverScript.php",
  method: "POST",
  data: { "profile_viewer_uid": profile_viewer_uid }
})

In der serverScript.php-Datei können Sie Folgendes tun:

 $profile_viewer_uid = $_POST['profile_viewer_uid'];
 echo($profile_viewer_uid);
 // prints 1

Hinweis: In diesem Beispiel habe ich jQuery AJAX verwendet, was sich schneller implementieren lässt. Sie können es auch in reinen js tun.

2
T30

PHP läuft auf dem Server. Es gibt etwas Text aus. Dann hört es auf zu laufen. 

Der Text wird an den Client (einen Browser) gesendet. Der Browser interpretiert den Text dann als HTML und JavaScript.

Wenn Sie Daten von JavaScript an PHP abrufen möchten, müssen Sie eine neue HTTP-Anforderung erstellen und ein neues (oder dasselbe) PHP - Skript ausführen.

Sie können eine HTTP-Anforderung von JavaScript aus erstellen, indem Sie ein Formular oder Ajax verwenden.

2
Quentin

Dies sind zwei verschiedene Sprachen, die zu unterschiedlichen Zeiten ausgeführt werden - Sie können nicht mit ihnen interagieren.

PHP wird auf dem Server ausgeführt, während die Seite geladen wird. Nach dem Laden wird das JavaScript auf dem Client-Computer im Browser ausgeführt.

1
BenOfTheNorth

Dies könnte etwas knifflig sein, aber der sichere Weg ist, ein Javascript-Cookie zu setzen, das dann von einer PHP-Cookie-Variable abgerufen wird. Dann ordnen Sie diese PHP-Variable einer PHP-Sitzung zu, die die Daten sicherer hält als das Cookie. Löschen Sie dann das Cookie Verwenden Sie Javascript und leiten Sie die Seite an sich selbst weiter. Wenn Sie einen PHP-Befehl zum Abfangen der Variablen hinzugefügt haben, werden Sie ihn erhalten.

0
Jatin Patro