表单php不工作

时间:2014-03-17 03:51:38

标签: php forms

我已经在网上搜索并尝试了许多方法来创建和验证将信息发送到电子邮件的表单,但我无法理解它。这就是我所做的,它似乎工作(无法测试它是否发送),但每次我提交它时都会出现"所有字段都需要错误"即使所有盒子都装满/空。我通过类似的问题查看了这个网站,试图通过他们解决这个问题,但没有运气。

我错过了什么? 我应该在另一个页面上使用php吗? 一旦错误得到修复,它是否会发送并保留用户提交的信息?

如果有帮助 - 我使用粉底5作为网站。 PHP的初学者。

<?php
$action=$_REQUEST['action'];
if ($action=="") 
{
?>  
<form action="" method="post">
<div class="row">
<div class="large-12 columns">
<input type="hidden" name="action" value="submit">
<label>Name
<input name"name" type="text" placeholder="Your name"/>
</label>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<label>Email
<input name"email" type="text" placeholder="Your email" />
</label>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<label>Your Message
<textarea name="message" type="text" placeholder="Comment here"/></textarea>
</label>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<input id="submit"  type="submit" value="Send Message">
</div>
</div>
</form>
<?php
} 
else                
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$message=$_REQUEST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields required! Please fill <a href=\"\">in the form</a> again.";
}
else{        
$from="From: $name<$email>\r\nReturn-path: $email";
$subject="Hire";
mail("myemail", $subject, $message, $from);
// back to homepage - will add send confirm when fixed. header( "Location: ");
}
}  
?>

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

您缺少=来为name属性指定值:

<input name="name" type="text" placeholder="Your name"/>
<!-------  ^ here

<input name="email" type="text" placeholder="Your email" />
<!-------- ^ and here

答案 1 :(得分:1)

您正在为姓名和电子邮件提供输入属性name,如下所示:

 <input name"name" type="text" placeholder="Your name"/> 
<input name"email" type="text" placeholder="Your email" />

将其更改为

 <input name="name" type="text" placeholder="Your name"/> 
<input name="email" type="text" placeholder="Your email" />

答案 2 :(得分:0)

选中此项..添加=以发送电子邮件并命名

 <input name="name" type="text" placeholder="Your name"/>
    </label>
    </div>
    </div>
    <div class="row">
    <div class="large-12 columns">
    <label>Email
    <input name="email" type="text" placeholder="Your email" />
    </label>