Pagina 1 di 1

[PHP&HTML] riconoscere quale pulsante è stato premuto

MessaggioInviato: ven mar 02, 2007 2:22 pm
da thomas
Ciao a tutti, mi trovo in questa situazione: un form html dove è possibile scegliere di inserire del testo per una ricerca oppure selezionare da una lista il giusto elemento da visualizzare... Due pulsanti per inviare le due richieste alla stessa pagina.

Codice: Seleziona tutto
<form method="post" action="./ricerca2.php" name="ricerca">
      <p><label for="lotto1">Inserisci il numero di lotto: </label><input name="lotto1" type="text" />
      <input type="submit" value="Invia" /></p>
      <p><label for="lotto2">Scegli il numero di lotto: </label><select name="lotto2">
         <?php
            $dir = "./lotti";
            
            if (is_dir($dir)) {
               if ($dh = opendir($dir)) {
                  while (($file = readdir($dh)) !== false) {
                     if ($file != '.' and  $file != '..') {
                        $name = substr($file, 0, -4);
                        echo "<option value=\"$file\">$name</option>";
                     }
                  }
                  closedir($dh);
               }
            }
         ?>
      </select>
      <input type="submit" value="Invia" /></p>
   </form>


Lato server, devo poter distinguere quale pulsante "Invia" è stato premuto, per poi decidere se fare la ricerca oppure aprire direttamente il file scelto dal menu di selezione.

Vorrei poter utilizzare lo stesso form e lo stesso script.

Il mio problema è quindi quello di poter sapere quale dei due pulsanti è stato premuto. Grazie

MessaggioInviato: ven mar 02, 2007 2:43 pm
da Ices_Eyes
Ma scusa, se hai due pulsanti diversi ci dai sue name diversi e al lato server controlli quale dei due ti arriva, no? [uhm]

MessaggioInviato: ven mar 02, 2007 2:53 pm
da thomas
Ices_Eyes ha scritto:Ma scusa, se hai due pulsanti diversi ci dai sue name diversi e al lato server controlli quale dei due ti arriva, no? [uhm]


Ah già, mi sono dimenticato... volevo mantenere gli input type=submit, ma lato server non so come recuperarli...

Probabilmente con un input type=button risolvo, ma mi infastidisce [std]

MessaggioInviato: ven mar 02, 2007 2:57 pm
da thomas
Ma sono un pirla!!! Mi sono dimenticato di mettere l'attributo name ai submit, in questa maniera chiaro che non li trovavo in $_POST[] lato server!!!


Ecco il nuovo codice, per chi interessasse... lato serve faccio il controllo sul valore della variabile "submit" (il name dell'input type=submit)

Codice: Seleziona tutto
<form method="post" action="./ricerca2.php" name="ricerca">
      <p><label for="lotto1">Inserisci il numero di lotto: </label><input name="lotto1" type="text" />
      <input type="submit" name="submit" value="Cerca" /></p>
      <p><label for="lotto2">Scegli il numero di lotto: </label><select name="lotto2">
         <?php
            $dir = "./lotti";
            
            if (is_dir($dir)) {
               if ($dh = opendir($dir)) {
                  while (($file = readdir($dh)) !== false) {
                     if ($file != '.' and  $file != '..') {
                        $name = substr($file, 0, -4);
                        echo "<option value=\"$file\">$name</option>";
                     }
                  }
                  closedir($dh);
               }
            }
         ?>
      </select>
      <input type="submit" name="submit" value="Visualizza" /></p>
   </form>

Codice: Seleziona tutto
$tipo = $_POST['submit'];

switch ($tipo) {
   case "Cerca":
      $keyword = $_POST['lotto1'];
      echo "ricerca $keyword";
      break;
   case "Visualizza":
      $keyword = $_POST['lotto2'];
      echo "visualizza $keyword";
      break;
}

MessaggioInviato: ven mar 02, 2007 3:32 pm
da Zane
Stavo per dirtelo io [;)]

MessaggioInviato: ven mar 02, 2007 3:40 pm
da thomas
Zane ha scritto:Stavo per dirtelo io [;)]
[kiss]

MessaggioInviato: ven mar 02, 2007 4:02 pm
da Ices_Eyes
thomas ha scritto:Ma sono un pirla!!! Mi sono dimenticato di mettere l'attributo name ai submit, in questa maniera chiaro che non li trovavo in $_POST[] lato server!!!

Era quello che intendevo io... [:D]

MessaggioInviato: ven mar 02, 2007 4:06 pm
da thomas
Il nome è uguale (così ne controllo solo uno)... è il valore che cambia