Form dopo errori

oscar

Nuovo Utente
17 Apr 2014
29
0
1
Ciao a tutti, vorrei se possibile qualche idea su come fare con un form. La situazione sarebbe :
Ho un form con tre campi, nome, cognome e email; l'utente sbaglia scrivendo l'email con un formato che non corrisponde (l'errore sorpassa l'html5) e un metodo php lo scopre invalidando il passaggio al db. A questo punto vorrei ritornare al client il formulario completo dei dati che aveva inserito e in più un messaggio di errore sotto la casella che contiene l'errore. Ed è qui che mi torna il form vuoto come si fosse la prima volta.
Avendo fatto per ogni input del form :
PHP:
<input type="email" name="e_mail" autocomplete="off" required>
                <br>
                <?php
                    $errori->stampaErr6();
                ?>
stampaErr6() dovrebbe stampare la prima volta una stringa vuota e a form riproposto una stringa con un messaggio. Mi sembra che il problema principale sia, come posso fare il ritorno del form con i dati già inseriti nelle caselle sfruttando php? Ho pensato di utilizzare header() ma non so come accodargli i dati, tutte le volte mi ritorna un form senza i dati stampati. Qualche spunto? Ringrazio in anticipo le possibile risposte.
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao Oscar,
se non ho capito male, tu vorresti che,. una volta inseriti i dati nel form (anche se sbagliati) questi venissero in qualche modo memorizzati e,
in caso di riproposta del form, questo non sia vuoto ma riporti i dati già inseriti dall'utente. Per fare questo il mio consigllio è di usare le SESSION per memorizzare, ed eventualmente riproporre, i dati passati tramite form (che avrà anch'esso estensione .php e non più .html
Ciao


Zorro
 

oscar

Nuovo Utente
17 Apr 2014
29
0
1
grazie zorro, è proprio così, in pratica se l'utente sbaglia qualche dato il server ripropone il form con tutti i dati inseriti originariamente e in più un messaggio magari di fianco al campo sbagliato segnalando l'errore. Adesso vedo il tema delle sessioni che avevo trascurato e come includere nei campi questi dati.
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Se dovessi avere qualche problema con le sessioni, ti posto il form che ho usato io.
NB. Olre al file dove memorizzare le variabili di sessione, dovrai crearne un altro (ad es.. resetta.php)
per resettare le variabili prima di presentare il form, per evitare che l'utente trovi i campi già riempiti con i dati
dell'utente precedente
Spero di essertti stato d'aiuto. Ciao


Zorro:byebye::byebye:
 

oscar

Nuovo Utente
17 Apr 2014
29
0
1
Grazie Zorro ma non cerco codice già scritto, cerco di imparare programmazione ad oggeti e php asieme alla voglia di farmi un sito interamente fatto in casa. Stò vedendo le sessioni e sicuramente ci saranno altre domande al forum.
 

oscar

Nuovo Utente
17 Apr 2014
29
0
1
Ciao a tutti. Tornando sempre allo stesso form, sono riuscito a riproporre il form con il messaggio d'errore messo assieme al campo corrispondente però non riesco a includere nel campo rispettivo il dato già scritto in origine dall'utente. Il metodo della classe che controlla i dati dell'email è :
Codice:
private function testEmail ($dato){
        if (!filter_var((filter_var($dato, FILTER_SANITIZE_EMAIL)),FILTER_VALIDATE_EMAIL)=== FALSE){
            if (!preg_match($this->pattern_email, $dato)===FALSE){
                return $dato; 
            }                            
        }
        else {
            static::$a=1;
            $_SESSION['emailTestNeg']="questo indirizzo email è sbagliato: ".$dato."<br>";          
        }
    }
e nella pagina del form :
Codice:
*email (indirizzo valido per verifica):<br>
                <input type="email" name="e_mail" autocomplete="off" required> <br>
                <?php
                    if(!empty($_POST)){
                        echo $_SESSION['emailTestNeg'];
                    }
                ?>
risultato :
IMG_20160209_091813511.jpg
Come si vede l'indirizzo erroneo appare nel form riproposto ma dentro il messaggio, vorrei che ci sia anche dentro il campo e non so come farlo. Ringrazio qualche idea in questione.
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao Oscar,
non sono molto pratico di programmazione ad oggetti comunque, per assegnare al campo un valore, devi utilizzare, all'interno del FORM. la clausola VALUE, valorizzandola col contenuto che avrai memorizzato nella relativa variabile di sessione:


PHP:
<input type="text" name="cog" id="cog" value="'.$cognome.'">


e quindi, anche il FORM diventerà un file .php (e non più .html) in quanto, all'inizio, dovrai assegnare ad una variabile d'appoggio (io ho usato il cognome) il contenuto della relativa variabile di sessione:


PHP:
$cognome = $_SESSION['cognome'];



Zorro:byebye::byebye:
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao Oscar,
non sono molto pratico di programmazione ad oggetti comunque, per assegnare al campo un valore, devi utilizzare, all'interno del FORM. la clausola VALUE, valorizzandola col contenuto che avrai memorizzato nella relativa variabile di sessione:


PHP:
<input type="text" name="cog" id="cog" value="'.$cognome.'">


PS Essendo un comando PHP lo dovrai racchiudere tra echo ' e ';


PHP:
echo '<input type="text" name="cog" id="cog" value="'.$cognome.'">';
 

oscar

Nuovo Utente
17 Apr 2014
29
0
1
grazie zorro, avevo dimenticato la clausula value. eseguito consiglio in questo modo :
Codice:
<?php                    
       echo '<input type="email" name="e_mail" value="'.($errori->stampaErr6()).'"autocomplete="off" required>';  
       if(!empty($_SESSION['emailTestNeg'])){                       
              echo '<p class="erroreCampo">'. $_SESSION['emailTestNeg'].'</p>';
       }
              else{ 
                    echo '<br>';
              }
?>
e funziona così :
IMG_20160212_090450825 (2).jpg
 
Discussioni simili
Autore Titolo Forum Risposte Data
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
B [PHP] Creare PDF dopo inserimento dati form PHP 4
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
gandalf1959 dopo la richiesta ajax il bottone del form non si disabilita Ajax 5
gandalf1959 passaggio variabili da form dopo verifiche: tutte meno una!?!? Javascript 4
S Email di conferma dopo un form PHP 4
A eseguire funzione dopo scelta dal form PHP 4
P Caricare nuova pagina dopo invio dati form Javascript 11
A form che si refrescia dopo modifica tabella mysql PHP 2
P invio form non corretto dopo controllo dati PHP 8
L cerco esempio form dopo form PHP 5
M chiusura colorbox dopo inserimento dati in un database tramite form PHP 0
elpirata Pagina posizione Top dopo salvataggio form Javascript 0
P Mantenere valore di un form anche dopo refresh PHP 6
M lanciare due funzioni javascript dopo l'invio di un form Javascript 2
M Dopo invio del form ritorno alla "base"..... PHP 11
A problema con l'inserimento di valori in una tabella dopo una ricerca da form Classic ASP 1
Vale2 Disabilita il button dopo l'invio del form Snippet Javascript 0
L Passaggio valori form prima e dopo il submit PHP 20
G visualizzare risultati ricerca dopo form nella stessa pagina e mantenimento filtri PHP 1
R [Flash] redirect dopo invio form mail Flash 4
F problema visualizzazione immagine dopo compilazione form Javascript 2
T Problema nel salvataggio dei dati dopo il form. PHP 7
S problema visualizzazione email dopo compilazione form PHP 2
M deselezionare o eliminare checkbox di un form dopo l'invio PHP 0
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 8
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1

Discussioni simili