Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    36

    Problema invio dati da form a email

    Ciao ragazzi...ho due pagine...una con un form e una con lo script php che invia i dati alla mia mail...tuttavia mi da un errore...HELP!
    Prima pagina (quella con il form):

    codice:
    <html>
    
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>CONTATTI</title>
    </head>
    
    <body>
    
    <form method="POST" action="http://xxxxxxxxxx/sendate.php">
    	
    
    <font face="Calibri" style="font-size: 15pt">CONTATTI: </font></p>
    	<table border="0" width="46%" id="table1" style="font-family: Calibri; font-size: 12pt; font-style: oblique" height="340">
    		<tr>
    			<td width="149">Nome</td>
    			<td><input type="text" name="name" size="38"></td>
    		</tr>
    		<tr>
    			<td width="149">Cognome</td>
    			<td><input type="text" name="lname" size="38"></td>
    		</tr>
    		<tr>
    			<td width="149">Email</td>
    			<td><input type="text" name="email" size="38"></td>
    		</tr>
    		<tr>
    			<td width="149">Telefono</td>
    			<td><input type="text" name="tel" size="38"></td>
    		</tr>
    		<tr>
    			<td width="149">Motivo del contatto:</td>
    	<td>		<select name="motivo">
    	<option value="commerciale">Informazioni commerciali</option>
    	<option value="preventivo">Richiesta preventivo</option>
    	<option value="appuntamento">Prenotazione appuntamento</option>
    </select></td>
    		</tr>
    
    		<tr>
    			<td width="149">Messaggio:</td>
    			<td><textarea rows="11" name="mess" cols="29"></textarea></td>
    		</tr>
    	</table>
    <INPUT type="submit" value="Invia">
    </form>
    
    </body>
    
    </html>
    Seconda pagina (quella che elabora la script php):

    Codice PHP:
    <?php
    $nome
    =$_POST['name'];
    $cognome=$_POST['lname'];
    $email=$_POST['email'];
    $telefono=$_POST['tel'];
    $motivo=$_POST['motivo'];
    $messaggio=$_POST['mess'];


    if(
    $name!=null and $cognome!=null and $email!=null and $telefono!=null and $messaggio!=null){//se tutte le variabili sono state definite propongo il link
     
    $to "xxxxxxxxxxx@gmail.com"
     
    // IL SOGGETTO DELLA MAIL
     
    $subject "Modulo proveniente dal sito [url]www.studio.it[/url]"
     
     
    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
    $body “Contenuto del modulo:\n\n”;

    $body .= “Dati personali ;
    nome” trim(stripslashes($_POST["name"])) . \n”;
    $body .= “cognome” trim(stripslashes($_POST["lname"])) . \n”;
    $body .= “email” trim(stripslashes($_POST["email"])) . \n”;
    $body .= “telefono” trim(stripslashes($_POST["tel"])) . \n”;
    $body .= “motivo” trim(stripslashes($_POST["motivo"])) . \n”;
    $body .= “messaggio” trim(stripslashes($_POST["mess"])) . \n”;

    if(@
    mail($to$subject$body)) { // SE L’INOLTRO E’ ANDATO A BUON FINE…

    echo “La mail è stata inoltrata con successo!;

    } else {
    // ALTRIMENTI…

    echo “Si sono verificati dei problemi nell’invio della mail.;
    }

    }else{
    echo 
    “Invio dati fallitoprego riempire tutti i campi e riprocedere”;
    }
    ?>
    In più mi piacerebbe inserire il controllo tramite immagine captcha o tramite la somma di due valori...
    Dove posso sistemare il codice??
    Dopo che lo script controlla che tutti i campi sono pieni (come ultimo controllo all'invio??)?
    Cioè...invece che inviare l'email dopo l'else metto un'altra if???
    Aiuttttt!

  2. #2
    Se vuoi inserire delle virgolette come stringhe all'interno di una variabile devi stripparle
    Codice PHP:
    $subject "Modulo proveniente dal sito [url="http://www.studio.it"]www.studio.it[/url]"; 
    diventa
    Codice PHP:
    $subject "Modulo proveniente dal sito <a href=\"http://www.studio.it\" target=\"_blank\">www.studio.it</a>"
    Altrimenti interpreta le virgolette come chiusura della definizione della stringa e si aspetta un punto e virgola.
    Ciao
    =======================
    http://www.abidibo.net

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    36
    l'errore persiste...mi dice

    Parse error: syntax error, unexpected T_STRING in /membri/santadown/sendate.php on line 17

    CODICE MESSO A POSTO:

    Codice PHP:
    <?php
    $nome
    =$_POST['name'];
    $cognome=$_POST['lname'];
    $email=$_POST['email'];
    $telefono=$_POST['tel'];
    $motivo=$_POST['motivo'];
    $messaggio=$_POST['mess'];


    if(
    $name!=null and $cognome!=null and $email!=null and $telefono!=null and $messaggio!=null){//se tutte le variabili sono state definite propongo il link
     
    $to "XXXXXXXX@gmail.com"
     
    // IL SOGGETTO DELLA MAIL
    $subject "Modulo proveniente dal sito <a href=\"http://www.studio.it\" target=\"_blank\">[url]www.studio.it[/url]</a>";

     
     
    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
    $body “Contenuto del modulo:\n\n”;

    $body .= “Dati personali ;
    nome” trim(stripslashes($_POST["name"])) . \n”;
    $body .= “cognome” trim(stripslashes($_POST["lname"])) . \n”;
    $body .= “email” trim(stripslashes($_POST["email"])) . \n”;
    $body .= “telefono” trim(stripslashes($_POST["tel"])) . \n”;
    $body .= “motivo” trim(stripslashes($_POST["motivo"])) . \n”;
    $body .= “messaggio” trim(stripslashes($_POST["mess"])) . \n”;

    if(@
    mail($to$subject$body)) { // SE L’INOLTRO E’ ANDATO A BUON FINE…

    echo “La mail è stata inoltrata con successo!;

    } else {
    // ALTRIMENTI…

    echo “Si sono verificati dei problemi nell’invio della mail.;
    }

    }else{
    echo 
    “Invio dati fallitoprego riempire tutti i campi e riprocedere”;
    }
    ?>

  4. #4
    Ma cosa c'è a riga 17?
    Hai messo l'identificazione automatica degli url oppure è proprio un errore questo:
    $subject = "Modulo proveniente dal sito <a href=\"http://www.studio.it\" target=\"_blank\">www.studio.it</a>";
    =======================
    http://www.abidibo.net

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    36
    Boh l'errore è quello lì...quello che vi ho postato è l'intero file sendata.php...
    A riga 17 c'è questo

    codice:
    $body = “Contenuto del modulo:\n\n”;

  6. #6
    Quindi l'errore è nella riga precedente, esattamente dove era prima. Non riesco a capire se ora lo hai scritto giusto o no. A vedere come hai postato l'ultima volta è di nuovo sbagliato, infatti hai la ripetizionie del tag a e la seonda volta di nuovo hai delle doppie virgolette non strippate, ma non so se invece il secondo tag te lo ha aggiunto nel momento in cui postavi perchè avevi l'opzionie codifica automaticamente gli url checkata...
    =======================
    http://www.abidibo.net

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    36
    secondo me non è quello l'errore...
    lui parla di un errore di sintassi alla riga 17...ed è questa

    codice:
    $body = “Contenuto del modulo:\n\n”;
    e in effetti prima dell'uguale non c'è il punto...ho provato a correggerlo ma mi dà lo stesso l'errore...
    potresti scrivermi cosa devo sostituire dove??
    Helpppp
    grazie 1000

  8. #8
    Ciao, la riga che hai postato è giusta. Il punto prima dell'uguale serve ad aggiungere il testo alla stringa, mentre l'uguale e basta riassegna il testo alla stringa, non si tratta di errore di sintassi.

    Questo errore:
    Parse error: syntax error, unexpected T_STRING in /membri/santadown/sendate.php on line 17

    significa che lui non si aspetta di avere una stringa, quindi tipicamente manca un punto e virgola, e spesso succede quando non si strippano le virgolette, perchè lui crede sia finita la stringa, si aspetta un punto e virgola e invece continua la stringa.

    Comunque è un errore banale, non so, prova a commentare prima una linea, poi l'altra e vedi quando non ti da piu' errore..

    Ciao
    =======================
    http://www.abidibo.net

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    36
    mmm forse dipende dalle if...perchè la prima non si conclude...potrebbe essere???
    e poi la variabile motivo richiamata col post è richiata 2 volte...potrebbe essere?
    in più quella stessa variabile motivo è contenuta in un menù a tendina nella pagina precedente....help!

  10. #10
    Ciao,
    gli if sono chiusi correttamente. La vriabile $_POST['motivo'] viene prima assegnata alla variabile $motivo, e poi richiamata in seguito (diciamo che non ha senso a questo punto definire la variabile $motivo se poi non la usi, ma comunque non è un errore), ciò che c'è nella pagina precedente non importa.
    Ripostami il codice facendo attenzione a DEFLAGGARE l'OPZIONE "Codifica automaticamente gli url"
    =======================
    http://www.abidibo.net

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