Visualizzazione risultati 1 fino 8 di 8

Discussione: [php] problema redirezione con header('Location: ...')

  1. #1
    Guest

    Question [php] problema redirezione con header('Location: ...')

    ho un problema simile a http://forum.it.altervista.org/php-m...agina-php.html . Il pezzo di codice è questo:

    Codice PHP:
    /*** Invio della mail e operazioni successive ***/
    if (mail($vars['to_mail'],$vars['subject'],$vars['body'],$headers)) {
    if (
    stristr($vars['sent'],"goto=")) {

    $goto = str_replace("goto=","",trim($vars['sent']));

    header("Location: ".$goto);

    }

    else {echo
    $vars['sent'];}
    }
    Praticamente tutto funziona pero vorrei nell'ultima parte (dove cè l'else) poter indirizzare in una pagina web di errore in caso di mancata compilazione del form. Come devo modificare il codice? Grazie a chi vorrà aiutarmi e spero di essere stato abbastanza chiaro.
    Ultima modifica di dreadnaut : 10-04-2011 alle ore 14.34.09 Motivo: discussione divisa, aggiunto link di riferimento

  2. #2
    Guest

    Predefinito

    Citazione Originalmente inviato da lavoriutili Visualizza messaggio
    Praticamente tutto funziona pero vorrei nell'ultima parte (dove cè l'else) poter indirizzare in una pagina web di errore in caso di mancata compilazione del form. Come devo modificare il codice? Grazie a chi vorrà aiutarmi e spero di essere stato abbastanza chiaro.
    Se ti chiarisci un semplice concetto ci arrivi da solo. Il costrutto if funziona così:

    SE (la condizione viene soddisfatta) {
    esegui questa istruzione (nel tuo caso un redirect alla pagina X)
    } ALTRIMENTI {
    esegui quest'altra istruzione (un redirect alla pagina Y)
    }

  3. #3
    Guest

    Predefinito

    scusa ma alla fine hai provato con
    Codice PHP:
    else {die(include(fileinteressato.php));}
    è comunque un redirect da parte mia

  4. #4
    Guest

    Predefinito

    giustamente come ha scritto webegginer basta che usi header() anche nel caso la tua condizione non si verifichi (nell'else)

  5. #5
    Guest

    Predefinito

    ho provato sia cosi:
    else {die(include(errore.htm));}
    e sia in questa maniera
    else {header("Location: http://lavoriutili.altervista.org/errore.htm");}
    contianu a non reindirizzarmi alla pagina che vorrei.

  6. #6
    Guest

    Predefinito

    ho risolto, grazie comunque :)

  7. #7
    Guest

    Predefinito Soluzione?

    Ciao, ho lo stesso tuo codice potresti cortesemente inserire cosa hai cambiate per farlo redirigere? sarebbe interessante sapere anche cosa hai fatto per la pagina di errore.

    Grazie e a buon rendere!

  8. #8
    Guest

    Predefinito

    Praticamente ho aggiunto al codice questa parte:
    Codice PHP:
    header("Location:http://lavoriutili.altervista.org/errore.htm");
    exit();
    Dove l'ho aggiunta? in questo contesto:
    Codice PHP:
    if ( ($vars['from_name'] == "") || ($vars['from_mail'] == "") ||
    (
    $vars['to_name'] == "") || ($vars['to_mail'] == "") ||
    (
    $vars['reply_name'] == "") || ($vars['reply_mail'] == "") ||
    (
    $vars['subject'] == "") || ($vars['body'] == "") )
    {
    header("Location:http://lavoriutili.altervista.org/errore.htm");
    exit();
    }
    Spero di esserti stato di aiuto. Ciau.
    Ultima modifica di dreadnaut : 09-06-2011 alle ore 13.29.40 Motivo: codice leggibile

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •