Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Redirect con POST al seguito

    Il problema è il seguente:

    Ho un form con due select e vari altri campi.

    Ho bisogno che la pagina di destinazione del form sia diversa in base a ciò che è stato selezionato nelle due select.
    Cioè se nelle due select ci sono alcuni valori quando invio il form devo finire sulla pagina X, se ci sono altri valori devo finire sulla pagina Y... C'è una pagina diversa per ogni combinazione dei valori di queste due select.

    Il problema è che il form contiene anche altri campi e anche questi devono essere passati alla pagina specifica.

    Non voglio usare Javascript per cambiare il tag action dato che questo motore di ricerca è il core del sito e il suo funzionamento deve essere assolutamente indipendente dall'ambiente dell'utente e poi (ma questo è secondario) mi risulta difficile (o meglio molto lungo e articolato) impostare gli indirizzi corretti per ogni combinazione.

    Per ora ho impostato una pagina unica di destinazione che prima di tutto controlla il valore di queste due select e invia un header("Location: x") dove x è la pagina appropriata in base ai valori delle due select passate in post.
    il problema è che ovviamente non viene passato alcun post alla pagina x.

    C'è un modo per accodare alla pagina x i dati da mandare in post?

    Oppure:

    Esiste un altro metodo furbo per fare ciò di cui ho bisogno?
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    pagina della form
    Codice PHP:
    <form action="pagina.php">
    ........
    </
    form
    pagina.php
    Codice PHP:
    if($_REQUEST['select']=="qualcosa")
    {
         include(
    "X.php");
    }
    else
    {
          include(
    "Y.php");


  3. #3
    purtroppo non posso fare così, perchè mi deve proprio cambiare il link che tra l'altro è riscritto tramite mod_rewrite.

    praticamente:
    select 1: elenco regioni
    select 2: elenco province

    se ho selezionato Emilia Romagna e Reggio Emilia devo per forza finire nella pagina con url:
    www.sito.it/emilia-romagna/reggio-emilia/

    e passargli tutti gli altri dati del form.

    PS: In realtà il file php che contiene lo script è sempre lo stesso...
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    pagina della form
    Codice PHP:

    <form action="pagina.php"
    <
    select name="regioni">
    ......
    </
    select
    <
    select name="provincie">
    ......
    </
    select
    </
    form
    pagina.php
    Codice PHP:


        $lines
    ="http://www.miosito.it/".$_REQUEST['regioni']."/".$_REQUEST['provincie']."/"

    $stringa=""
    // Loop through our array, show HTML source as HTML source; and line numbers too. 
    foreach ($lines as $line_num => $line) { 
        
    $stringa.=$line

    echo 
    $stringa

  5. #5
    Scusa ma non capisco cosa fai in questo script...


    In realtà ho risolto parzialmente utilizzando le sessioni.

    Cioè salvo il contenuto di $_POST in una variabile sessione appena prima di header('Location: xxx');
    Poi richiamo la var nella pagina dopo.

    Questo però non funziona se l'utente ha i cookie disattivati...
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  6. #6
    credo che javascript sia l'unica soluzione...

    ma io farei una normale pagina con querystring come action del form...
    Ciao!

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    provalo quello sopra mia, anche se non sono sicurissimo che funzioni ^_^

    oppure al massimo fai

    Codice PHP:
    $lines="http://www.miosito.it/".$_REQUEST['regioni']."/".$_REQUEST['provincie']."/";  
    include(
    $lines."index.php"); 

  8. #8
    io farei:

    search.php che riceve i dati POST, li elabora e poi senza output

    header ("location: /$_POST[regione]/$_POST[citta]");
    Ciao!

  9. #9
    Originariamente inviato da bstefano79
    provalo quello sopra mia, anche se non sono sicurissimo che funzioni ^_^

    oppure al massimo fai

    Codice PHP:
    $lines="http://www.miosito.it/".$_REQUEST['regioni']."/".$_REQUEST['provincie']."/";  
    include(
    $lines."index.php"); 
    puoi spiegarmi più o meno come funziona?

    Originariamente inviato da fmortara
    credo che javascript sia l'unica soluzione...

    ma io farei una normale pagina con querystring come action del form...
    Nella querystring in action cosa dovrei mettere?
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    include ti "include" ed elabora il file partendo da un percorso

    Codice PHP:
    $lines=$_REQUEST['regioni']."/".$_REQUEST['provincie']."/";   
    include(
    $lines."index.php"); 

    eleabora index.php nella cartella /'valore regioni'/'valore provincie'/index.php

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