Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    controllo dati in un form

    vorrei mettere un controllo su un form che ha i seguenti campi:
    nome,comune,id_anagrafico,codice fiscale.

    vorrei fare in modo che solo se vengono selezionati nome e comune insieme oppure solo il codice fiscale,oppure solo l'id_anagrafico mi vada alla pagina di ricerca,altrimenti deve darmi errore e,nel caso uno selezioni il nome ma non il comune o il comune ma non il nome,deve dire "alt,devono essere selezionati entrambi" se invece uno seleziona due degli altri campi e non uno solo deve dire "alt,seleziona solo uno tra questi campi".

    So che la cosa migliore sarebbe creare un array,contare quanti campi sono selezionati con un foreach e se i campi selezionati sono 2 ma sono nome e comune allora va bene,se i campi selezionati sono uno solo e non è ne nome ne comune va bene,negli altri casi darà errore ma..come si fa?
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    up

    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  3. #3
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Codice PHP:
    if ((!empty($nome)) && (!empty($comune))) {
     
    // vai alla pagina di ricerca
    }
    else {
     if (!empty(
    $id_anagrafico)) {
      
    // vai alla pagina di ricerca
     
    }
     else {
      
    // pagina di errore
     
    }

    O ho capito male?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    non,so..

    allora ho risolto per il ciclo foreach:

    <?php
    $chiavi=array('presa','mat_contatore','cod_anagraf ica','nome_utente','id_comune','cod_fiscale',
    'partita_iva');
    $trovati=array();
    foreach($chiavi as $chiave){
    if((isset($_POST[$chiave]))and ($_POST[$chiave]!='') and(!in_array($chiave,$trovati)))
    array_push($trovati,$chiave);

    }
    print_r($trovati);
    ?>

    in questo modo mi dice quanti e quali campi sono selezionati,adesso devo dirgli:
    1)se due campi sono selezionati (ma sono nome e id_comune) =>ok
    2)se ho un campo solo selezionato(ma non è id_comune o nome)=>ok
    3)il resto invece=>errore
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  5. #5
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Ma tu vuoi anche fargli sapere quali campi non ha selezionato?
    O dovrebbe selezionare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    beh,sarebbe molto figo!

    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    Re: beh,sarebbe molto figo!

    [supersaibal]Originariamente inviato da tespiego
    [/supersaibal]
    Codice PHP:
    if ((!empty($nome)) && (!empty($comune))) {
     
    // vai alla pagina di ricerca
    }
    elseif ((empty(
    $nome)) && (!empty($comune))) {
     echo 
    "Non hai selezionato il nome";
    }
    elseif ((!empty(
    $nome)) && (empty($comune)))
     echo 
    "Non hai selezionato il comune";
    }
    else {
     if (!empty(
    $id_anagrafico)) {
      
    // vai alla pagina di ricerca
     
    }
     else {
      echo 
    "Non hai selezionato l'id anagrafico";
     }


  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    ora provo,grazie

    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    ma se volessi applicare i controlli ..

    allo script che ho fatto io?
    <?php
    $chiavi=array('presa','mat_contatore','c
    od_anagrafica','nome_utente','id_comune'
    ,'cod_fiscale',
    'partita_iva');
    $trovati=array();
    foreach($chiavi as $chiave){
    if((isset($_POST[$chiave]))and ($_POST[$chiave]!='') and(!in_array($chiave,$trovati)))
    array_push($trovati,$chiave);

    }
    print_r($trovati);
    ?>
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  10. #10
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    controlli solo i valori dell'array che ti interessano.
    Se in $trovati ci sono "nome" e "comune" o "id_anagrafico" va bene, altrimenti ti da errore. Ma il mettere tutto in un'array mi sembra un pò uno spreco di risorse.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.