سؤال

I am trying to make a html and php feedback form and I am receiving an email that looks like this:

New contact form submission 
From:,, 
Email:,@email, 
,,

My html is:

<form method="POST" action="contactform.php">
    Name:<br/>
        <input type="text" name="name" />
        <br/><br/>
    EMail:<br/>
        <input type="text" name="email" />
        <br/><br/>
    Message: <br/>
        <textarea name"message" rows="10" cols="50" />
        </textarea><br/>
    <input type="submit" value="submit" />
</form>

My php is:

<?php
//converting veriables
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$recipient = 'nicholasparry@me.com'; 
$subject="Contact Form"; 
//creating message
$content = "New contact form submission \n From:,$name, \n Email:,@email, \n ,$message,"; 
//sending message
mail($recipient, $message, $content);
?>

Can anyone help me with what is wrong?

هل كانت مفيدة؟

المحلول

It's:

$content = "New contact form submission \n From: ".$name.",\n Email: ".$email.", \n Message: ".$message;

and

<textarea name="message" rows="10" cols="50"></textarea>

نصائح أخرى

Start using Swiftmailer or PhpMailer, your life will be easier...

Swiftmailer example:

require_once 'lib/swift_required.php';
$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Wonderful Subject')
    ->setFrom(array('john@doe.com' => 'John Doe'))
    ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
    ->setBody('Here is the message itself');
$mailer->send($message);

PhpMailer example :

$mail             = new PHPMailer(); // defaults to using php "mail()"
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->AddAddress("whoto@otherdomain.com", "John Doe");
$mail->Subject    = "PHPMailer Test Subject via mail(), basic";
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$mail->AddAttachment("images/phpmailer.gif");      // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

I prefer Swiftmailer, but you select you best choice ;-)

Wrap the variable names in curly braces. E.g. "From:,{$name},"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top