Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 29-12-11, 20:30   #1 (permalink)
 
L'avatar di Gaberiele
 
Data di registrazione: May 2007
Ubicazione: Alessano (LE) - Bari
Messaggi: 79
Form con campi obbligatori

Salve, dovrei realizzare un form con dei campi obbligatori che se non completati devono venire affiancati dalla scritta "Campo obbligatorio".

Il problema sta nel fatto che ho delle select per la scelta di regione, provincia e comune che per aggiornarsi aggiornano la pagina e mi fa uscire la scritta Campo obbligatorio prima di cliccare INVIA.


Non riesco inoltre a far la submit verso una nuova pagina visto che deve rimanere nella stessa per far aggiornare le select.


Vi allego un estratto del codice, le 3 select e una casella di testo sempre obbligatoria.

Codice:
<html>

<body>
  
  <?php  
    

$e_re="";
$e_pr="";
$e_co="";

$e_ind="";

    if (isset($_POST['regione'])) {
        $e_re = "Campo obbligatorio";
     }
    
    if ($_POST['provincia'] =="") {   
        $e_pr = "Campo obbligatorio";
      }    
      
    if ($_POST['comune'] =="") {   
       $e_co = "Campo obbligatorio";
      }      
    

      
    if (!isset($_POST['indirizzo'])) {
        $e_ind = "Campo obbligatorio";
     }


$id_regione="";
$id_provincia="";
$id_comune="";

$indirizzo="";

        
?>    
<form action="inserimento.php" name="search" method="POST">


            
         <select onchange="document.search.submit()" name="regione">
    <option value="">Scegli regione...</option>
    <?
    $sql_regione="SELECT id_Regione, Regione FROM regione ORDER BY regione";
    $query_regione=@mysql_query($sql_regione) or die (mysql_error());
    while ($array=mysql_fetch_array($query_regione))
    {
    
    $id_r = $array['id_Regione'];
    $nom_r = $array['Regione'];
    
    ?>
        <option value="<?  echo $id_r; ?>"<? if ($id_regione==$id_r) {echo " selected";} ?>><? echo $nom_r; ?></option>
    <?
    }
    ?>
    </select>
    
    <?if ($e_re != "") {echo $e_re;}    ?>

        
        
        
    
        
        <select onchange="document.search.submit()" name="provincia">
    <option value="">Scegli provincia...</option>
    <?
   echo $sql_prov="SELECT Sigla, Provincia, id_Regione FROM province WHERE id_Regione='$id_regione' ORDER BY Provincia";
    $query_prov=@mysql_query($sql_prov) or die (mysql_error());
    while ($array=mysql_fetch_array($query_prov))
    {
    
    $id_pr = $array['Sigla'];
    $nom_pr = $array['Provincia'];
    
    ?>
        <option value="<? echo $id_pr; ?>"<? if ($id_provincia==$id_pr) {echo " selected";} ?>><? echo $nom_pr; ?></option>
    <?
    }
    ?>
    </select>
        <?if ($e_pr != "") {echo $e_pr;}    ?>
        
        
        
            
            
    <select onchange="document.search.submit()" name="comune">
    <option value="">Scegli Città <option>
    <?
    
    if ($id_provincia!=""){
    
        $sql_comuni="SELECT id_Citta,Citta,Regione,Prov  FROM citta WHERE Prov='$id_provincia' ";
        
         
    $sql_comuni.=" ORDER BY citta";

   $query_comunia=@mysql_query($sql_comuni) or die (mysql_error());
    while ($array=mysql_fetch_array($query_comunia))
    {
    $id_c = $array['id_Citta'];
    $nom_c = $array['Citta'];
    
        
    ?>
        <option value="<? echo $id_c; ?>"<? if ($id_comune==$id_c) {echo " selected";} ?>><? echo $nom_c; ?></option>
        
    <?  }   
    }?>
    </select>    
        <?if ($e_co != "") {echo $e_co;}    
        
        
if ($indirizzo!=""){?>
            
            <input type="text" name="indirizzo" value="<?echo $indirizzo;?>" size="35"/>
            <?}else{?>
            <input type="text" name="indirizzo"  value="" size="35" />
            <?}?>
        <?if ($e_ind != "") {echo $e_ind;}    ?>
        
                <input type="submit"  value='INVIA'> 
        
        </form>        
     
</body>
</html>
Gaberiele non in linea   Rispondi citando
Vecchio 01-01-12, 16:30   #2 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Ciao Gaberiele e Buon 2012.

Premesso che l'ideale sarebbe utilizzare delle chiamate Ajax per riempire le select a cascata man mano che le valorizzi, procedendo nel sistema da te pensato perché non provi a "costruire" passo passo il form?
Cerco di spiegarmi meglio, parti dalla semplice prima select visualizzata, una volta valorizzata tramite il submit (o autosubmit), riaggiorni la pagina, valorizzandoti la select recuperando il dato tramite POST e fai visualizzare la seconda select. Valorizzi questa e ricarichi con le prime due select valorizzate e la terza da valorizzare. Valorizzata la terza al ricaricamento fai visualizzare il campo indirizzo ed il submit del form "completo". A questo punto, facendo i dovuti controlli sui valori, puoi procedere con lo script per le tue esigenze.

Per il campo indirizzo potresti aggiungere anche un controllo Js che non ti fa procedere al submit se non valorizzato.

__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Vecchio 01-01-12, 19:54   #3 (permalink)
 
L'avatar di Gaberiele
 
Data di registrazione: May 2007
Ubicazione: Alessano (LE) - Bari
Messaggi: 79
Sto provando a popolare le select con ajax, grazie del consiglio.
Gaberiele non in linea   Rispondi citando
Vecchio 01-01-12, 19:59   #4 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Di nulla.

Se vorrai condividere con noi l'eventuale soluzione, di certo tornerà utile ad altri utenti.
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:41.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.