Newsgroup: it.comp.www.php
Titolo: Form che funziona solo con Firefox

Ciao a tutti, ho fatto un form composto da quattro immagini. Cliccando 
su una di esse viene eseguito il submit:
 > <form action="acquista.php" method="POST">
 > <table>
 >   <tr>
 >     <td>
 >       <input type="image" src="ricariche_file/image001.jpg" 
name="TIM" >value="TIM">
 >     </td>
 >     <td>
 >       <input type="image" src="ricariche_file/image002.jpg" 
name="Vodafone" value="Vodafone">
 >     </td>
 >   </tr>
 >   <tr>
 >     <td>
 >       <input type="image" src="ricariche_file/image003.jpg" 
name="Wind" > value="Wind">
 >     </td>
 >     <td>
 >       <input type="image" src="ricariche_file/image004.jpg" 
name="H3G" > value="H3G">
 >     </td>
 >   </tr>
 > </table>
 > </form>
Il problema è che questo semplice form funziona solo con Firefox, sia 
Opera che Internet Exploder si comportano come se non esistesse. 
Infatti, dopo aver provato con GET a mo' di debug ecco cosa mi è uscito 
con Firefox:
 > 
http://safe-investing.com/ricariche/acquista.php?Wind.x=82&Wind.y=34&Wind=Wind
mentre con gli altri due browser:
 >ttp://
safe-investing.com/ricariche/acquista.php?Wind.x=23&Wind.y=29
Quindi in effetti negli altri browser il clic sulle immagini viene 
praticamente ignorato perchè manca il parametro principale. Infatti dopo 
il clic sull'immagine questo codice funziona solo con Firefox:
 > if (isset($TIM)) {
 >    echo("<br><br>Tabella ricariche TIM");
 > }
 > elseif (isset($Vodafone)) {
 >    echo("<br><br>Tabella ricariche Vodafone");
 > }
 > elseif (isset($Wind)) {
 >    echo("<br><br>Tabella ricariche Wind");
 > }
 > elseif (isset($H3G)) {
 >    echo("<br><br>Tabella ricariche H3G");
 > }
Mentre sostituendo le immagini con i classici bottoni "submit" tutto 
funziona normalmente in ogni browser. Ovviamente questa soluzione non mi 
interessa, non solo perchè è più bello graficamente avere le immagini, 
ma anche perchè questo problema è così assurdo che in qualche modo mi 
sento chiamato in causa per risolvere la faccenda.
Spero che mi possiate aiutare, è un problema così curioso...!

> > <form action="acquista.php" method="POST">
non so se puo' essere questo, ma prova a fare    <form name="pippo" 
action....

il problema è che il campo input con type="image" viene inviato SOLO
da firefox mentre gli altri browser non lo inviano...
se sostituisci quello con un submit normale vedrai che funzionerà
DNS ha scritto:


 
No non era quello, comunque ho risolto. In pratica i browser quando si 
clicca un'immagine che fa da bottone di submit non inviano mai 
l'attributo Value (Firefox è un'eccezione), ma inviano gli attributi 
name.x e name.y che sarebbero le coordinate del click sull'immagine 
"name". Ecco come bisogna fare:
 > if (isset($_POST['TIM_x'])) {
 >   //codice
 > }
 > elseif (isset($_POST['Vodafone_x'])) {
 >   //codice
 > }
 > elseif (isset($_POST['Wind_x'])) {
 >   //codice
 > }
 > elseif (isset($_POST['H3G_x'])) {
 >   //codice
 > }
PHP cambia il punto con l'underscore perchè altrimenti il nome della 
variabile sarebbe non valido, ecco perchè bisogna usare _x o _y.
Ce l'ho fatta... ma quanto tempo perso!

 Ce l'ho fatta... ma quanto tempo perso!
Eh... :)
David
-- 
Linux Registered User #334216
Get FireFox! >> 
http://www.spreadfirefox.com/?q=affiliates&id=48183&t=1
Staff >> 
http://www.debianizzati.org
 <<

 attivato... e poi, così rischi possibili attacchi da utenti :S.
Perché il mancato uso degli array superglobali per richiamare le variabili 
espone a possibili attacchi da parte di utenti?
rob4you 

 rob4you


 sovrascritte da query dell'utente.
Capisco, ma, nell'esempio che hai postato tu, se pur un utente malizioso 
passasse la variabile get cmd=whoami, quando viene eseguito lo script 
test.php, in realtà, il valore di $cmd non sarà sempre "ls" dal momento che 
viene effettuata un'assegnazione proprio prima della shell_exec? In altre 
parole, dove è stabilito se "sopravviverà" 'ls' oppure 'whoami'?
rob4you 


Ciao.
T.

Borut ha scritto:
Si, ma così avresti il problema delle coordinate 0,0 credo.
non ti conviene fare il submit in javascript sull'evento onclick?
-- 
Cordialmente.
Melus.
dal mio e-mail togli i simboli di Zorro.

 Si, ma cosě avresti il problema delle coordinate 0,0 credo.


> Si, ma così avresti il problema delle coordinate 0,0 credo.


 T.
D. (anche a me fa male la manina oggi :P)


 D. (anche a me fa male la manina oggi :P)
cerco solo di risparmiare byte.
(pur di non lavorare, ho una scusa per tutto!  ;-D)
Ciao
T.

 T.
David
