PHP表单不起作用

时间:2014-05-23 11:47:45

标签: php html forms

所以我试图让我的表单工作,但它似乎不可能。

我已将php脚本包含在index.php中:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: Andrewch'; 
$to = 'adreasch@gmail.com'; 
$subject = 'Hello';
$human = $_POST['human'];

$body = "From: $name\n E-Mail: $email\n Message:\n $message";

if ($_POST['submit'] && $human == '4') {                 
    if (mail ($to, $subject, $body, $from)) { 
    echo '<p>Your message has been sent!</p>';
} else { 
    echo '<p>Something went wrong, go back and try again!</p>'; 
} 
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}?>

html看起来像这样

<form method="post" action="" >

<label>Name</label>
<input name="name" placeholder="Type Here">

<label>Email</label>
<input name="email" type="email" placeholder="Type Here">

<label>Message</label>
<textarea name="message" placeholder="Type Here"></textarea>

<label>*What is 2+2?</label>
 <input name="human" placeholder="Type Here">

<input id="submit" name="submit" type="submit" value="">

它只是让我重定向到顶部,它甚至没有写成功文本。

我做错了什么?

P.s:Web托管服务商让我使用PHP。

4 个答案:

答案 0 :(得分:0)

删除此部分会导致$_POST值丢失。

onSubmit="window.location.reload()"

您没有人类输入字段,因此永远不会设置$_POST

答案 1 :(得分:0)

<form method="post" action="" onSubmit="window.location.reload()">中您需要将该网站设置为例如example.com/mail.php

注意:发现我的眼睛是第二个&gt;在<form>标记

末尾的html表单上

答案 2 :(得分:0)

在表单操作中,使用相同的页面名称重定向同一页面并提交页面值,如下所示

  

form method =“post”action =“您的php代码页名称”

我希望这可以帮到你

答案 3 :(得分:0)

 nothing wrong in your code just remove value="" in submit 


 replace <input id="submit" name="submit" type="submit" value=""> 
                          to 
 <input id="submit" name="submit" type="submit" >