controllo su form problematico

Ciao,

devo fare un controllo prima di passare alla pagina search.php ma non fa nulla passa direttamente a search.php?

<form action="search.php">
        Regioni:
        <select id="regioni" name="regioni">
            <option value="tutte" selected="selected">Tutte</option>
            <option value="lombardia">Lombardia</option>
            <option value="toscana">Toscana</option>
            <option value="liguria">Liguria</option>
        </select>
        <?php if($_GET["cerca"]!="" && $regioni=="tutte") echo "<span style='color:red;'>campo regioni necessario</span>"; ?>
        <br /><br />
        Provincia:
        <select id="province" name="province">
            <option value="tutte" selected="selected">Tutte</option>
            <option value="milano">Milano</option>
            <option value="varese">Varese</option>
            <option value="Como">Como</option>
        </select>
        <br /><br />
        Struttura
        <select id="struttura" name="struttura">
            <option value="tutte" selected="selected">Tutte</option>
            <option value="agriturismo">Agriturismo</option>
            <option value="bedandbreakfast">Bed and breakfast</option>
            <option value="hotel">Hotel</option>
        </select>
        <br /><br />
        Ristorante<input type="checkbox" id="ristorante" name="ristorante" /><br />
        I vini<input type="checkbox" id="vini" name="vini" /><br />
        Carta di credito<input type="checkbox" id="cartadicredito" name="cartadicredito" /><br /><br />

        <input type="submit" id="cerca" name="cerca" value="Cerca"/>
    </form>

il problema è qui

action="search.php"

?

inviato 7 anni fa
lorymacri
X 0 X

E dove sono i controlli?

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

sotto la prima select

<?php if($_GET["cerca"]!="" && $regioni=="tutte") echo "<span style='color:red;'>campo regioni necessario</span>"; ?>
risposto 7 anni fa
lorymacri
X 0 X

Ma quel codice viene eseguito quando viene creata la pagina sul server, prima che questa venga inviata all'utente. Quindi non può agire sui dati inseriti dall'utente.

Per quei tipi di controlli puoi usare Javascript, oppure attendi che i dati vengano inviati al server e li controlli con uno script PHP

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

ok risolto grazie

<script type="text/javascript">
      function validate_required(field,alerttxt){
         with (field){
            if (value==null||value=="tutte")
              {alert(alerttxt);return false;}
            else {return true}
         }
      }

      function validate_form(thisform){
         with (thisform){
            if (validate_required(regione,"Attenzione, devi selezionare una regione")==false)
              {regione.focus();return false;}
         }
      }
      </script>

nel form

<form action="search.php" method="POST" onsubmit="return validate_form(this)">
risposto 7 anni fa
lorymacri
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda