- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problemino form contatti
-
Problemino form contatti
Ciao ragazzi avrei un problema. Io dopo aver costruito la struttura html del form, avevo puntato il form verso il file php in questo modo:
<form id="contactform" method="post" action="xxx.xxx/jj/file.php">
il file aveva questa struttura:
<?php
//Inserisci il tuo indirizzo email
$mailTo = '[email protected]';$name = htmlspecialchars($_POST['name']); $object = htmlspecialchars($_POST['object']); $mailFrom = htmlspecialchars($_POST['email']); $siteurl = htmlspecialchars($_POST['site']); $message_text = htmlspecialchars($_POST['message']); $subject = 'Email da Form Contatti Pentaimmobiliare.com'; $headers = 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers .= 'From: '.$mailFrom; $message = "<html> <head> <title> $subject </title> </head> <body> <p>----------------------------------------</p> <b>Nome Utente:</b> $name<br /> <b>Oggetto:</b> $object<br /> <b>e-Mail:</b> $mailFrom<br /> <b>Testo della richiesta:</b><br /> <p>$message_text</p> <p>----------------------------------------</p> </body> </html>"; if (mail($mailTo, $subject, $message, $headers)) echo "email inviata!"; else { echo "Errore"; }
?>
------------------------------------------------------------------------Problema 1: La mail viene inviata correttamente ma non riesco a far comparire nel messaggio che ricevo la variabile oggetto del messaggio:
La mail che ricevo è di questa struttura:
Nome Utente: massimo
Oggetto: non risulta nulla
e-Mail: email
Testo della richiesta: messaggioProblema 2 (più grave): Una volta che il cliente clicca Submit viene mandato alla pagina xxx.xxx/jj/file.php in cui compare "email inviata" anzichè rimanere nella pagina del form.
Spero di essermi spiegato bene, attendo un vostro aiuto, grazie mille ragazzi!
-
Ciao Massimo_Vitali,
per quanto riguarda il problema 1 devi incollare anche il codice del form.
Per il problema 2 devi invece unire i 2 file in maniera tale che la pagina contente il form si occupi anche dell'elaborazione all'invio.
-
Grazie della risposta. Per la domanda 1, ecco il codice del form:
<!-- Contact Form Start //-->
<div id="formcontact" class="half-page">
<form id="contactform" method="post" action=sito.zzz/cartella/js/inviaemail.php">
<fieldset>
<div id="error"></div>
<label for="name">Nome:</label>
<input type="text" name="name" id="name" /><label for="subject">Oggetto:</label> <input type="text" name="subject" id="subject" /> <label for="email">Email:</label> <input type="text" name="email" id="email" /> <label for="question">Messaggio:</label> <textarea name="message" id="message" cols="30" rows="10"></textarea> <input type="submit" name="submit" id="submit" value="" /> </fieldset> </form> </div> <!-- Contact Form End //-->
Per quanto riguarda la domanda 2 potresti spiegarti meglio? in che senso unire i due file? scusami non sono molto ferrato attendo vostre risposte:)
-
Devi modificare il codice php in quanto il titolo si trova in $_POST['subject'] non in $_POST['object']. Per quanto riguarda la seconda domanda, l'action deve essere la pagina stessa in maniera tale da poter poi gestire la cosa come volevi tu. È ovvio che comunque devi studiare le basi di php per poter fare qualsiasi cosa.
-
@Thedarkita said:
Devi modificare il codice php in quanto il titolo si trova in $_POST['subject']Per quanto riguarda la seconda domanda, l'action deve essere la pagina stessa in maniera tale da poter poi gestire la cosa come volevi tu. È ovvio che comunque devi studiare le basi di php per poter fare qualsiasi cosa.
Ma in questo modo come è possibile che l'email sia inviata se l'action rimanda alla pagina stessa? Devo aggiungere qualche riga di codice?
-
Le 2 pagine devono praticamente essere unite, la pagina con il form deve anche capire quando il form è stato inviato ed inviare l'email.
-
Ma in che senso unite?
-
Intendo in un unico file sia il codice del form che quello che si occupa di inviare l'email.
-
Ma tutto in un file html o php? scusami non riesco a seguirti
-
Se usi codice php deve essere su un file php. Ti consiglio comunque di studiare un pò php, altrimenti anche per operazioni banali come questa, non riesci a capire molto.
-
ho risolto con un banale redirect, comunque grazie delle informazioni.. vedrò di applicarmi