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

Discussione: Problema Errori Login

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154

    Problema Errori Login

    Salve a tutti!
    Ho fatto una pagina di login con diversi campi da completare. Ovviamente l'utente potrebbe fare degli errori (campi vuoti, caratteri non consentiti ecc ecc) ho trovato il modo per visualizzarli il fatto è se lo script rileva degli errori, i campi che l'utente aveva precedentemente riempito ritornano vuoti! Esempio banale per capirci: ho due campi testo: nome e cognome e il bottone di submit, riempio il campo nome ma lascio vuoto il cognome e premo submit. In questo caso lo script mi presenta una finestra degli errori (in questo caso: Cognome: Campo Vuoto) ma perso il valore che era nel campo testo del nome! Capite che con una 20ina di campi da completare la cosa diventa noiosa... Come potrei fare per evitare questa cosa? Uso PHP e lo script per trovare gli errori è perfetto.. non da alcun problema. Questo script è contenuto nella stessa pagina di registrazione e viene eseguito solo dopo aver premuto submit...

    Grazie per le risposte =) se volete vi posto il codice dello script =)

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    39
    prevalemntemente è un problema che ho affrontato e ho notato come risolverlo, in pratica sia la sezione login che elabora dati ecc.. deve trovarsi nella stessa pagina del form, per mantenere i dati, qualora non ti funzionasse, mettici dentro gli inputs, value="<?php echo $_POST['NOMEINPUT']; ?>" e ti funzionerà, in linea massima se anchesso non vada o ti crei dati su sessione che richiami o tramite cookie, ec...

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Io facco tutto con ajax e sono apposto.

    Altrimenti
    Codice PHP:
    if ($errore)

        echo 
    "ERRORE, cazzone hai sbagliato a mettere i dati :
    "
    .$report 
        echo 
    '<hr />[url="javascript:history.back()"]Torna al form[/url]' ;



    A volte e' una soluzione veloce.
    Usi il fatto che la pagina rimane in cache nel browser dell'utente e quando torna indietro non svuota il form.

    Cmq AJAX!!!!! e' meglio di tutto .

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    Grazie per le risposta... AJAX non so usarlo e non ho tempo per impararmelo sinceramente... la prima soluzione mi sembra la piu fattibile... ovviamente dovrei controllare con un isset($_POST['nome_campo']) se c'è... però non vorrei che questo rallenti il caricamento della pagina... no?

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Usa Jquery ci metti 2 secondi a capire come funziona.
    Invii i dati e richiedi la risposta in json e sei apposto puoi fare tutti i ciontroplli che vuoi senza cambiare pagina o altro.

    Pensaci e' davvero una tecnica molto comoda, inoltre jquery sei sicuro che funziona anche su mobile.

    Poi dipende come e' strutturato il form
    io di solito faccio cosi' in questi casi

    1- pagina html con il form
    2- script lato server di gestione e controllo
    3- invio dati a script => salvo dati in post in var di sessione
    4- se tutto apposto distruggo la var di sessione e mi gestisco i dati (db o altro)
    5- se errore torno alla pagina html
    5.1 - scarico i dati dalla sessione
    5.2- distruggo i dati in sessione
    5.3- ripopolo il form con i dati inseriti e notifico gli errori

    Se tu fai tutto su unico script(scelta sconsigliatissima pensa se utente preme F5 ! ) allora ti basta gestire la variabile $_POST o $_GET che sia (in base al method del form) e nel form fai una cosa come

    <input type="text" value="<?=$_POST["name"]?>" />

    etc etc

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    39
    non c'è bisogno di fare controlli, se non esiste non ti stamperà alcun errore nell'input a meno che tu NON ABBIA ATTIVA LA SEGNALAZIONE DI ERRORI

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    mmm.. non ho ben capito cosa sia sta segnalazioni errore... cioè a me segnala gli errori di programmazione ovviamente e per fortuna che lo fa... agli utenti non dovrebbe segnalarli ma cmq la pagina la pagina non funziona.. no?

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    la segnalazione di errore e' messa li generica serve per dire all'utente cosa ha sbagliato e cosa si aspetta il server. Tuto la se non vuoi non usarla quello e' solo un esempio.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    Allora ho tolto la segnalazioni degli errori dalle impostazioni di Wamp Server (uso quello come server) e facendo come fice eddy funziona tutto bene.. ma quando metterò il sito online si vedranno gli errori? ad esempio scrivendo $_POST['Nome_Input'] e non esistendo questa variabile non darà errore? scusate l'ignoranza...

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Aspetta gli errori del codice sono diversi dagli errori di input di un utente.

    Un errore di codice puo' essere sintattico o semantico e questo viene gestito dal parser.
    se imposto error_reporting(0) non visualizzerai ne warnings ne errori del codice (tranne gli errori sintatticci che sono bloccanti -> il parser si ferma e visualizza l'errore)

    Per controllare che il codice sia il piu' std e corretto possibile prima di qualsiasi operazione php
    fai error_reporting(E_ALL); cosi' vedi tutto altrimenti la gestione errori dipende dall configurazione del server.

    Gli errori a cui mi riferisco io riguardano l'input dell'utente ad esempio mi aspetto una email e mi ritrovo una data oppure un determinato campo deve essere compilato ma l'utente lo lascia vuoto.
    Quindi l'input va sempre controllato e va controllato lato server il controllo lato client con js e' assolutamente insufficente.

    Quindi lo script dovra' controllare i dati esempio per la mail

    Codice PHP:
    $error false ;
    $errorLog = array();


    if( !
    filter_var($_POST["email"],FILTER_VALIDATE_EMAIL) )
    {
    $error true 
    $errorLog["email"] =  "Email non valida" ;


    Così hai il controllo completo e totale di ogni errore.Puoi anche farlo sequenziale ossia 1 campo alla volta e al primo errore blocchi tutto .... e' a tua completa discrezione.

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.