Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Ripassare i values al form in caso di errore

    Ciao a tutti! Mi trovo a gestire un'eccezione abbastanza NOIOSA

    Poniamo di avere un form con 3 campi:

    .Nome
    .Cognome
    .Email

    Quando clicco il bottone di submit il form punta a una pagina php che processa le variabili (passate in POST) e le utilizza per metterle in un DB mysql!

    Ora poniamo il caso che qualcosa vada storta! Che so: L'utente non ha compilato il campo Email.
    Io ripunto (con un header("Location....") alla pagina col form...ecco qui nasce la questione noiosa:

    Vorrei ripopolare i campi già compilati coi rispettivi valori! Per ora sto usanto le variabili di sessione ma è una rottura (perchè i miei form hanno MOLTO PIU di 3 campi) anche perchè dopo le devo eliminare con unset() una a una come anche passarle una a una...non è ripossibile passare tutto il pacchetto _POST ricevuto dall'invio del form al form?

    non so se mi son spiegata

    Grazie a tutti!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Purtroppo per te la pratica giusta è quella che stai già usando, però la puoi migliorare per e fare l'unset solo di una variabile.

    Suppongo che tu ora li metta in sessione così:
    $_SESSION['nome'] = ...
    $_SESSION['cognome'] = ...
    $_SESSION['email'] = ...
    ecc...
    giusto?

    Bene, mettili in sessione così:
    $_SESSION['form_data']['nome'] = ...
    $_SESSION['form_data']['cognome'] = ...
    $_SESSION['form_data']['email'] = ...
    ecc...

    così basta che fai unset($_SESSION['form_data']) ed hai eliminato tutto.

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Ottima idea!

    Intanto mi son fatta una funzione che mi cicla sulla globale _POST così da settarmi in automatico già quelle di sezione senza dover impazzire ogni volta

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2012
    residenza
    Lima, Perù
    Messaggi
    212
    devi per prima fare i controlli con JavaScript (un linguaggio lato client)...

    e poi con php... ed a quel punto puoi usare le session oppure, se usi html5, ti può essere utile web storage...
    Jamie Ynonan - Web Developer / Desarrollador Web - HTML5 - CSS3 - Javascript/jQuery - PHP/CodeIgniter/Laravel - SQL/MySQL - Wordpress
    Telelavoro / Teleworking - jamiea31[at]gmail.com - Lima - Perù - GMT -5

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il Javascript è molto utile invece per i controlli, ovviamente non può e non deve sostituire i controlli in PHP, ma se già JS si accorge che c'è qualcosa che non va, eviti di inviare i dati sul server tenendolo meno carico di lavoro e l'utente ha un riscontro immediato.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Originariamente inviato da darkhero
    Certo ma molti "bug" si sfruttano disabilitando javascript. In ogni caso è ovvio che uno deve fare il possibile per rendere il sito più sicuro, anche più di un controllo.
    Ma infatti ho detto che non ci si può affidare a JS per i conrtolli, in PHP vanno fatti comunque, JS serve solo per dare un'esperienza d'uso migliore agli utenti seri, non per la sicurezza del sito.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2012
    residenza
    Lima, Perù
    Messaggi
    212
    pensavo che dovute alle birre di ieri avevo letto male la domanda oppure avevo scritto qualche sciocchezza ...

    devi per prima fare i controlli con JavaScript (un linguaggio lato client)...

    e poi con php... ed a quel punto puoi usare le session oppure, se usi html5, ti può essere utile web storage...
    forse non sono stato molto chiaro ma intendevo prima JS e poi PHP...

    Originariamente inviato da darkhero
    ma perchè complicate le cose? Non serve nessun javascript...
    Originariamente inviato da darkhero
    Il Javascript è molto utile invece per i controlli, ovviamente non può e non deve sostituire i controlli in PHP, ma se già JS si accorge che c'è qualcosa che non va, eviti di inviare i dati sul server tenendolo meno carico di lavoro e l'utente ha un riscontro immediato.
    Jamie Ynonan - Web Developer / Desarrollador Web - HTML5 - CSS3 - Javascript/jQuery - PHP/CodeIgniter/Laravel - SQL/MySQL - Wordpress
    Telelavoro / Teleworking - jamiea31[at]gmail.com - Lima - Perù - GMT -5

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.