2016-04-13 11 views
-1
<tr class="form-field"> 
    <th valign="top" scope="row"> 
    <label for="email"><?php _e('E-Mail', 'custom_table_example')?></label> 
     </th> 
     <td> 
    <input id="email" name="email" type="email" style="width: 95%" value="<?php echo esc_attr($item['email'])?>" 
       size="50" class="code" placeholder="<?php _e('Your E-Mail', 'custom_table_example')?>" onchange="myFunction();" required> 
     </td> 
</tr> 

    <?php 
echo'<script> 
function myFunction() { 
var x = document.getElementById("email").value; 
alert(x); 
}    
</script>'; 
?> 
<?php 
$content = "<script>document.write(x)</script>"; 
echo $content; 
?> 
<?php 
$user = get_user_by('email', '[email protected]'); 
$userId = $user->ID; 

echo "That E-mail is registered to user number " . $userId; 

?> 

Wie kommt man JavaScript-Variable in PHP bekommen ?? Ich habe mit dem oben genannten Code versucht. Ich bekomme JavaScript-Alarm, aber ich brauche den variablen Wert in PHP. Wenn ich Variable erhalten muss mit Benutzer-ID vergleichen. Wenn userid vorhanden ist, muss ich es in db speichern, sonst sollte es nicht in db speichern und eine Fehlermeldung ausgeben .... Muss vor dem Abschicken überprüft werden. Vielen Dank im voraus !!!Wie Skript Variablenwert in php

+1

PHP ist Server-Seite, Javascript in Client-Seite, Server-Seite führt erst und die Client-Seite Änderungen nicht bewusst, wenn Sie es von außen anrufen wie AJAX – Thamilan

Antwort

0

Sie sind verwirrt darüber, wie serverseitige Sprachen funktionieren.

Alle auf der Seite vorhandenen PHP-Dateien werden vom Server verarbeitet, bevor der resultierende HTML-Code an den Client zurückgegeben wird. Aus diesem Grund kann JavaScript nicht so mit dem Server kommunizieren, wie Sie es versucht haben.

Was Sie tun müssen, ist Javascript (wahrscheinlich mit jquery) zu verwenden, um eine AJAX-Anfrage an den Server zu senden, dies wird die Daten an den Server senden und auf eine Antwort warten, können Sie dann etwas basierend auf dieser Antwort tun. Hier

ist ein Beispiel für einen Ajax-Aufruf (aus den jquery docs):

$.ajax({ 
    method: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}) 
    .done(function(msg) { 
    alert("Data Saved: " + msg); 
});