Newsgroup: it.comp.www.php
Titolo: [FORMS] submit con immagine

sapete dirmi perche' il seguente codice funziona con i browser di tipo
netscape e non con explorer?
credo che l'errore sia sull'input type di tipo image, poiche' con un tasto
submit tutto funziona. come posso fare per far si' che funzioni anche su
explorer?
gestisco i risultati del post con una funzione in php, ma non riesco a
capire perche' con explorer non funzioni se utilizzo una immagine al posto
del tasto..
...
<form action="'.$PHP_SELF.'" method=POST>
	username: <input type=text name=user><br> password: <input type=password
	name=pass> <input type=image name="action" value="submit"
	src="./img/login.gif">
</form>
...
grazie,
	Lorenzo

 </form>
non capisce bene *cosa* non funziona....

 non capisce bene *cosa* non funziona....
ovviamente, non vengono passati i valori del post allo script
(solo su internet explorer, con mozilla funziona...)

, 
stclau...@tiscalinet.it
 says...

Giusto per partire dalle cose pignole, da quello che hai scritto 
otterresti: action='pagina.php' prova a scrivere in modo da ottenere 
action="pagina.php"

, 
alepoyS...@tiscali.it
 says...

no ho sbagliato, mi si sono incrociati gli occhi con le virgolette

 no ho sbagliato, mi si sono incrociati gli occhi con le virgolette
succede anche a me a volte ;)
cmq forse il problema e' sull'immagine.. ho notato che se elimino la parte
"value="submit", non funziona neanche su netscape & co. forse per explorer
ci vuole qualche chiave in particolare che gli "faccia capire" di dover
eseguire l'invio dei dati?

, 
stclau...@tiscalinet.it
 says...

ho fatto una prova (ie 6), le variabili si vedono. 
Questo è il dump di $_POST:
array(4) { 
["user"]=> string(4) "ciao" 
["pass"]=> string(5) "afsdf"
["action_x"]=> string(1) "5"
["action_y"]=> string(2) "17"
} 

 }
mi incolleresti tutto quanto? anche io ho fatto una prova:
<?
if($_POST[action]){
	echo $_POST["user"]." ". $_POST["pass"];
}
?>
[FORM DEL PRIMO MESSAGGIO]
e su explorer quando clicco l'immagine non mi appare nulla.. su netscape
mi si visualizzano le variabili. hai qualche idea?

 ?>
Non so come funziona con netscape, ma quando clicchi sull'img non viene 
postato il value dell'immagine, bensě le coordinate del click del mouse 
sull'img stessa. Essendo esse passate al server nel formato 
<nomeinput>.x e <nomeinput.y> ed essendo nomi di variabili illegali in 
php esse vengono convertite in $<nomeinput>_x e $<nomeinput>_x; perň non 
avrai mai la variabile $<nomeinput>.
Quindi il controllo lo devi fare in questo modo:
if (($_POST['action_x']) && ($_POST['action_y'])) { ....
Forse netscape posta anche il value, mentre ie no

 Forse netscape posta anche il value, mentre ie no
e' cosi'!
magnifico, funziona
grazie mille!!
ciao
		Lorenzo

 Forse netscape posta anche il value, mentre ie no
come ti dicevo ho provato e funziona..(i dati vengono inviati) pero' solo
se si fa clic col mouse sull'immagine e non se si preme invio.. in quel
caso come potrei fare secondo te?
come posso aggiungere un controllo anche sulla pressione di invio?

 come posso aggiungere un controllo anche sulla pressione di invio?
Qui si va su javascript.
A questo punto, è proprio necessario che tu faccia il controllo su $_POST
['action...'] ?
Forse sarebbe meglio mettere un campo hidden nel form e controllare 
l'invio su quel valore.
-- 
__________________________________________________
                 ~°~   Ale   ~°~
         **** CAMPIONI D'ITALIA 26 ****
~~~ ICQ #54291095 ~ DPPSJ #044 ~ LACRIMA #008 ~~~~

 l'invio su quel valore.
ho infatti aggiunto un:
<input type="hidden" name="action" value="aaa">
ma effettuando un controllo del tipo:
if($_POST["action"]){
	echo $_POST["user"]." ".$_POST["pass"];	
 
}
non ottengo comunque niente solo con la pressione di invio..

On Sun, 19 Jan 2003 15:59:29 GMT, Lorenzo se ne usciva così:

A me non ha mai funzionato con Explorer. Sono riuscito ad aggirare il 
problema mettendo le immagini fuori dal form, e legando il click 
dell'immagine al submit del form con javascript. Auguri!
-- 
We hold these truths to be self-evident,
that all men are created equal,
that they are endowed by their Creator with certain unalienable Rights,
that among these are Life, Liberty, and the pursuit of Happiness

 dell'immagine al submit del form con javascript. Auguri!
ho risolto il problema con l'inserimento di un campo hidden ed eseguendo
il controllo sul valore passato dal campo hidden stesso. ora funziona!

 netscape e non con explorer?
Perche' non tutti, alla Microsoft, consultano il sito 
http://www.w3c.org
Soluzione spiccia, che applico molto spesso:
if ( (browser==MSIE) || (browser==lynx) ) {
    echo "form con bottone submit";
} else {
    echo "form con immagine";
}
 
ciao
-- 
bernama chiocciola libero it
Il processo che ha portato dall'ameba all'uomo viene chiamato
'evoluzione'. Ma non dal punto di vista dell'ameba.
+- PHPRndSig 0.01 --------------------------------------------36/37-+