Newsgroup: it.comp.www.php
Titolo: passare valore javascript a php

<html>
<body>
Select a file to upload:
<input type="file" id="myFile" onchange="myFunction()" size="50" >
<p id="demo"></p>
<script>
function myFunction() {
     var vx = document.getElementById("myFile").value;
     document.getElementById("demo").innerHTML = vx;
     }
</script>
</body>
</html>
 
<?php
if (isset($value)){echo $value;}
 
?>
 
 
il testo vx devo riuscire a passarlo alla variabile php $value
 
da quel che ho capito nel momento in cui ho preso il valore dalla box di 
upload il codice php oramai è stato eseguito, si dovrebbe ricaricare la 
pagina solo che poi perdo il valore vx già scelto;
tra le varie soluzioni che ho letto c'è l 'utilizzo di ajax, di campo 
hidden o di cookie ma non so come vanno usati per il caso specifico
 

il testo vx devo
 
No :-)
 
Tu vuoi fare qualcos'altro (sospetto "sapere il nome originale del file") e pensi
che l'unico modo sia di "passarlo alla variabile PHP".
 
In realtà il nome del file dovresti trovarlo da qualche parte dentro $_FILES.
 
Altrimenti, spiega per bene cos'è che vuoi fare, non cosa pensi di DOVER fare :-)
 
Leonardo
 
-- 
 
Now suppose -just suppose- I could show you a way to
manufacture a wall that would do the same job... but
was only one inch thick.

 Altrimenti, spiega per bene cos'è che vuoi fare, non cosa pensi di DOVER fare :-)
 
dovrei:
aprire la classica box di dilog che ti fa scegliere il file
pero' non devo scaricare il file ma solo prendere il suo nome
 
tale nome devo poi passarlo ad una variabile php
 
 
 
 
 
 

il nomd del fil deve arrivare ad un avariabile php perchè poi
questa è uasta da un comando exec ; l'esempio postato è semplificato al 
massimo
 
 
 
per avere il nome del file ho trovato una soluzione js (per cui devo 
risolvere i lpasaggio al php); se esiste una soluzione direttamente in 
php, per cui si ha una dialog box in cui si va a scegliere il file e si 
ha il suo nome direttamente in php , ovviamente va benissimo

tale nome devo poi passarlo ad una variabile php
 
Ah, allora è relativamente semplice. Metti il valore del campo dentro ad un campo di form,
e poi invii la form.
 
Si può fare in AJAX, ma non è necessario.


massimo
 
Allora il file è sul server, dove il PHP lo potrebbe vedere? (perché se no, non
c'è modo di usare neanche exec() ).
 
Potresti usare uno di vari "remote file browser", che consentono di selezionare
un file sul server.
 
Googlando 'remote file browser in PHP' trovo ad es.
 
 
http://encode-explorer.siineiolekala.net/
 
 
e con jQuery questa pagina sembra promettente
 
 
http://www.sitepoint.com/10-jquery-file-manager-plugins/
 


 Si può fare in AJAX, ma non è necessario.
 
scusa non essendo esperto non riesco a capire come potrei fare
 
 
se dentro al file test.php
 
ho questo:
 
<html>
<body>
Select a file to upload:
<input type="file" id="myFile" onchange="myFunction()" size="50" >
<p id="demo"></p>
<script>
function myFunction() {
     var vx = document.getElementById("myFile").value;
     document.getElementById("demo").innerHTML = vx;
     }
</script>
</body>
</html>
 
<?php
if (isset($value)){echo $value;}
?>
 
 
che modifica dovrei fare per far arrivare il valore vx al php sotto e 
alla variabile $value?
 
grazie per tutti i chairimenti
 

</html>
 
myFunction() prende .value e lo mette dentro un campo di una form, diciamo:
 
	<form id="myForm" method="post" action="test2.php">
	<input type="hidden" name="valore" value="" />
	</form>
 
e poi invia la form. Qualcosa come:
 
	var frm = document.getElementById("myForm");
	frm.valore.value = vx;
	frm.submit();
 
test2.php a quel punto ovviamente riceve
 
	$_POST['valore']=<qualunque cosa tu abbia messo in vx>.
 
Farlo in AJAX è appena un po' più complicato, e anche se non è indispensabile
ti suggerirei, se vuoi fare così, di farlo via jQuery.


Il 14/02/2016, albert ha detto :

Buona settimana a tutti,
 
Alla fine il frammento potrebbe essere così allora:
 
albert.php
-----------
<?php
if (isset($_POST['valore'])){echo '<br>Nome del file: ' . 
$_POST['valore'] .'<br>';}
 
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script>
function myFunction() {
     var vx = document.getElementById("myFile").value;
     //document.getElementById("demo").innerHTML = vx;
     var frm = document.getElementById("myForm");
     frm.valore.value = vx;
     frm.submit();
     }
</script>
</head>
<body>
<div>
	<form action="javascript:void(0)">
	Select a file to upload:
	<input type="file" id="myFile" onchange="myFunction()" size="50" >
	</form>
 
	<form id="myForm" method="post" action="<?php 
$_SERVER['PHP_SELF'];?>">
    <input type="hidden" name="valore" value="" />
    </form>
</div>
<!-- <div id="demo"></div> -->
</body>
</html>
 
Però ha diversi problemi,
1. Vedere se il file non lo carica davvero con tutti i browser.
2. Il file è del pc utente e alcuni browser inviano solo il nome, altri 
un percorso fittizio che devi ripulire. E' illegale inviare il percorso 
corretto.
3. Se l' utente fa ancora click compare la richiesta di reinvio modulo.
 
Insomma ...
Bye
 
-- 
Alex
 
--- news://
freenews.netfront.net/
 - complaints: 
ne...@netfront.net
 ---