Visualizzazione dei risultati da 1 a 6 su 6

Discussione: ripetere operazioni

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Benvenuto.
    Mantenendo la struttura attuale dovresti aggiungere nello script PHP un redirect verso la pagina html contenente il form qual'ora l'inserimento andasse a buon fine.
    Per farlo dovresti eliminare
    echo "Aggiunta 1 entrata";

    e mettere
    header('location: http://dominio.tld/pagina.html');
    dopo mysqli_close()

    Ti chiederai perché devi togliere l'echo, ci sono 2 motivi:
    1) comunque con il redirect non lo vedresti perché il tutto accade troppo velocemente
    2) la funzione header(), se c'è prima dell'output, non funziona e riceveresti un errore

    Ti perdi il messaggio per l'utente che non sa se le cose sono andate bene o no.
    La soluzione chiaramente c'è, ma devi modificare un po' di cose.

    1) la pagina col form deve diventare una pagina php
    2) lo script php, oltre a fare l'inserimento nel db, deve mettere in sessione un messaggio con l'esito dell'operazione
    3) nella pagina col form, da qualche parte, con un if verifichi se in sessione c'è un messaggio e nel caso ci fosse lo stampi

    Ci sarebbe anche un'altra soluzione usando javascript, più elegante, ma si complica ulteriormente.

  2. #2
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Benvenuto.
    Mantenendo la struttura attuale dovresti aggiungere nello script PHP un redirect verso la pagina html contenente il form qual'ora l'inserimento andasse a buon fine.
    Per farlo dovresti eliminare
    echo "Aggiunta 1 entrata";

    e mettere
    header('location: http://dominio.tld/pagina.html');
    dopo mysqli_close()

    Ti chiederai perché devi togliere l'echo, ci sono 2 motivi:
    1) comunque con il redirect non lo vedresti perché il tutto accade troppo velocemente
    2) la funzione header(), se c'è prima dell'output, non funziona e riceveresti un errore

    Ti perdi il messaggio per l'utente che non sa se le cose sono andate bene o no.
    La soluzione chiaramente c'è, ma devi modificare un po' di cose.

    1) la pagina col form deve diventare una pagina php
    2) lo script php, oltre a fare l'inserimento nel db, deve mettere in sessione un messaggio con l'esito dell'operazione
    3) nella pagina col form, da qualche parte, con un if verifichi se in sessione c'è un messaggio e nel caso ci fosse lo stampi

    Ci sarebbe anche un'altra soluzione usando javascript, più elegante, ma si complica ulteriormente.
    grazie per la risposta,
    Ti andrebbe di insegnarmi come fare negli altri modi ?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.