Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: redirezione errori

  1. #1

    redirezione errori

    Volevo sapere come mai ogni volta che clicco invia la pagin convalida il form ma mi resta appeso il valore ?error_type=errore_nome ....mi restano sempre visibili gli errori dei campi...la pagina del form non si resetta.....

    Ecco il codice...

    form.php
    // Validation
    if (strlen($nome)>0)
    $cognome = filter_var($nome, FILTER_SANITIZE_STRING);
    if ($nome == "")
    header("Location: lavoraconnoi.php?error_type=errore_nome");

    controlllo.php
    <input type="text" name="nome" class="texta" tabindex="1">
    </label>

    <?php
    $errore_nome = $_GET['error_type'];
    if(isset($errore_nome)){
    echo "Il nome non è stato compilato";
    }
    ?>

  2. #2
    Non ho capito bene...
    comunque hai messo l'attributo action nel form?
    Altrimenti mi sembra che il submit rimandi alla stessa pagina, variabili GET incluse.
    =======================
    http://www.abidibo.net

  3. #3
    si ho messo l'attibuto action nel form ........avrei bisogno di avere informazione su come redirigere in maniera corretta gli errori provanienti dal controllo php al form .....



    Grazie

  4. #4
    Scusa ma non riesco a capire bene la logica della faccenda. Prova a postare
    1- form
    2- action che comprende la validazione immagino
    perchè così non capisco la sequenzialità del codice
    =======================
    http://www.abidibo.net

  5. #5
    ecco il codice

    form.php
    <form enctype="multipart/form-data" action="new.php" method="post">

    <div align="center">

    <tr>
    <td colspan="2"><font color="#FF0000" face="Verdana">*</font><font color="#FF0000" face="Arial" size="1">
    Campo obbligatorio</font>
    </td>
    </tr>

    <label><font color="#FF0000" face="Verdana">*</font> Nome</label>
    <input type="text" name="nome" class="texta" tabindex="1">
    </label>
    <div class="error">
    <?php
    $errore_nome = $_GET['error_type'];
    if(isset($errore_nome)){
    echo "Il nome non è stato compilato";
    }
    ?>
    </div>
    <label><font color="#FF0000" face="Verdana">*</font> Cognome</label>
    <input type="text" name="cognome" class="texta"maxlength="20" tabindex="2">
    <div class="error">
    <?php
    $errore_cognome = $_GET['error_type'];
    if(isset($errore_conome)){
    echo "Il nome non è stato compilato";
    }
    ?>
    </div>
    <label><font color="#FF0000" face="Verdana">*</font> Indirizzo</label>
    <input type="text" name="indirizzo" class="texta" maxlength="20" tabindex="3">
    <div class="error">
    <?php
    $errore_indirizzo = $_GET['error_type'];
    if(isset($errore_indirizzo)){
    echo "Il nome non è stato compilato";
    }
    ?>
    </div>
    <label><font color="#FF0000" face="Verdana">*</font><Data di Nascita</label>

    label><input type="submit" class="button" value="Invia" name="submit" tabindex="10"/></label>
    <label><input type="reset" class="button1" value="Cancella" name="clear" tabindex="11"/></label>


    Questo è controllo.php

    <?php
    isset($_POST['nome'])? $nome = $_POST['nome'] : $nome = "";
    isset($_POST['cognome'])? $cognome = $_POST['cognome'] : $cognome = "";
    isset($_POST['indirizzo'])? $indirizzo = $_POST['indirizzo'] : $indirizzo = "";
    isset($_POST['anno'])? $anno= $_POST['anno'] : $anno = "";
    isset($_POST['mail'])? $mail= $_POST['mail'] : $mail = "";
    isset($_POST['curriculum'])? $curriculum= $_POST['curriculum'] : $curriculum = "";
    isset($_POST['trattamento_dati'])? $trattamento_dati= $_POST['trattamento_dati'] : $trattamento_dati = "";

    // Validation
    if (strlen($nome)>0)
    $nome = filter_var($nome, FILTER_SANITIZE_STRING);
    if ($nome == "")
    header("Location: lavoraconnoi.php?alert=1");
    die;

    if (strlen($cognome)>0)
    $cognome = filter_var($cognome, FILTER_SANITIZE_STRING);
    if ($cognome == "")
    header("Location: lavoraconnoi.php?alert=2");
    die;

    if (strlen($indirizzo)>0)
    $indirizzo = filter_var($indirizzo, FILTER_SANITIZE_STRING);
    if ($indirizzo== "")
    header("Location: lavoraconnoi.php?error_type=errore_indirizzo");

    if (strlen ($anno)>0)
    {
    $anno = filter_var($anno, FILTER_SANITIZE_STRING);
    if (!filter_var($anno, FILTER_VALIDATE_INT))
    echo("<p align='center'><font face='Arial' size='2' color='#FF0000'>Inserire Data di nascita valida</font></p>");
    }
    if ($anno == "")
    echo("<p align='center'><font face='Arial' size='2' color='#FF0000'>Inserire Data di nascita</font></p>");

    if (strlen($mail)>0)
    {
    $mail = filter_var($mail, FILTER_SANITIZE_EMAIL);
    if (!filter_var($mail, FILTER_VALIDATE_EMAIL))
    echo("<p align='center'><font face='Arial' size='2' color='#FF0000'>Inserire un indirizzo mail valido</font></p>");
    }
    if ($mail == "")
    echo("<p align='center'><font face='Arial' size='2' color='#FF0000'>Inserire un indirizzo mail</font></p>");

    // VERIFICA DI COMPATIBILITA CON I FORMATI SUPPORTATI
    $allowed_types = array("application/msword","application/pdf","application/plain");
    if(!in_array($_FILES["curriculum"]["type"],$allowed_types)) {

    echo("<p align='center'><font face='Arial' size='2' color='#FF0000'>Inserire curriculum, sono ammessi solo i seguenti formati: .doc .txt .pdf</font></p>");
    }

    //trattamento dati
    if ( strcasecmp($trattamento_dati,"Accetto") != 0 && strcasecmp($trattamento_dati,"Non Accetto") != 0 )
    {
    echo ("<p align='center'><font face='Arial' size='2' color='#FF0000'>Leggere Privacy</font></p>");
    }

    if (strlen($trattamento_dati) == 0 )
    {
    echo ("<p align='center'><font face='Arial' size='2' color='#FF0000'>Leggere Privacy</font></p>");
    }

    ?>


    grazie

  6. #6
    ma il file controllo.php sarebbe new.php??
    =======================
    http://www.abidibo.net

  7. #7
    si scusa

  8. #8
    Ma ricapitolando:
    tu compili il form, fai il submit e lui ti reindirizza alla pagina
    new.php?error_type=errore_nome
    sia che tu abbia compilato i campi in modo adeguato oppure no?
    =======================
    http://www.abidibo.net

  9. #9
    bisogna partire dall'inizio....
    1 se apro la pagina del form form.php mi da subito un errore undefine error_type
    2 una volta che premo invio valida gli errori....mi fa echo dell'errore(mancato campo compilato) ma soltanto un campo alla volta .......

    grazie

  10. #10
    Ok inizio a capire qualcosa...
    1 - piu' che un errore credo sia un warning. Ti dice semplicemente che l'elemento 'error_type' dell'array $_GET non è definito e infatti non lo è siccome quando accedi direttamente al form non ci sono parametri nell'url ed in particolare non c'è il parametro error_type.
    Il warning puo' essere facilmente evitato controllando se è stato settato l'elemento prima di assegnarlo a una qualche variabile. cioè devi fare:
    Codice PHP:
    $errore_nome = isset($_GET['error_type'])?$_GET['error_type']:''
    2- non so bene cosa intendi esattamente per echo dell'errore uno alla volta, ma se inetndi quello che penso è dovuto al fatto che dopo ogni controllo fai un redirect. Quindi chiaramente il primo controllo che da esito negativo ti reindirizza da un'altr parte e i successivi controlli non vengono piu' eseguiti.

    Era questo che intendevi?
    =======================
    http://www.abidibo.net

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.