[bglug] PHP + IE ... i misteri continuano

Nicola Benaglia bglug@lists.linux.it
Wed, 21 Aug 2002 16:17:14 +0200 (CEST)


Ciao a tutti quelli ritornati dalle vacanze,
sto riguardando il mio problemino PHP + Internet Explorer .... di cui 
avevo già scritto.
Usando IE non riesco a operare su un database, mentre con altri browser 
sì.

Adesso invio la pagina generata e lo script php.
Questa è la pagina generata dopo che ho selezionato l'articolo da 
cancellare.

<HTML>
<BODY>
<DIV align=center><H2>
ELIMINAZIONE MATERIA PRIMA</H2></DIV>
<TABLE width=50% align=center>
<TR><TD colspan=2>
<FORM ACTION="conf_mod_eli_mp.php" METHOD="post">
<TR><TD>Codice materia prima<TD><INPUT type="text" name="cod_mp" 
value="123" disabled>
<TR><TD>Nome materia prima
<TD><INPUT type="text" name="nome_mp" value="acqua"  disabled><BR>
<TR><TD colspan=2 align=center>
<INPUT type="hidden" name="mod_eli" value="eli">
<INPUT type="submit" value="conferma ELIMINAZIONE ">
</FORM>
<TR><TD>&nbsp;
<TR>
<TD colspan=2 align=center><A HREF=menu.php>Menu principale</A>
</TABLE>
</BODY>
</HTML>

Una volta confermato viene eseguito questo script php:

<?php
session_start();
include("tabelle.php");
?>
<HTML>
<BODY>
<?php
if ($mod_eli=="eli")
{
$id_conn=mysql_connect("localhost",$user,$pw);
$db=mysql_select_db("laboratorio",$id_conn);
$query="DELETE FROM $articoli WHERE cod_mp='$cod_mp'";
$ris=mysql_query($query,$id_conn);
echo  "$user <BR>";        /*********** INSERITE PER PROVARE IL 
echo "$cod_mp <BR>";                     PASSAGGIO
echo "$id_conn <BR>";			   DELLE
echo "$query <BR>";			VARIABILI
echo "$ris <BR>";	    ****************************/		
if ($ris)
        {
        echo "<DIV align=center>Cancellazione avvenuta</DIV>\n";
        echo "<DIV align=center><A HREF=menu.php>Menu 
Principale</A></DIV>\n";
        }
mysql_close($id_conn);
}

elseif ($mod_eli=="mod")
{
$id_conn=mysql_connect("localhost",$user,$pw);
$db=mysql_select_db("laboratorio",$id_conn);
$query="UPDATE $articoli SET nome_mp='$nome_mp',data_mp=NOW() WHERE 
cod_mp='$cod_mp'";
$ris=mysql_query($query,$id_conn);
if ($ris)
        {
        echo "<DIV align=center>Modifica avvenuta</DIV>\n";
        echo "<DIV align=center><A HREF=menu.php>Menu 
Principale</A></DIV>\n";
        }
mysql_close($id_conn);
}
?>
</BODY>
</HTML>


Adesso vi faccio vedere il risultato delle istruzioni ECHO sopra 
evidenziate.
Con il browser Opera ottengo:

root
123
Resource id #1
DELETE FROM articoli WHERE cod_mp='123'
1
Cancellazione avvenuta
Menu Principale


E tutto viene eseguito correttamente. Il record con chiave 123 viene 
cancellato.


Invece con IE5.5 ottengo:

root

Resource id #1
DELETE FROM articoli WHERE cod_mp=''
1
Cancellazione avvenuta
Menu Principale


In pratica non viene passata la variabile cod_mp e non viene quindi 
eseguita l'operazione sul database.
Il codice mi sembra corretto..........con Opera funziona tutto benissimo e 
anche con Mozilla.

Spero di essere stato chiaro.
Avete qualche idea ??? Qualche suggerimento per capire meglio il problema 
?

grazie
Nicola




-- 
POWERED by  ***** GNU/Linux *****

Linux User Group member: http://bglinux.linux.it

http://www.gnupg.org
Hexadecimal KeyID: 0x0262AF6D 2001-09-07 Nicola Benaglia <nico.ben@inwind.it>
Key fingerprint = C6D3 533F 5A7F C8AC D89C  0766 ADB2 BA0C 0262 AF6D