Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 43

Discussione: Ancora problemi con il form.

  1. #1
    Guest

    Predefinito Ancora problemi con il form.

    Ho visto un sacco di tutorial e sto ancora cercando, invano di sistemare il mio form di contatti, ho trovato il codice nel sito del WC3 ma non funziona, mi da' errore su varie righe, non so più cosa fare per sistemarlo!

    Codice HTML:
    <form id="scrivimi" method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" >
    <label class="nome"  name="nome">Nome</label>
    <input class="casellanome" type="text" name="name" value="<?php echo $name;?>">
    <span class="error">* <?php echo $nameErr;?></span>
     <br><br>
    <label class="cognome"  name="cognome">Cognome</label>
    <input class="casellacognome" type="text" name="surname" value="<?php echo $surname;?>">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>
    <label class="mail"  name="mail">Email</label>
    <input class="casellamail" type="text" name="email" value="<?php echo $email;?>">
    <span class="error">* <?php echo $emailErr;?></span>
    <br><br>
    <label class="oggetto"  name="ogg">Oggetto</label>
    <input class="casellaoggetto" type="text" name="oggetto" value="<?php echo $oggetto;?>">
    <span class="error">* <?php echo $oggettoErr;?></span>
    <br><br><br>
    <label class="msg" name="msg">Messaggio</label><br><br>
    <textarea class="testomessaggio" name="messaggio" rows='20' cols='50' value="<?php echo $messaggio;?>"> </textarea> 
    <span class="error">* <?php echo $messaggioErr;?></span>
    <br><br>
    <input class="invio" type="submit" id="button" value="Invia" name="invia">
    <input class="restart" type="reset" id="restart" value="Resetta">
    </form>

    Codice PHP:
    <?php

    $nameErr
    = $surnameErr = $emailErr = $oggettoErr = $messaggioErr = "";
    $name = $surname = $email = $oggetto = $messaggio = ""

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

    if (empty(
    $_POST[ “name”] )) {
    $nameErr = “Campo obbligatorio”;
    } else {
    $name = test_input ($_POST[“name”] );
    if (!
    preg_match(/^[a-zA-Z ] *$/ , $name)) {
    $nameErr = “Si accettano solo lettere e spazi”;
    }

    if (empty(
    $_POST[ “surname”] )) {
    $surnameErr = “Campo obbligatorio”;
    } else {
    $surname = test_input ($_POST[“surname”] );
    if (!
    preg_match(/^[a-zA-Z ] *$/ , $surname)) {
    $surnameErr = “Si accettano solo lettere e spazi”;
    }


    if (empty(
    $_POST[ “email”] )) {
    $emailErr = “Campo obbligatorio”;
    } else {
    $surname = test_input ($_POST[“email”] );
    if (!
    filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailErr = “Email non valida”;
    }


    if (empty(
    $_POST[ “oggetto”] )) {
    $oggettoErr = “Campo obbligatorio”;
    } else {
    $oggetto = test_input ($_POST[“oggetto”] );

    }

    if (empty(
    $_POST[ “messaggio”] )) {
    $messaggioErr = “Campo obbligatorio”;
    } else {
    $messaggio = test_input ($_POST[“messaggio”] );

    }


    function
    test_input ($data) {
    $data = trim($data);
    $data = stripslashes ($data);
    $data = htmlspecialchars ($data);
    return
    $data;
    }


    session_start();

    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $email = $_POST['email'];
    $oggetto = $_POST['oggetto'];
    $messaggio = $_POST['messaggio'];

    $to = "raccolta_email@yahoo.com"
    $object = "Hai ricevuto un'email dal sito di gaetano Lo Gatto";
    $msg = "
    <html>
    <head>
    <style type='text/css'>
    p.stile {font-weight:bold;
    font-family:arial,sans-serif;
    }

    p {font-family:arial,sans-serif;}

    </style>
    </head>
    <body>
    <p>Hai ricevuto questo messaggio da
    $name $surname</p>
    <p class='stile'>E-Mail:</p><p>
    $email</p>
    <p class='stile'>Oggetto:</p><p>
    $oggetto</p>
    </body>
    </html>
    "
    ;

    $from=$email;
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= "From: $from";

    mail($to,$object,$msg,$headers);

    session_destroy();

    exit;
    ?>

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Che editor hai usato per scrivere il codice? Hai copiato direttamente alcune parti da siti web? Te lo chiedo perché nel codice PHP ci sono diverse volte le virgolette tipografiche ( e ) al posto dei doppi apici. Non farti ingannare dal font: benché sembrino simili sono caratteri completamente differenti, e l'interprete PHP li tratta come tali. Comincia col correggere questo, ma ci potrebbero essere ancora altri problemi, non ho esaminato a fondo il codice.

  3. #3
    Guest

    Predefinito

    mi da errore qui:

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Manca il punto e virgola nell'istruzione precedente.

  5. #5
    Guest

    Predefinito

    Ho sistemato le virgolette ma adesso mi da problemi sulla stupe del css:
    $msg = "
    <html>
    <head>
    <style type="text/css"> <--QUI MI DA' ERRORE
    p.stile {font-weight:bold;
    font-family:arial,sans-serif;
    }

    p {font-family:arial,sans-serif;}

    </style>
    </head>

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Codice PHP:
    $msg = "
    <html>
    <head>
    <style type=\"text/css\">
    p.stile {font-weight:bold;
    font-family:arial,sans-serif;
    }

    p {font-family:arial,sans-serif;}

    </style>
    </head>
    Di questo errore te ne saresti accorto con qualsiasi editor che colora i sorgenti.

    Ciao!

  7. #7
    Guest

    Predefinito

    non ho mai usato quegli slash, come mai servono?
    Sto correggendo direttamente da qui, su altervista.

  8. #8
    Guest

    Predefinito

    Gli slash servono per far si che un carattere speciale come appunto gli apici vengano riconosciuti come testo.

  9. #9
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Servono perché altrimenti il motore PHP interpreterebbe gli apici doppi prima e dopo text/css come termine della stringa da assegnare alla variabile msg. Lo slash serve a fare quello che in gergo viene detto escape dei caratteri speciali.
    Si può ovviare anche in altro modo, per esempio usare gli apici singoli per la stringa in PHP e quelli doppi per l'HTML (in questo modo pero PHP non sostituirà eventuali variabili all'interno della stringa).
    Ti consiglio di dare uno sguardo al manuale ufficiale: http://php.net/manual/en/language.types.string.php

    Ops, preceduto ma lascio perché un po' più completo.
    Ultima modifica di karl94 : 13-01-2015 alle ore 19.38.25

  10. #10
    Guest

    Predefinito

    capisco...comunque mi sto incasinando, correggo un errore e me ne da' subito un altro, sempre di sintassi.

    <p class="stile">E-Mail:</p><p>$email</p>
    questo codice l'ho preso paro paro dal sito del WC3, non vedo cosa manchi.In pratica richiamo lo stile scritto sopra...

  11. #11
    Guest

    Predefinito

    grazie delle risposte sugli smash, non li avevo mai usati quindi non mi ponevo il problema, leggerò il manuale, grazie!
    Se ne impara sempre una al giorno.

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da GaetanoLoGatto Visualizza messaggio
    capisco...comunque mi sto incasinando, correggo un errore e me ne da' subito un altro, sempre di sintassi.

    <p class="stile">E-Mail:</p><p>$email</p>
    questo codice l'ho preso paro paro dal sito del WC3, non vedo cosa manchi.In pratica richiamo lo stile scritto sopra...
    $email è una variabile PHP dunque va inserita all'interno di esso.

  13. #13
    Guest

    Predefinito

    in realta' è tutto dentro i tag di php. Ho preso il codice da una risposta ad un utente qui sul forum:
    http://forum.it.altervista.org/html-...vio-email.html
    il commento di risposta è il quarto, ho letto la conversazione anche se non ho capito il problema che aveva l'utente ma non è lo stesso problema che ho io, in ogni caso ho provato a levare la variabile ma da' sempre lo stesso errore.

  14. #14
    Guest

    Predefinito

    Potresti specificare l'errore?

  15. #15
    Guest

    Predefinito

    Parse error: syntax error, unexpected T_STRING in /membri/gaetanologatto/contatti.php on line 96

    la linea 96 è questa:
    <p class="stile">E-Mail:</p><p>$email</p>

  16. #16
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Dovresti scriverci tutta la echo completa.

    Ciao!

  17. #17
    Guest

    Predefinito

    Ecco tutto il codice php, il tag è aperto dall'inizio quindi tutto quello che c'è, compreso la riga dove mi da' errore, è comunque all'interno dei tag di php.
    Codice PHP:
    <?php

    $nameErr
    = $surnameErr = $emailErr = $oggettoErr = $messaggioErr = "";
    $name = $surname = $email = $oggetto = $messaggio = ""

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

    if (empty(
    $_POST[ &#8220;name”] )) {
    $nameErr = &#8220;Campo obbligatorio”;
    } else {
    $name = test_input ($_POST[&#8220;name”] );
    if (!preg_match(&#8220;/^[a-zA-Z ] *$/ ”, $name)) {
    $nameErr = &#8220;Si accettano solo lettere e spazi”;
    }

    if (empty(
    $_POST[ &#8220;surname”] )) {
    $surnameErr = &#8220;Campo obbligatorio”;
    } else {
    $surname = test_input ($_POST[&#8220;surname”] );
    if (!preg_match(&#8220;/^[a-zA-Z ] *$/ ”, $surname)) {
    $surnameErr = &#8220;Si accettano solo lettere e spazi”;
    }


    if (empty(
    $_POST[ &#8220;email”] )) {
    $emailErr = &#8220;Campo obbligatorio”;
    } else {
    $surname = test_input ($_POST[&#8220;email”] );
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailErr = &#8220;Email non valida”;
    }


    if (empty(
    $_POST[ &#8220;oggetto”] )) {
    $oggettoErr = &#8220;Campo obbligatorio”;
    } else {
    $oggetto = test_input ($_POST[&#8220;oggetto”] );

    }

    if (empty(
    $_POST[ &#8220;messaggio”] )) {
    $messaggioErr = &#8220;Campo obbligatorio”;
    } else {
    $messaggio = test_input ($_POST[&#8220;messaggio”] );

    }


    function
    test_input ($data) {
    $data = trim($data);
    $data = stripslashes ($data);
    $data = htmlspecialchars ($data);
    return
    $data;
    }


    session_start();

    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $email = $_POST['email'];
    $oggetto = $_POST['oggetto'];
    $messaggio = $_POST['messaggio'];

    $to = "raccolta_email@yahoo.com"
    $object = "Hai ricevuto un'email dal sito di gaetano Lo Gatto";
    $msg = "
    <html>
    <head>
    <style type='text/css'>
    p.stile {font-weight:bold;
    font-family:arial,sans-serif;
    }

    p {font-family:arial,sans-serif;}

    </style>
    </head>
    <body>
    <p>Hai ricevuto questo messaggio da
    $name $surname</p>
    <p class='stile'>E-Mail:</p><p>
    $email</p> [B] <-----ERRORE[/B]
    <p class='stile'>Oggetto:</p><p>
    $oggetto</p>
    </body>
    </html>
    "
    ;

    $from=$email;
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= "From: $from";

    mail($to,$object,$msg,$headers);

    session_destroy();

    exit;
    ?>
    Ultima modifica di karl94 : 14-01-2015 alle ore 18.43.06 Motivo: Formattazione del codice

  18. #18
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Io vedo ancora le virgolette tipografiche nei vari if per il controllo dei campi compilati. Usando il tag BBcode php il forum le ha evidenziate ancora meglio (solo quelle di apertura però, che strano).
    Poi noto anche un punto e virgola mancante dopo l'assegnazione della variabile $to.

  19. #19
    Guest

    Predefinito

    strano si, ho ricontrollato il codice e le virgolette sono a posto e il punto e virgole c'è... O_o

  20. #20
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Allora ci saranno ulteriori problemi di sintassi. Pubblica il codice aggiornato.

  21. #21
    Guest

    Predefinito

    Eccolo:

    <?php

    $nameErr = $surnameErr = $emailErr = $oggettoErr = $messaggioErr = "";
    $name = $surname = $email = $oggetto = $messaggio = "";

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

    if (empty($_POST[ "name"] )) {
    $nameErr = "Campo obbligatorio";
    } else {
    $name = test_input ($_POST["name"] );
    if (!preg_match("/^[a-zA-Z ] *$/ ", $name)) {
    $nameErr = "Si accettano solo lettere e spazi";
    }

    if (empty($_POST[ "surname"] )) {
    $surnameErr = "Campo obbligatorio";
    } else {
    $surname = test_input ($_POST["surname"] );
    if (!preg_match("/^[a-zA-Z ] *$/ ", $surname)) {
    $surnameErr = "Si accettano solo lettere e spazi";
    }


    if (empty($_POST[ "email"] )) {
    $emailErr = "Campo obbligatorio";
    } else {
    $surname = test_input ($_POST["email"] );
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailErr = "Email non valida";
    }


    if (empty($_POST[ "oggetto"] )) {
    $oggettoErr = "Campo obbligatorio";
    } else {
    $oggetto = test_input ($_POST["oggetto"] );

    }

    if (empty($_POST[ "messaggio"] )) {
    $messaggioErr = "Campo obbligatorio";
    } else {
    $messaggio = test_input ($_POST["messaggio"] );

    }


    function test_input ($data) {
    $data = trim($data);
    $data = stripslashes ($data);
    $data = htmlspecialchars ($data);
    return $data;
    }


    session_start();

    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $email = $_POST['email'];
    $oggetto = $_POST['oggetto'];
    $messaggio = $_POST['messaggio'];

    $to = "raccolta_email@yahoo.com";
    $object = "Hai ricevuto un'email dal sito di Gaetano Lo Gatto";
    $msg = "
    <html>
    <head>
    <style type=\"text/css\">
    p.stile {font-weight:bold;
    font-family:arial,sans-serif;
    }

    p {font-family:arial,sans-serif;}

    </style>
    </head>
    <body>
    <p>Hai ricevuto questo messaggio da $name $surname</p>
    <p class="stile">E-Mail:</p><p>$email</p>
    <p class="stile">Oggetto:</p><p>$oggetto</p>
    </body>
    </html>
    ";

    $from=$email;
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= "From: $from";

    mail($to,$object,$msg,$headers);

    session_destroy();

    exit;
    ?>

  22. #22
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Devi fare l'escape anche dei doppi apici usati per delimitare il valore dei due attributi style (riga 81 ed 82).

  23. #23
    Guest

    Predefinito

    avevi ragione ma ora c'è un ultimo(spero problema). Il tag Hatml è aperto all'inizio ma mi da' errore alla chiusura perchè all'interno del codice php(che è dentro l'html) c'è un altro tag html che apro e chiudo, è possibile che questi tag vadano in conflitto con il primo tag che ho fatto?Ho provato a chiudere dopo il php con un altro tag html e poi l'ho riaperto ma mi da errore sull'ultima riga.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Gaetano Lo Gatto</title>
    <meta http-equip="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="content-language" content="IT">
    <meta name= "description" content="Gaetano Lo gatto fotografo professionista">
    <meta name="keywords" content="fotografo, fotografia, fotoritocco, book fotografici, nozze, matrimonio, matrimoni, sposa, sposo, sposi, foto,carrugi, scorci di vita, scorci, carrugi, vicoli,paesaggi, servizi, modelle, modelli, macchina fotografica, obiettivo">
    <meta name "robots" content="index,follow">
    <link href="contact.css" rel="stylesheet" type="text/css">


    </head>
    <body>
    <?php

    $nameErr = $surnameErr = $emailErr = $oggettoErr = $messaggioErr = "";
    $name = $surname = $email = $oggetto = $messaggio = "";

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

    if (empty($_POST[ "name"] )) {
    $nameErr = "Campo obbligatorio";
    } else {
    $name = test_input ($_POST["name"] );
    if (!preg_match("/^[a-zA-Z ] *$/ ", $name)) {
    $nameErr = "Si accettano solo lettere e spazi";
    }

    if (empty($_POST[ "surname"] )) {
    $surnameErr = "Campo obbligatorio";
    } else {
    $surname = test_input ($_POST["surname"] );
    if (!preg_match("/^[a-zA-Z ] *$/ ", $surname)) {
    $surnameErr = "Si accettano solo lettere e spazi";
    }


    if (empty($_POST[ "email"] )) {
    $emailErr = "Campo obbligatorio";
    } else {
    $surname = test_input ($_POST["email"] );
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailErr = "Email non valida";
    }


    if (empty($_POST[ "oggetto"] )) {
    $oggettoErr = "Campo obbligatorio";
    } else {
    $oggetto = test_input ($_POST["oggetto"] );

    }

    if (empty($_POST[ "messaggio"] )) {
    $messaggioErr = "Campo obbligatorio";
    } else {
    $messaggio = test_input ($_POST["messaggio"] );

    }


    function test_input ($data) {
    $data = trim($data);
    $data = stripslashes ($data);
    $data = htmlspecialchars ($data);
    return $data;
    }


    session_start();

    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $email = $_POST['email'];
    $oggetto = $_POST['oggetto'];
    $messaggio = $_POST['messaggio'];

    $to = "raccolta_email@yahoo.com";
    $object = "Hai ricevuto un'email dal sito di Gaetano Lo Gatto";
    $msg = "
    <html>
    <head>
    <style type=\"text/css\">
    p.stile {font-weight:bold;
    font-family:arial,sans-serif;
    }

    p {font-family:arial,sans-serif;}

    </style>
    </head>
    <body>
    <p>Hai ricevuto questo messaggio da $name $surname</p>
    <p class=\"stile\">E-Mail:</p><p>$email</p>
    <p class=\"stile\">Oggetto:</p><p>$oggetto</p>
    </body>
    </html>
    ";

    $from=$email;
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= "From: $from";

    mail($to,$object,$msg,$headers);

    session_destroy();

    exit;
    ?>

    <table> <!--tabella principale-->
    <tr>
    <td>
    <img src="images/logo_fotogr.jpg" /> <!--logo-->
    </td>
    <td width="85%" rowspan='3'>
    <table width="30%" height="800" align="center">
    <tr height="20%"><td><h1 class="contact">Contatti</h1></td>
    </tr>
    <tr>
    <td>
    <form id="scrivimi" method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" >
    <label class="nome" name="nome">Nome</label>
    <input class="casellanome" type="text" name="name" value="<?php echo $name;?>">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>
    <label class="cognome" name="cognome">Cognome</label>
    <input class="casellacognome" type="text" name="surname" value="<?php echo $surname;?>">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>
    <label class="mail" name="mail">Email</label>
    <input class="casellamail" type="text" name="email" value="<?php echo $email;?>">
    <span class="error">* <?php echo $emailErr;?></span>
    <br><br>
    <label class="oggetto" name="ogg">Oggetto</label>
    <input class="casellaoggetto" type="text" name="oggetto" value="<?php echo $oggetto;?>">
    <span class="error">* <?php echo $oggettoErr;?></span>
    <br><br><br>
    <label class="msg" name="msg">Messaggio</label><br><br>
    <textarea class="testomessaggio" name="messaggio" rows='20' cols='50' value="<?php echo $messaggio;?>"> </textarea>
    <span class="error">* <?php echo $messaggioErr;?></span>
    <br><br>
    <input class="invio" type="submit" id="button" value="Invia" name="invia">
    <input class="restart" type="reset" id="restart" value="Resetta">
    </form>

    </td>
    </tr>
    </table>
    </td>
    </tr>
    <tr >
    <td valign='top'>
    <img src="images/info.jpg" /> <!--info-->
    </td>
    <tr>
    <td>
    <a href="index.html">
    <img src="images/tornahome.jpg" /> <!--torna alla homme-->
    </a>
    </td>
    <td width="30%">
    <p>Gaetano Lo Gatto<br>via Kennedy 45<br>Pernocari(VV)<br>Tel. +39 3208905287</p>
    </td>
    </tr>
    </body>
    </html> Sia il tag del body e dell'html di chiusura mi rimangono rossi anche se mi da errore di sintassi solo nel tag html

  24. #24
    Guest

    Predefinito

    nessun suggerimento?

  25. #25
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    La parentesi graffa aperta in riga 21 non ha la corrispondente graffa di chiusura.

  26. #26
    Guest

    Predefinito

    l'ho chiusa ma il problema è sempre al tag di chiusura dell'html

  27. #27
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Ricontrolla tutte le graffe: dove chiudi le graffe che apri in: 25, 33, 42?

    Inoltre le session_start() e session_destroy() devono esser invocate prima di qualsiasi output html, visto che agisce sull'header della pagina, anche se nel tuo codice sono inutili perché non utilizzi sessioni.

    Ciao!
    Ultima modifica di alemoppo : 18-01-2015 alle ore 23.36.40

  28. #28
    Guest

    Predefinito

    ho chiuso le graffe dove c'era l'istruzione else adesso vedo la pagina ma quando provo a inserire qualcosa nel form mi da' altri errori.

    La session dovrei metterla all'inizio della pagina?quindi prima del tag html?
    senza quelle istruzioni come faccio a inviare l'email?questo codice lo avevo trovato qui sul forum

  29. #29
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Citazione Originalmente inviato da GaetanoLoGatto Visualizza messaggio
    ho chiuso le graffe dove c'era l'istruzione else
    Non ho capito: in questa parte di codice ne apri 3 e ne chiudi 2
    Codice PHP:
    if (empty($_POST[ "surname"] )) {
    $surnameErr = "Campo obbligatorio";
    } else {
    $surname = test_input ($_POST["surname"] );
    if (!
    preg_match("/^[a-zA-Z ] *$/ ", $surname)) {
    $surnameErr = "Si accettano solo lettere e spazi";
    }
    Citazione Originalmente inviato da GaetanoLoGatto Visualizza messaggio
    La session dovrei metterla all'inizio della pagina?quindi prima del tag html?
    Esattamente, ovviamente tra i tag <?php ?>

    Citazione Originalmente inviato da GaetanoLoGatto Visualizza messaggio
    senza quelle istruzioni come faccio a inviare l'email?
    La funzione mail() non necessita delle sessioni.


    Citazione Originalmente inviato da GaetanoLoGatto Visualizza messaggio
    questo codice lo avevo trovato qui sul forum
    Probabilmente era di qualche utente che chiedeva aiuto, perché nel codice ci sono parecchi errori.

    Ciao!

  30. #30
    Guest

    Predefinito

    il codice era di un utente che rispondeva e quindi questo era il codice che veniva consigliato. Tempo fa ho provato la funzione mail() ma non funzionava, ancora non riesco a fare un form finito come si deve.
    nel codice da te riportato c'è la graffa dell'else aperta e non chiusa, ma adesso l'ho chiusa.
    Ho sempre il problema dei tag in chiusura del body e dell'html, mi da' errore...

    <?php
    session_start();

    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $email = $_POST['email'];
    $oggetto = $_POST['oggetto'];
    $messaggio = $_POST['messaggio'];

    $to = "raccolta_email@yahoo.com";
    $object = "Hai ricevuto un'email dal sito di Gaetano Lo Gatto";
    $msg = "
    <html>
    <head>
    <style type=\"text/css\">
    p.stile {font-weight:bold;
    font-family:arial,sans-serif;
    }

    p {font-family:arial,sans-serif;}

    </style>
    </head>
    <body>
    <p>Hai ricevuto questo messaggio da $name $surname</p>
    <p class=\"stile\">E-Mail:</p><p>$email</p>
    <p class=\"stile\">Oggetto:</p><p>$oggetto</p>
    </body>
    </html>
    ";


    $from=$email;
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= "From: $from";

    mail($to,$object,$msg,$headers);

    session_destroy();

    exit;


    ?>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Gaetano Lo Gatto</title>
    <meta http-equip="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="content-language" content="IT">
    <meta name= "description" content="Gaetano Lo gatto fotografo professionista">
    <meta name="keywords" content="fotografo, fotografia, fotoritocco, book fotografici, nozze, matrimonio, matrimoni, sposa, sposo, sposi, foto,carrugi, scorci di vita, scorci, carrugi, vicoli,paesaggi, servizi, modelle, modelli, macchina fotografica, obiettivo">
    <meta name "robots" content="index,follow">
    <link href="contact.css" rel="stylesheet" type="text/css">


    </head>
    <body>
    <?php

    $nameErr = $surnameErr = $emailErr = $oggettoErr = $messaggioErr = "";
    $name = $surname = $email = $oggetto = $messaggio = "";

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

    if (empty($_POST[ "name"] )) {
    $nameErr = "Campo obbligatorio";
    } else {
    $name = test_input ($_POST["name"] );}
    if (!preg_match("/^[a-zA-Z ] *$/ ", $name)) {
    $nameErr = "Si accettano solo lettere e spazi";
    }

    if (empty($_POST[ "surname"] )) {
    $surnameErr = "Campo obbligatorio";
    } else {
    $surname = test_input ($_POST["surname"] );}
    if (!preg_match("/^[a-zA-Z ] *$/ ", $surname)) {
    $surnameErr = "Si accettano solo lettere e spazi";
    }


    if (empty($_POST[ "email"] )) {
    $emailErr = "Campo obbligatorio";
    } else {
    $surname = test_input ($_POST["email"] );}
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailErr = "Email non valida";
    }


    if (empty($_POST[ "oggetto"] )) {
    $oggettoErr = "Campo obbligatorio";
    } else {
    $oggetto = test_input ($_POST["oggetto"] );

    }

    if (empty($_POST[ "messaggio"] )) {
    $messaggioErr = "Campo obbligatorio";
    } else {
    $messaggio = test_input ($_POST["messaggio"] );

    }
    function test_input ($data) {
    $data = trim($data);
    $data = stripslashes ($data);
    $data = htmlspecialchars ($data);
    return $data;
    }



    ?>

    <table> <!--tabella principale-->
    <tr>
    <td>
    <img src="images/logo_fotogr.jpg" /> <!--logo-->
    </td>
    <td width="85%" rowspan='3'>
    <table width="30%" height="800" align="center">
    <tr height="20%"><td><h1 class="contact">Contatti</h1></td>
    </tr>
    <tr>
    <td>
    <form id="scrivimi" method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" >
    <label class="nome" name="nome">Nome</label>
    <input class="casellanome" type="text" name="name" value="<?php echo $name;?>">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>
    <label class="cognome" name="cognome">Cognome</label>
    <input class="casellacognome" type="text" name="surname" value="<?php echo $surname;?>">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>
    <label class="mail" name="mail">Email</label>
    <input class="casellamail" type="text" name="email" value="<?php echo $email;?>">
    <span class="error">* <?php echo $emailErr;?></span>
    <br><br>
    <label class="oggetto" name="ogg">Oggetto</label>
    <input class="casellaoggetto" type="text" name="oggetto" value="<?php echo $oggetto;?>">
    <span class="error">* <?php echo $oggettoErr;?></span>
    <br><br><br>
    <label class="msg" name="msg">Messaggio</label><br><br>
    <textarea class="testomessaggio" name="messaggio" rows='20' cols='50' value="<?php echo $messaggio;?>"> </textarea>
    <span class="error">* <?php echo $messaggioErr;?></span>
    <br><br>
    <input class="invio" type="submit" id="button" value="Invia" name="invia">
    <input class="restart" type="reset" id="restart" value="Resetta">
    </form>

    </td>
    </tr>
    </table>
    </td>
    </tr>
    <tr >
    <td valign='top'>
    <img src="images/info.jpg" /> <!--info-->
    </td>
    <tr>
    <td>
    <a href="index.html">
    <img src="images/tornahome.jpg" /> <!--torna alla homme-->
    </a>
    </td>
    <td width="30%">
    <p>Gaetano Lo Gatto<br>via Kennedy 45<br>Pernocari(VV)<br>Tel. +39 3208905287</p>
    </td>
    </tr>
    </body> <---- ERRORE...
    </html>

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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