Problema con header (Location....)

di il
1 risposte

Problema con header (Location....)

Sono 5 giorni che son dietro ad uno script che ha un problema con "header (Location...)" senza aver risolto molto :
in pratica ho uno script di un modulo per spedire e-mail che funziona bene ma che non funziona nell'esecuzione dell'header ,
ossia non appare la pagina di reindirizzamento di conferma "comunicazione avvenuta", ma appare solo la pagina dello script bianca.
Ho controllato che non vi siano output prima di usare header (anche se non sono espertissimo di php) ma non funziona comunque.
Lo script è questo:
<?php
if(substr(basename($_SERVER['PHP_SELF']), 0, 11) == "imEmailForm") {
    include '../res/script_invio_mail_net_office.php';
    $form = new ImForm();
    $form->setField('destinatario', $_POST['imObjectForm_43_1'], '', false);
    $form->setField('oggetto', $_POST['imObjectForm_43_2'], '', false);
    $form->setField('messaggio', $_POST['imObjectForm_43_3'], '', false);
    $form->setField('Allega', $_POST['imObjectForm_43_4'], '', true);
    $form->setFile('File 1', $_FILES['imObjectForm_43_5'], $imSettings['general']['public_folder'], '', '');
    $form->setFile('File 2', $_FILES['imObjectForm_43_6'], $imSettings['general']['public_folder'], '', '');
    $form->setFile('File 3', $_FILES['imObjectForm_43_7'], $imSettings['general']['public_folder'], '', '');
    $form->setField('', $_POST['imObjectForm_43_8'], '', true);
    if(@$_POST['action'] != 'check_answer') {
        if(!isset($_POST['imJsCheck']) || $_POST['imJsCheck'] != 'jsactive' || (isset($_POST['imSpProt']) && $_POST['imSpProt'] != ""))
            die(imPrintJsError());
        $form->mailToOwner('info@macroweb.it',$_POST['imObjectForm_43_1'],$_POST['imObjectForm_43_2'],$_POST['imObjectForm_43_3'],false);
        $form->mailToCustomer('noreply@macroweb.it','info@macroweb.it','Conferma invio e-mail','Conferma invio della mail che hai compilato con i seguenti dati: ',true);
        header("Location: ../comunicazione_inviata.html");
        exit();
    } else {
        echo $form->checkAnswer(@$_POST['id'], @$_POST['answer']) ? 1 : 0;
    }
}

// End of file 
Mi date una mano a scoprire cosa non va, please????

1 Risposte

  • Re: Problema con header (Location....)

    Prova a togliere il codice "exit();" e verifica che il percorso del file è corretto

    ../comunicazione_inviata.html <-- così significa che esce di una sola cartella

    questo implica:

    Cartella1/Cartella2/file.php
    Cartella1/comunicazione_inviata.html

    (probabilmente lo saprai già ma te lo dico lo stesso.. è un errore comune^^).
Devi accedere o registrarti per scrivere nel forum
1 risposte