• User Attivo

    messaggio di conferma dopo inserimento/modifica/cancellazione righe db

    Buonasera a tutti,

    volevo un'informazione:

    ho 2 pagine php, la prima ha un form, compilandolo e cliccando sul tasto invia richiama la seconda che inserisce i dati sul db e poi reindirizza alla prima; vorrei un messaggio sulla prima pagina del tipo: "hai modificato l'articolo correttamente".

    è possibile?

    grazie 1000 per le risposte
    buona serata a tutti


  • User

    Ri-ciao in quest'altra discussione 😉

    Direi che ci sono 2 strade possibili:

    1 - Metodo più semplice, didattico e veloce

    La prima pagina invia il form; la seconda pagina inserisce i dati nel database e stampa a video il messaggio desiderato + un link "Torna alla pagina abcd". In sostanza perdi il redirect automatico ma aumenti il volume di informazioni fornito all'utente.

    2- Metodo migliore ma un po' più complicato

    Usare ajax. In questo caso l'utente NON abbandona mai la prima pagina e tutte le operazioni sul database avvengono dietro le quinte.
    E' il metodo a cui siamo ormai abituati su tutti i siti non amatoriali.
    Modal / popup + ajax è l'accoppiata vincente: maggiore semplicità di utilizzo, più interattività, maggiore velocità nell'eseguire le varie operazioni.
    Cerca informazioni su "Jquery ajax"... non è complicatissimo.

    Giudica tu (in base alle tue abilità) quale opzione scegliere.

    Ciao


  • User Attivo

    Anche io personalmente sarei per la seconda modalità, magari impiegherai un po' più di tempo per impararla però il risultato finale è decisamente migliore.


  • User Attivo

    Grazie 1000 a tutti per le risposte;
    in verità avrei risolto aggiungendo ?modifica=ok al redirect che va dalla seconda pagina alla prima,
    e mettendo un if nella prima pagina, ma mi interessano anche altre soluzioni,
    magari me le studio, sto facendo un piccolo cms per imparare un po' il php.

    Una domanda per Smartix: cosa intendi per "aumenti il volume delle informazioni fornito all'utente"?

    mi informerò sulla seconda soluzione, ho capito come funziona, è decisamente più raffinata, penso di averla vista su alcuni framework;
    mi informo. intanto grazie 1000 a tutti per le risposte

    gentili e tempestivi
    buona serata


  • User

    Se è una pagina semplice, visto che sei alle prime armi e vuoi fare esperienza, in alcuni casi potresti anche valutare di fare tutto all'interno della stessa pagina. Non so quanto sia ottimale come metodo, ma con PHP puoi fare anche questo.


  • User

    Eccomi!!
    Dunque...

    1. Complimenti per l'ingegno... quello che hai fatto è in pratica creare una soluzione che assomiglia all'ajax.

    2. Se vuoi utilizzare solo php però ti consiglierei la soluzione 1 perchè con il tuo metodo saresti costretto a "spezzare" il codice che gestisce la validazione in due pagine.... il che complica la manutenzione e aumenta la lunghezza dello script.

    3. Per "volume di informazioni" mi riferivo al testo che compare all'utente e riporta l'esito dell'interazione con il database, compresi eventuali errori (es: "Impossibile inserire un evento in data xxx perchè tale data è già associata all'evento xxx"). Con il metodo che hai descritto (teoricamente) questo problema è risolto. Le uniche informazioni che perdi sono i dati inseriti nei campi del form (in caso di errore in 1 solo campo l'utente dovrebbe compilare tutto il form da capo!!!). Poi perderesti la centratura della pagina perchè ogni volta che fai un refresh si torna in cima.
      Ovvio che proprio volendo potresti fare quasi tutto in php ma sarebbe come cercare di vincere alle olimpiadi la gara di velocità dei 100 m piani correndo all'indietro, bendati e partendo con 1 km di svantaggio XD

    4. Infine tieni presente il tipo di validazione che devi attuare, perchè se devi solo controllare che ciò che l'utente inserisce sia effettivamente una email o una data o un testo o altro... ... in questo caso ci sono già dei plugin preconfezionati che puoi usare senza problemi (esempio classico: form di registrazione al sito). Se invece devi fare verifiche più complesse che coinvolgono anche l'interrogazione del database allora si ritorna ai due casi di cui sopra.

    P.s. Ovviamente quanto detto finora è solo la punta dell'iceberg, ma ti può già fornire un'indicazione per metterti sulla retta via.

    Jquery ajax in 5 minuti:

    GUIDA: http://www.w3schools.com/jquery/ajax_ajax.asp

    DEMO: http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax_ajax


  • User Attivo

    grazie mille smartix per le dritte,

    continuo con lo studio e spero di trovarla la retta via 😄

    buona serata