Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    validazione form molto lunghi

    scusate qualcuno mi saprebbe dire come si valida un form molto lungo senza ricorrere ad una serie di "if" e "and if"???

    giusto per l'informazione il form ha 14 campi.


  2. #2
    avevo dimenticato di specificare, devo solo controllare se i campi sono stati compilati tutti.

  3. #3
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Codice PHP:
    while (list($chiave$valore) = each ($_POST))
        {
        
    // controlla ciò che vuoi;
        


    [.:: JaguarXF ::.]
    __________________

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Un'alternativa è di mostrare quali sono i campi da compilare.
    File : test3000.php
    codice:
    <?php 
    //-------------- VALORE DEL PULSANTE Invia
    $sub = "";
    if (isset($_POST['sub'])) {
      $sub = $_POST['sub'];
    } // $sub = $_POST['sub'];
    
    //-------------- INIZIALIZZAZIONE FLAG ERRORI
    $error     = false;
    $cog_error = false;
    $nom_error = false;
    //-------------- INIZIALIZZAZIONE CAMPI
    $cog       = "";
    $nom       = "";
    //-------------- CONTROLLI
    if ($sub == "Invia") {
    
     //------------- controlla cognome
     if (isset($_POST['cognome'])) {
      $cog = $_POST['cognome'];
     } // if (isset($_POST['cognome']))
     if ($cog == "") {
      $cog_error = true;
    	$error     = true;
     } // if ($cog == "")
    
     //------------- controlla nome
     if (isset($_POST['nome'])) {
      $nom = $_POST['nome'];
     } // if (isset($_POST['nome']))
     if ($nom == "") {
      $nom_error = true;
    	$error     = true;
     } // if ($cog == "") 
     
     //-------------- Se non ci sono errori si puo' proseguire
     if (! $error) {
      //------- QUI IL CODICE DA ESEGUIRE SE NON CI SONO ERRORI
    	exit; // messo solo per fermare la pagina
     } // if (! $error)
      
    } // if ($sub == "Invia")
    
    //--------------- Visulizza lo sfondo giallo se dato non immesso
    $cog_error_text = "";
    if ($cog_error) {
     $cog_error_text = "class='error'";
    } // if ($cog_error) 
    //--------------- Visulizza lo sfondo giallo se dato non immesso
    $nom_error_text = "";
    if ($nom_error) {
     $nom_error_text = "class='error'";
    } // if ($nom_error) 
     ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <style type="text/css">
    <!--
    .error {background-color:yellow}
    -->
    </style>
    </head>
    <body>
    <form action="test3000.php" method="post">
    Cognome : 
    <input <?php  print $cog_error_text  ?> type="input" name="cognome" size="20" maxlength="35" 
     value="<?php print $cog ?>">
    
    Nome : 
    <input <?php  print $nom_error_text  ?> type="input" name="nome" size="20" maxlength="35"
     value="<?php print $nom ?>">
    
    <input type="submit" name="sub" value="Invia">
    </form>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    grazie mille, mo provo.


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 © 2025 vBulletin Solutions, Inc. All rights reserved.