2016-08-16 3 views
0

Ich arbeite mit Javascript und PHP, und ich versuche, JavaScript-Variablen aus einer HTML-Datei in eine PHP-Datei übergeben. Ich versuche schon viele Möglichkeiten mit window.location.href und $_GET und $_POST. Ich weiß nicht, was ich falsch mache, oder wenn etwas fehlt, irgendwelche Vorschläge, wie man Javascript-Variablen an PHP weitergeben kann?JavaScript Variablen zu PHP

html-Datei:

<script type="text/javascript" src="zepto.min.js"></script> 
<script type="text/javascript"> 
    function values() {   
     var wind = 300; 
     var rain = 0; 
     var speed = 35; 

     window.location.href = "getData.php?s1=" + wind + "&s2=" + rain + "&s3=" + speed;   
    } 
</script> 

PHP-Datei:

<?php 
$sensors=new Sensor(); 

if (isset($_GET['s1']) && isset($_GET['s2']) && isset($_GET['s3'])) { 

$wind = $_GET['s1']; 
$rain = $_GET['s2']; 
$speed = $_GET['s3']; 

$sensors->create(); 
} 

?> 
+0

Ich würde eine AJAX-Anforderung empfehlen. Ist es akzeptabel, jQuery für diese Lösung zu verwenden oder können Sie nur Javascript verwenden? –

+0

Welche Ergebnisse erhalten Sie? Ihr Code arbeitete für mich – Shank

+0

Woher wissen wir, dass Ihre Klasse auch nicht versagt. Nicht genug Code hier. Überprüfen Sie über PHP auf Fehler und schauen Sie sich Ihre Konsole an. Ich sehe auch nicht, dass du irgendetwas widerhalst. Wie rufst du die Funktion 'values ​​()'? Wahrscheinlich, warum es hier versagt, nicht die Funktion zu nennen. –

Antwort

1

Ihre (JS) Code nicht funktioniert, weil Sie nie die values() Funktion aufgerufen.

<script type="text/javascript"> 
    function values() {   
     var wind = 300; 
     var rain = 0; 
     var speed = 35; 

     window.location.href = "getData.php?s1=" + wind + "&s2=" + rain + "&s3=" + speed;   
    } 

values(); // Add this to fire up the function 

</script> 

Dies vorausgesetzt, dass der Rest Ihres Codes für die Klasse auscheckt, die Sie verwenden.

Sie müssen auch diese Werte in Ihrem PHP echo:

echo $wind = $_GET['s1']; 
echo $rain = $_GET['s2']; 
echo $speed = $_GET['s3'];