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

    redirect dopo ultima istruzione

    Sera, ho il seguente problema:
    Ho un pagina con un form che all'invio richiama se stessa (non posso fare altrimenti), dopo l'invio vengono raccolti i dati del form ed elaborati.

    Vorrei se è possibile fare un redirect dopo l'ultima funzione in modo che mi richiami la nuova pagina solo dopo aver elaborato tutti i dati, è possibile?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Certo, metti come ultima istruzione
    header("location: http://www.sito.it/pagina.php");

    Se hai il warning dell'header già inviato allora il redirect lo puoi fare così
    echo '<meta http-equiv="Refresh" content="5; url=http://www.sito.it/pagina.php"> ';

    5 indica dopo quanti secondi avviene il redirect, 0 per il redirect immediato.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    ciao,
    certo che è possibile!
    Mettiamo che ti crei un form con un campo nascosto che serve a php per capire che sta vendendo dal form e non da una chiamata diretta

    <?php

    if(isset($_POST['prov'])){ // si viene dal form, si processano i dati e si effettua il redirect
    // si processano tutti i dati del form
    $redirect_page = "la_pagina_del_redirect"; // imposti la pagina da aprire
    header('location: ' . $redirect_page);

    }
    else{ // è una chiamata diretta quindi mostro il form
    ?>
    <form action="...." method="post" name="...">
    <input type="hidden" name="prov" value="form">

    </form>
    <?php
    }
    ?>

    è un esempio blando ma serve giusto per capirne la logica...

  4. #4
    funziona perfettamente, grazie!
    Per sbaglio avevo messo:
    Codice PHP:
    <?php

    if(isset($_POST['prov'])){ // si viene dal form, si processano i dati e si effettua il redirect
    // si processano tutti i dati del form
    $redirect_page "la_pagina_del_redirect"// imposti la pagina da aprire
    header('location: ' $redirect_page);

    }
    else{ 
    // è una chiamata diretta quindi mostro il form
    ?>
    <form action="...." method="post" name="...">
    <input type="hidden" name="prov" value="form">

    </form>
    <?php
    }
    ?>

    qua tutte le mie funzioni
    e funzionava ugualmente, mi spiiegheresti come mai?

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.