ciao a tutti,
se in una pagina php ho:
codice php....
?>
<script type="text/javascript">
var miavar = "pippo";
</script>
<?php
codice php...
posso recuperare il valore di miavar nel file php?
ciao e grazie
ciao a tutti,
se in una pagina php ho:
codice php....
?>
<script type="text/javascript">
var miavar = "pippo";
</script>
<?php
codice php...
posso recuperare il valore di miavar nel file php?
ciao e grazie
PHP è un linguaggio lato server, Javascript lato client.
Ciò vuol dire che puoi passare valori da PHP a JS, non viceversa, perché quando arrivi a processare il JS, PHP è già andato.
grazie Alhazred per la risposta
per cui anche se volessi recuperare il valore di un input text di una form (prima che venga fatto il submit) non lo posso fare, giusto?
esempio:
codice php...
echo("<input type=text name=miavar id=x_miavar>");
codice php...
qui non posso recuperare il valore di miavar, giusto?
echo("<input type=submit value='Confirm'>");
Qualcosa di simile lo puoi fare: puoi creare con un window.location.href un reindirizzamento con javascript alla pagina stessa, passando le variabili interessate come get, in questo modo possono essere elaborate da php.
esempio:
In pratica lo script php guarda se gli è stata inviata la variabile miavar via GET, in tal caso scrive una stringa e riscrive la variabile nel campo miavar, in modo che l'utente riabbia il form come l'ha lasciato. Tramite un pulsante l'utente invia da javascript la variabile a questa stessa pagina, in modo che sia intercettabile da php.Codice PHP:
<?php
$miavar=$_GET['miavar'];
if(isset($miavar))
echo 'Hai scritto '.$miavar.' nel form!
';
?>
<form>
<input type=text name=miavar id=x_miavar value=<?='"'.$_GET['miavar'].'"' ?>>
<input type=submit value="Confirm">
<button type="button" onClick="window.loaction.href='questapagina.php?miavar='+document.getElementByID['x_miavar'].value;">Manda a php</button>
</form>
come ti ha spiegato Alhazred è impossibile far comunicare direttamente javascript e javascript: infatti php viene eseguito totalmente sul server, al computer dell'utente arriva solo la parte html, dove di php non c'è più nulla. Dato che il javascript viene eseguito proprio sul computer dell'utente, non può comunicare con php, che è già stato trasformato in html. E' necessario semmai inviare una variabile al server, dove php viene interpretato.
![]()
![]()
Una volta che fai la richiesta della pagina col form, php verrà eseguito, la pagina verrà composta e a te risulterà come una qualsiasi pagina html, quindi:
echo("<input type=text name=miavar id=x_miavar>");
a te risulterà semplicemente
<input type=text name=miavar id=x_miavar>
quindi javascript può benissimo prendere il valore di miavar, ad esempio così:
var miavar_js = document.getElementById("reg").miavar.value;
supponendo che il form di cui fa parte abbia id="reg"
In questo modo però non stai leggendo una variabile php, ma semplicemente leggendo il valore di un campo text di un form.
Il fatto che sia stato generato da php non ha importanza.