Collegamento a pagina html in pagina php

di il
9 risposte

Collegamento a pagina html in pagina php

Buongiorno a tutti, sto riscontrando questo problema in questo script php, ho fatto un form di iscrizione con invio dei dati tramite mail, e tutto funziona. Il problema si riscontra quando voglio che all invio del form e nella pagina di errore, in cui i dati non sono stati inseriti venga aperta una pagina in html. allego in seguito il codice php.

confido in un vostro aiuto

cordialmente

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />.
<?php
// indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi "oggetto" e "messaggio" sono vuoti la form non invia nessuna mail
$to = " \n "; // inserire indirizzo mail dove viene recapitata la mail
$headers = "From: " . $_POST['mail'] . "\n";
// soggetto della mail
$subject = "Modulo proveniente da www.miosito.i"; // inserire indirizzo sito

// corpo messaggio

$body = "Contenuto del modulo:\n\n";

$body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente
$body .= "Nome: " . trim(stripslashes($_POST["firstname"])) . "\n"; //nome
$body .= "Cognome: " . trim(stripslashes($_POST["surname"])) . "\n"; //cognome
$body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n"; //oggetto del messaggio
$body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio


// invio mail

if($mail->Send()){

echo "Email inoltrata correttamente";
header('Location: http://www.tuosito.it/messaggiook.ht');

}else{
echo "Errore invio mail";
header('Location: http://www.tuosito.it/messaggioerrore.ht');
}

?>

9 Risposte

  • Re: Collegamento a pagina html in pagina php

    Prova a togliere http:// dall'header location.

    Location è un parametro di una richiesta http, quindi non dovrebbe essere necessario specificare il protocollo.

    ciao
  • Re: Collegamento a pagina html in pagina php

    Grazie per avere risposto in tempi celeri

    ho fatto come ha detto, cancellando il http:// dai locator quando invio il forum mi rimanda questo errore: Parse error: syntax error, unexpected $end in /membri/tsdgb1/invio.php on line 33

    la linea 33 corrisponte alla chiusura della pagina php ?>
  • Re: Collegamento a pagina html in pagina php

    Prova così:
            header("location:errore_invio.php");
    Max
  • Re: Collegamento a pagina html in pagina php

    Purtroppo non cambia nulla

    mi da sempre lo stesso errore alla riga <?

    Parse error: syntax error, unexpected $end in /membri/tsdgb1/invio.php on line 32
  • Re: Collegamento a pagina html in pagina php

    Ho idea che l'errore sia in questo pezzo di codice php (il codice completo in primo post) ma non capisco dove sbaglio

    // invio mail

    if($mail->Send()){

    echo "Email inoltrata correttamente";
    header('Location: www.tuosito.it/messaggio.htm');

    }else{
    echo "Errore invio mail";
    header('Location: www.tuosito.it/messaggioerrore.htm');
    }

    ?>
  • Re: Collegamento a pagina html in pagina php

    Cosi funziona ma mi fa vedere la pagina bianca con la scritta, io vorrei che si collegasse a una pagina html

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />.
    <?php
    // indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
    if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi "oggetto" e "messaggio" sono vuoti la form non invia nessuna mail
    $to = " \n "; // inserire indirizzo mail dove viene ri
    $headers = "From: " . $_POST['mail'] . "\n";
    // soggetto della mail
    $subject = "Modulo proveniente da www.avvocatodossena.i"; // inserire indirizzo sito

    // corpo messaggio

    $body = "Contenuto del modulo:\n\n";

    $body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente
    $body .= "Nome: " . trim(stripslashes($_POST["firstname"])) . "\n"; //nome
    $body .= "Cognome: " . trim(stripslashes($_POST["surname"])) . "\n"; //cognome
    $body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n"; //oggetto del messaggio
    $body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio


    // invio mail
    mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE...

    echo "LA MAIL E' STATA INVIATA CON SUCCESSO, GRAZIE PER AVERCI CONTATTATO.";
    } else {
    echo "Deve compilare la form prima di inviare.";

    }

    ?>
  • Re: Collegamento a pagina html in pagina php

    A questo punto puoi fare un redirect alla pagina HTML dopo aver visualizzato la scritta.
  • Re: Collegamento a pagina html in pagina php

    Torna alla seconda versione (quella senza http://).

    Quell'errore che ti da solitamente è dovuto al fatto che manca o un punto e virgola o una parentesi chiusa.
    Nel tuo caso in particolare, mancava la graffa chiusa relativa al primo if:
    if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) { 
    tant'è che nell'ultima versione, avendo tolto il secondo if, di fatto risistemi inconsciamente le parentesi e non ti da più errori, anche se poi lo script non funziona perché cambi completamente il flusso di esecuzione.

    Per risolvere il problema, riparti dalla seconda versione e valuta dove devi chiudere il primo if.

    ciao
  • Re: Collegamento a pagina html in pagina php

    Grazie a tutti per le risposte problema risolto.... a proposito vi devo un favore
Devi accedere o registrarti per scrivere nel forum
9 risposte