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

    check error ed evidenziazione campo che da errore

    Sto facendo uno scriptino per il controllo di due campi che deve permettermi di scrivere in rosso il campo interessato che da errore.

    ho due file:

    form.php

    Codice PHP:
    <?php
    require_once('check.php');

    ?>


    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <table>
        <tr>
            <td>user:</td>
            <td><input type="text" name="new_email" /></td>
        </tr>
        <tr>
            <td>pass:</td>
            <td><input type="text" name="security_code" /></td>
        </tr>
        <tr>
            <td colspan="2">
            
            <input name="submit" type="submit" value="accedi" />
            
            </td>
        </tr>
    </table>
    </form>

    <?php 
    // riporto gli errori di inserimento dati
    echo '<ul>';
    if (
    $errori 
        foreach (
    $errori AS $v) {
            echo 
    '[*]'.$v.'';
                
    //testare la sessione
        
    }
    echo 
    '[/list]';
    ?>
    e

    check.php

    Codice PHP:
    <?php 
    //Avvio o continuo la sessione 
    session_start();

    $new_email = @$_POST['new_email'];
    $security_code = @$_POST['security_code'];

    $errori = array();

    if( isset(
    $_POST['submit']) && (trim($_POST['submit']) == "accedi") ){ 
        
    if((!
    strlen($new_email) != 0) and (!strlen($security_code) != 0)){
                  
    $errori[0] = "L'[b]E-mail[/b] e il codice [b]Chapta[/b] sono obbligatori";
    } elseif((!isset(
    $_POST['new_email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$"$_POST['new_email']))){
                  
    $errori[0] = "email errata";
    } elseif((!
    strlen($new_email) != 0)){
                  
    $errori[0] = "L'[b]E-mail[/b] obbligatoria";
    } elseif((!
    strlen($security_code) != 0)){
                  
    $errori[0] = "[b]codice Chapta[/b] obbligatorio";
    }
    return 
    $errori;
    }
    ?>
    ho questi due problemi:

    1) Non riesco a stampare + di un errore per volta... se sono 2?
    ho messo $errori = array(); ma non da nessun risultato;

    2) come faccio a evidenziare la voce del campo che mi da errore?
    in merito non ho trovato nulla sul forum -- magari i titoli dei post non sono corretti

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: check error ed evidenziazione campo che da errore

    ho questi due problemi:

    1) Non riesco a stampare + di un errore per volta... se sono 2?
    ho messo $errori = array(); ma non da nessun risultato;
    anzichè questa sintassi:
    codice:
    $errori[0] = "codice Chapta obbligatorio";
    Usa questa in tuttte le assegnazioni degli errori:
    codice:
    $errori[] = "codice Chapta obbligatorio";


    2) come faccio a evidenziare la voce del campo che mi da errore?
    in merito non ho trovato nulla sul forum -- magari i titoli dei post non sono corretti
    Puoi aggiungere una variabile $campi_errati, che sarà sempre un array, in cui metti i nomi dei campi errati, poi nell'html:

    codice:
    <td <?php if(in_array('user', $campi_errati)) echo style="color:red"; ?>>user:</td>
    ci sarebbe molto da dire sull'html (potresti guardare il tag label), poi non ho capito come arriva la var $errori, comunque dovrei aver risposto ai tuoi quesiti



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.