Newsgroup: it.comp.www.php
Titolo: form e stringa di interrogazione

PREMESSA:
So che sto per dirla grossa, ma i dubbi sono sempre all'assalto quando non
hai raggiunto ancora un certo grado di familiarità con un linguaggio di
programmazione, per cui non me ne vogliate, soprattutto non se la prenda il
buon Setec.
Non c'è un modo per inviare i dati immessi in un form senza dare il submit
ma accodandoli alla stringa di interrogazione, dopo averli codificati
naturalmente?
Sicuramente mi risponderete di no, però io spesse volte ho trovato form da
compilare ed inviare tramite un semplice link come ad esempio la parola
"avanti" o "fine" o quel che sia...
Dove stà la stupidata che ho detto?
ciao
Kain

 codificati naturalmente?
http://www.php.net/manual/en/language.variables.external.php
Utilizza $_GET ed eventualmente JS lato client.
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.

 
Forse quei tasti avanti / fine non sono nient'altro che immagini usate come
bottoni di un form e' semplice html
-- 
Danilo

 Utilizza $_GET ed eventualmente JS lato client.
Come si accede ai dati spediti tramite form dallo script indicato
nell'ACTION penso ormai di avere capito come fare, ma io vorrei che i dati
immessi nel form fossero accodati ad *una stringa di interrogazione"
costruita manualmente.
Faccio un esempio:
$nome = "mio Nome";
$nome = (urlencode($nome);)
echo "<a href=\"elabora.php?nome=$nome\">passa il nome</a>";
In questo esempio ho codificato il nome perché conteneva spazi e poi l'ho
inserito, *manualmente*, nella stringa di interrogazione per passarlo allo
script di elaborazione elabora.php.
Se invece si tratta di dati inseriti in un form?
Da JS so prendere una stringa immessa in un campo di testo, ma poi come la
passo a php?
Mettiamo ad esempio:
<form....>
<input type = "nome">
</form>
<script language="javascript">
var mioNome = document.forms[0].nome.value
</script>
Adesso che ho la varibile js mioNome = "inputNome" come faccio a
trasformarla in variabile php? E' possibile?
ciao
Kain

 Se invece si tratta di dati inseriti in un form?
Per quale motivo non vuoi fare il submit?


 bottoni di un form e' semplice html
Giusto!!
Adesso ho capito cosa intendeva Setec,
se ad esempio creo un pulsante mio con scritto "avanti" e associo a questo
pulsante la funzione submit() di js il gioco è fatto!
Stessa cosa con un normale link, sempre usando javascript e la funzione
submit
Grazie mille, mi ero un po' perso...e adesso sono OT.
ciao

> Per quale motivo non vuoi fare il submit?
Hai ragione, ho risposto sotto a Danilo, non avevo ancora realizzato, adesso
mi č chiaro!!
thx
Kain

 funzione submit
Non serve scomodare JS, puoi semplicemente creare un form od utilizzare
una querystring creata adhoc.


 una querystring creata adhoc.
Non capisco come, mi puoi fare un esempio? :-)

Kain wrote:

<form name="formAvanti" method="get" action="index.php">
<input type="hidden" name="offset" value="20" />
  <input type="submit" value="Avanti" />
</form>
<form name="formIndietro" method="get" action="index.php">
<input type="hidden" name="offset" value="10" />
  <input type="submit" value="Indietro" />
</form>
Oppure
<a href="index.php?offset=20">Avanti</a>
<a href="index.php?offset=10">Indietro</a>
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E


 <a href="index.php?offset=10">Indietro</a>
In questo esempio invece offset lo inizializzi e lo dichiari tu, in qualità
di programmatore. Io invece vorrei passare il valore preso ad esempio da un
campo di testo, o da un radio button, oppure da un checkbox o una select o
qualsiasi cosa possa comunque dipendere dall'interazione e quindi dall'input
dell'utente, mediante quindi compilazione del campo di testo, selezione di
un pulsante radio ecc...
Per chiarire, l'esempio che purtroppo non funge è questo:
<form> <!-- Non inserisco né il metodo né l'action perchè vorrei fosse il
link sotto a passare i valori -->
<input type="text" name="nome">
</form>
<?php
echo "<a href=\"elabora.php?nome=$nome\">Avanti</a>";
?>
Purtroppo però questo metodo non funziona perché da quanto ho capito php
percepisce i valori passati da un form soltanto attraverso il submit
Kain

 submit
Non e' il PHP, e' il protocollo HTTP e l'HTML che definiscono il
funzionamento delle richieste. Che sia PHP, ASP, PERL, CGI etc quello
che chiedi, come lo vuoi fare tu non e' possibile. Devi usare JS.
Comunque non lo ritendo un approccio corretto, stai affidando a JS
quello che potrebbe fare tranquillamente PHP lato server, al sicuro da
pericolose interferenze dell'utente.
-- 
I am what I am, I do what I can


 del pulsante submit del form
Come ha detto Setec, se vuoi fare come hai chiesto (ottenere una querystring
dai dati di una form cliccando su un link), puoi solo usare JS.
Il problema sta nel fatto che se utilizzi JS per effettuare un submit, e
l'utente ha disabilitato Javascript, non potrà mai inoltrare i dati
richiesti... :(
Se proprio non vuoi utilizzare un pulsante dal classico look "squadrato 3D",
puoi sempre utilizzare un'immagine come "pulsante di submit". Un esempio:
<form name="theForm" action="index.php" method="get"
enctype="application/x-www-form-urlencoded">
<input type="hidden" name="val1" value="10">
<input type="text" name="val2" value="">
<input type="image" name="avanti" src="avanti.gif" alt="Avanti">
</form>
che al click sull'immagine apre la pagina
index.php?val1=10&val2=<valore>&avanti.x=<n>&avanti.y=<m>
dove <n> e <m> sono le coordinate (assolute?) del mouse al momento del
click, e <valore> il valore inserito nel campo text.
Ovviamente puoi utilizzare ugualmente il metodo POST, se preferisci
Saluti
LB

 che chiedi, come lo vuoi fare tu non e' possibile. Devi usare JS.
Si, è vero, ho detto uno strafalcione riguardo la costruzione della stringa
di interrogazione, me ne sono reso conto in ritardo

 Ovviamente puoi utilizzare ugualmente il metodo POST, se preferisci
Perfetto!! Ma lo sai che non conoscevo l'input di tipo "image"!!? In pratica
posso inserire un'immagine al posto del pulsante standard di submit, e
utilizzarlo come quest'ultimo? Grande!! Che vi devo dire...ho un vecchio
libro di HTML, sicuramente anche per poco esperti, e non avevo mai
conosciuto questo specifico type. Che ignorante che sono!! ;-)
Grazie mille!! Kain

 Grazie mille!! Kain
Quello che ti suggerivo nel primo mex :)
ciao
-- 
Danilo

 ciao
Si, hai ragione, non avevo capito perň che ti riferivi a questo, proprio
perché non ne ero a conoscenza
thx Kain