Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307

    Trasferire il controllo ad un'altra pagina SENZA usare header("Location")

    Buongiorno a tutti,
    sul post di una form, dovrei recuperare il contenuto di alcuni campi e poi trasferire il controllo ad un'altra pagina, passandoli come parametri sulla querystring.
    Ovviamente, poichè $_POST è stata impostata, NON posso usare header("Location: xxxyyyzz.php").
    Qualche suggerimento?

  2. #2

  3. #3
    Puoi prendere i valori di post, creare con essi delle variabili sessione e usare header('Location...'); senza problemi, senza perdere dati

  4. #4
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Originariamente inviato da Linus80
    spiegati meglio... cosa intendi?
    Ho usato due select in cascata; la seconda compare quando viene valorizzata la prima E non è stato premuto il pulsante di invio della form.

    Quando questo viene premuto, controllo se è stato effettuato il post della pagina E è stato premuto il pulsante di invio.

    A questo punto, dovrei recuperare il valore delle due select ed invocare l'esecuzione di un diverso script, passandogli i due valori sulla querystring.

    Solo che, siccome ho già valorizzato $_POST, NON posso usare header("Location").

  5. #5
    Potresti anche usare le sessioni.
    Oppure con le QUERY_STRING:

    Codice PHP:
    echo '<script> window.location = "tua_pagina.php?query_string";</script>'

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da natasha
    Solo che, siccome ho già valorizzato $_POST, NON posso usare header("Location").
    ...Ma da dove arriva questa?

  7. #7
    Originariamente inviato da luca200
    ...Ma da dove arriva questa?

  8. #8
    Codice PHP:
    <?php
      ob_start
    ();

      if(isset(
    $_POST['var1']) && isset($_POST['var2']) && 
        isset(
    $_POST['action']) && ($_POST['action'] = 'invia'))
           {
                 
    ob_clean();
                 
    header("location: paginadue.php?var1=".$_POST['var1']."&var2=".$_POST['var2']);
                 die;
           }

    <
    form method="post" action="paginauno.php">
    <
    select name="var1">
    ...
    </
    select>

    <
    select name="var2">
    ...
    </
    select>
    <
    input type="submit" name="action" value="invia" />
    </
    form>
    <?
    php ob_end_flush(); ?>

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.