Newsgroup: it.comp.www.php
Titolo: nome variabile per swich case

Ciao a tutti, ho appena iniziato a studiare il php. Sto cercando di 
creare una calcolatrice utilizzando il costrutto switch-case. Il 
problema è che non so qual è il nome della variabile che viene inviata 
con metodo POST alla pagina contenente lo script. Devo controllare il 
valore di quest'ultima per selezionare l'operazione da eseguire con i 
due numeri inseriti. Chi mi può aiutare? Grazie in anticipo. Questo è il 
codice delle due pagine:
INDEX.HTML
<HTML>
<HEAD>
  <TITLE>calcolatrice</TITLE>
</HEAD>
<BODY>
<div align="center">
<BR><BR>inserisci due numeri e scegli l'operazione da effettuare<br><br>
<form action="calcola.php" method="POST">
<input type="text" name="numero1" value="numero"/> <br><br>
<INPUT type="text" name="numero2" value="numero2"/> <br><br>
<BR><BR>nessuna operazione <input type="checkbox" name="niente" 
value="niente">
<BR><BR>somma <input type="checkbox" name="colore" value="verde">
<BR><BR>sottrazione <input type="checkbox" name="sottrazione" 
value="sottrazione">
<BR><BR>prodotto <input type="checkbox" name="prodotto" value="prodotto">
<BR><BR>divisione <input type="checkbox" name="divisione" value="divisione">
<BR><BR>
<input type="submit" value="invia">
</div>
</form>
</BODY>
</HTML>
CALCOLA.PHP
<div>
<title>
il risultato dell'operazione
</title>
<body>
<div align="center">
<?php
switch ($_POST_checkbox)
{
  case $_POST_checkbox=="somma":
  echo"<br><br>la somma dei due numeri e':<br><br>";
  print($_POST["numero1"] + $_POST["numero2"]);
  break;
  case $_POST_checkbox=="sottrazione":
  echo"<br><br>la differenza tra i due numeri e':<br><br>";
  print($_POST["numero1"] - $_POST["numero2"]);
  break;
  case $_POST_checkbox=="prodotto":
   echo"<br><br>il prodotto tra i due numeri e':<br><br>";
  print($_POST["numero1"] * $_POST["numero2"]);
  break;
  case $_POST_checkbox=="divisione":
  echo"<br><br>il rapporto tra i due numeri e':<br><br>";
  print($_POST["numero1"] / $_POST["numero2"]);
  break;
  default:
  echo"<BR><BR>non hai scelto nessuna operazione!";
}
?>
</body>
</div>
</html>

 che viene inviata con metodo POST alla pagina contenente lo script. 
Ti suggerisco di iniziare leggendo il manuale ufficiale:
http://www.php.net/manual/it/tutorial.forms.php
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

  case $_POST_checkbox=="somma":
*** consiglio 1
Questo e' sbagliato, si scriverebbe cosi':
switch ($_POST_checkbox)
{
case "somma":
*** consiglio 2
Per conoscere i valori dei checkbox, controlla se sono definiti questi 
valori:
$_POST["somma"]
$_POST["prodotto"]
ecc.
*** consiglio 3
Per imparare, comincia ad usare il metodo GET anziche' POST, cosi' le 
variabili sono visibili nell'url. 

 due numeri inseriti. Chi mi può aiutare? Grazie in anticipo. Questo è il
ci sono varie cose che non vanno, partiamo dall'html, USARE gli
oggetti giusti:
Visto che si può eseguire una sola delle operazioni indicate si usa il
radio non il checkbox; il radio (in questo caso) ha un nome solo, ha
selezione esclusiva per definizione, quindi farai n radio di nome
'operazione' con value il 'tipo di operazione': somma, prodotto
etc....
a questo punto lo switch lo fai sulla variabile 'operazione', ne sai
il nome e puoi controllare il contenuto.
seconda cosa non controlli mai se le variabili passate sono
valorizzate, questo non va bene, visto che non ha senso eseguire una
operazione se non sono presenti gli operandi.
terza cosa sai a cosa serve il break, vero?
Nel 'modello' che hai realizzato NON è corretta l'interazione tra form
e script:
        con il checkbox vuoi permettere di selezionare più di una
operazione; con lo switch con il break viene eseguita SOLAMENTE la
prima operazione che valida il case opportuno.
Ti suggerisco comunque di comprare un manuale di programmazione php,
un manuale di html e seguire, per iniziare, gli esempi che trovi lì,
non copiare e basta, se non hai capito l'esempio vuol dire che non hai
capito quello che hai studiato.
Ciao Gianmarco