Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Aggiornare pagina senza mantenere dati della modifica

    Salve a tutti,

    Mi stavo chiedendo una cosa di per se forse stupida, mi capita di avere delle pagine dove io mando dei dati, di solito o con form o con le variabili get nel link... Fin qua nulla di strano... Ora la mia questione è più un fattore di funzionalità.

    Mi capita di avere non so il link "pagina.php?action=get&&var=1" quindi nella pagina.php

    il codice
    codice:
    if(isset($_GET["action"])){
    echo $_GET["var"];
    }
    Mi stampa la variaibile... se aggiorno la pagina oltretutto mi ristampa sempre la solita (con tanto di avviso che reinvio un modulo)

    Ora la cosa che mi chiedevo è come posso ovviare a questo problema?

    Se per esempio mi capita di fare delle modifiche alla pagina, quindi mando i dati, poi non so devo aggiornare per vedere se altri hanno fatto modifiche, ogni volta se non la tolgo io mi da sempre la riconferma dell'invio del modulo.

    Immagino che AJAX potrebbe fare al caso mio, ma devo ancora cominciare a studiarlo, quindi al momento mi metterebbe male.

    Prima passavo ad una pagina di conferma che poi reinidrizzava alla pagina precedente

    tipo:

    Pagina.php --> (invio dati) --> esegui.php --> (tutto corretto, reindirizzo) --> pagina.php

    Ma ho notato che non sempre è comdo.

    Ci sono altre strade da intraprendere?

  2. #2
    Solitamente, dopo aver inviato un form, io ricarico la pagina usando header('Location: '.$_SCRIPT['REQUEST_URI']); che va di nuovo alla pagina come se la riaprissi nel browser. Ovviamente, facendo ciò, metto sempre tutti i blocchi condizionali necessari:
    Codice PHP:
    // esempio con variabile POST, perché la uso più di frequente
    if(!empty($_POST)){
        
    // form inviato
        // faccio tutte le operazioni dopo l'invio del form
        
    header('Location: '.$_SCRIPT['REQUEST_URI']);exit; // ricarico la pagina


  3. #3
    Si quindi come dicevo, fai un refresh della pagina e cancelli il $_POST per capirci...

    E pensavo un'altra cosa, dovrei provare se da problemi o meno, però è giusto per essere sicuro...

    Se io passo le variabili come sessione, esempio

    codice:
    $_SESSION["act"]="get";
    $_SESSION["var"]=1;
    questo nella prima pagina,poi

    codice:
    if(!empity($_SESSION["act"])){
       if($_SESSION["act"]=="get){
       //faccio quello che devo fare
       //elimino le sessioni
       $_SESSION["act"]=null;
       $_SESSION["var"]=null;
       }
    }
    in questo modo potrebbe funzionare? o ci sono poi problemi perchè dovrei fare proprio un destroy? e a quel punto ciao ciao dati di login?

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.