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
255
11
18
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
255
11
18
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
255
11
18
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
255
11
18
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
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
L Problemi form Pagina php HTML e CSS 2
Cosina Creare bottone delete in form upload PHP 4
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
S come aggiustare un form di contatto? HTML e CSS 3
F query e form con select multipla PHP 17
AC1 Form in finestra modale PHP 1
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
websilvia Contact form using Bootstrap 3.3.4 PHP 8
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21
W Rinominare Documenti Con Form Asp Classic ASP 9
S Invio email da form PHP 8
L form multipla php sql,errore in inserimento MySQL 0

Discussioni simili