2012-03-08 28 views
6

Eventuali duplicati:
How to pass a variable/data from javascript to php and vice versa?Passa la variabile javascript al codice php?

Ho un file di PHP e codice javascript. Voglio impostare una variabile php come risultato di una funzione javascript che accetta una variabile php come parametro. Ad esempio:

$parameter = "this is a php variable"; 
$phpVar = echo "foo(" . parameter . ");"; 

So che non si può fare un "= echo", c'è un altro modo per farlo?

Grazie

+1

Invia utilizzando AJAX, oppure utilizzando un modulo ... Dipendere dal vostro caso, su quello che vuoi fare .. – StiveKnx

risposta

12

Non è possibile farlo direttamente, poiché JavaScript viene eseguito sul lato client e PHP viene eseguito sul lato server.

È necessario prima eseguire JavaScript e quindi inviare il risultato al server tramite una chiamata FORM o AJAX.

Ecco che cosa potrebbe essere simile:

PHP

$parameter = "this is a php variable"; 
echo "var myval = foo(" . parameter . ");"; 

JavaScript

var myval = foo("this is a php variable"); // generated by PHP 

$.ajax({ 
    type: 'POST', 
    url: 'yourphpfile.php', 
    data: {'variable': myval}, 
}); 

Ricezione PHP (yourphpfile.php)

$myval = $_POST['variable']; 
// do something 
+0

Il codice PHP ricevente è il file specificato da yourphpfile.php. Può essere separato o parte di un blocco if nel file PHP originale. –

+0

Eloquente e facile da fare. – Jodo1992

1

Devi fare una richiesta GET o POST allo script da JavaScript.

3

Il codice PHP viene eseguito sul server prima dell'invio della risposta; JavaScript viene eseguito dopo, nel browser. Non è possibile impostare una variabile PHP da JavaScript perché non ci sono variabili PHP nel browser, dove JavaScript se è in esecuzione. Dovrai utilizzare una richiesta AJAX da JavaScript a uno script PHP che memorizza le informazioni che vuoi ottenere.

+2

Chiunque downvoted, sarebbe più utile per spiegare ciò che si trovare discutibile, in particolare perché tutti quelli che hanno risposto dopo di me sembrano dire la stessa cosa che ho fatto. C'è qualche sfumatura importante che ho sbagliato? Ti piacciono le persone che prendono il nome da carni di alta qualità? – Chuck

0

Non è possibile passare un js variabile php codice.
PHP si verifica sul server, a migliaia di miglia di distanza dal client, dove viene eseguito js.

Quindi, è possibile chiamare uno script php solo utilizzando js o un collegamento ipertestuale regolare.

2

Prova questo:

var a = "Result: "+ <?php echo json_encode($parameter); ?>; 
Problemi correlati