Newsgroup: it.comp.www.php
Titolo: Follia di firefox (invia modulo)

Ho creato un questionario online, che sottomette i suoi dati ad un 
file.php. Quando però invio il modulo, firefox invece di darmi la pagina 
php, inizia ad aprire schede all'infinito e riesco a fermarlo solo col 
task manager.
Cosa è successo secondo voi? Come faccio a vedere la mia pagina .php?
questo è il file (ditemi pure se c'è qualche errore di programmazione):
<html>
<head>
<title>Risposte</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div align="center">
   <p><font color="#FF0000" size="5"><strong>GRAZIE DI AVER PARTECIPATO 
</strong></font></p>
   <p>&nbsp;</p>
   <p align="left"><font color="#0000FF"><strong><font size="4">I tuoi 
dati sono:</font></strong></font></p>
   <p align="left">&nbsp;</p>
</div>
<?php
if(isset($_POST[["campo"]))
echo $_POST[["campo"]."<br>";
else
echo "manca campo"."<br>";
if(isset($_POST[["area"]))
echo $_POST[["area"]."<br>";
else
echo "manca area"."<br>";
if(isset($_POST[["checkbox"]))
echo $_POST[["checkbox"]."<br>";
else
echo "manca checkbox"."<br>";
if(isset($_POST[["scelta"]))
echo $_POST[["scelta"]."<br>";
else
echo "manca scelta"."<br>";
if(isset($_POST[["radio"]))
echo $_POST[["radio"]."<br>";
else
echo "manca radio"."<br>";
if(isset($_POST[["elenco"]))
echo $_POST[["elenco"]."<br>";
else
echo "manca elenco"."<br>";
?>
</body>
</html>
*GRAZIE*

 questo è il file (ditemi pure se c'è qualche errore di programmazione):
Usi $_POST[[ ] e direi che questo non va bene.
Non credo che questo possa aprire tanti tab però, magari posta il codice 
della pagina che fa l'invio.

 if(isset($_POST[["campo"]))
[...]
Tutti gli elementi dell'array POST sono scritti male: c'è una
parentesi quadra aperta di troppo, $_POST['campo'] o $_POST["campo"]
e non $_POST[["campo"]. Ma questo non credo c'entri con il tuo
problema, il quale potrebbe dipendere da come quella pagina viene
richiamata.
Ciao.
-- 
Federico

 della pagina che fa l'invio.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
">
<html xmlns="
http://www.w3.org/1999/xhtml
">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Questionario</title>
<script language="javascript">
function modulo()
{
var campo = document.modulo.campo.value;
var area = document.modulo.area.value;
var checkbox = document.modulo.checkbox.value;
var scelta = document.modulo.scelta.value;
var radio = document.modulo.radio.value;
var elenco = document.modulo.elenco.value;
if ((campo=="") || (campo isNaN(campo)) || (campo=="undefined"))
{
alert("Il campo di testo è obbligatorio.");
    document.modulo.campo.focus();
    return false;
}
if ((area=="") || (area=="undefined"))
{
alert("L'area di testo è obbligatoria.");
    document.modulo.area.focus();
    return false;
}
if ((checkbox=="") || (campo=="undefined"))
{
alert("Devi selezionare il checkbox.");
    document.modulo.checkbox.focus();
    return false;
}
else
{
  document.modulo.action = "risposte.html";
  document.modulo.submit();
}
</script>
</head>
<body>
<div align="center">
   <form id="modulo" name="modulo" method="post" action="risposte.html">
     <p>Campo di testo (numerico): <input name="campo" type="text" 
id="campo" /> </p>
   <p>Area di testo: <textarea name="area" id="area"></textarea> </p>
   <p>Check box: <input name="checkbox" type="checkbox" id="checkbox" 
value="checkbox" />
   </p>
   <p>Pulsante di scelta: <input name="scelta" type="radio" 
value="scelta" /> </p>
   <p>Radio button:</p>
   <p>
     <input type="radio" name="radio" value="m" /> maschio <br />
     <input type="radio" name="radio" value="f" /> femmina <br />
   </p>
   <p>Elenco menu: <select name="elenco" id="elenco">
     <option value="0" selected="selected">---</option>
     <option value="1">uno</option>
     <option value="2">due</option>
     <option value="3">tre</option>
   </select> </p>
   <p> <input name="invia" type="submit" id="invia" onclick="modulo ()" 
value="Invia" />
       <input name="Resetta" type="reset" id="Resetta" value="Resetta" />
   </p>
   </form>
</div>
</body>
</html>

 richiamata.
Ops, ne avevo scritta una e copiato e incollato ;)
Cmq ho corretto e il problema non è quello.

 value="Invia" />
meglio togliere l'onclick all'input e settare l'onsubmit sul form:
<form id="modulo" name="modulo" method="post" action="risposte.html" 
onbubmit="return modulo(this);">
Poi riscrivi la funzione modulo() cosi`:
function modulo(f)
{
 var campo = f.campo.value;
 var area = f.area.value;
 var checkbox = f.checkbox.value;
 var scelta = f.scelta.value;
 var radio = f.radio.value;
 var elenco = f.elenco.value;
 ...
Inoltre non usare checkbox, radio e area come nomi, sono riservati in 
html, potrebbero creare casini.
Basta cosi`, siamo troppo OT. :)
Bye.

 creargli confusioni
Si ma non devi aprire due parentesi quadre e chiuderne una.

> Si ma non devi aprire due parentesi quadre e chiuderne una.
un errore di scrittura, che mi sono copiata senza accorgermene, ho già 
corretto :)