在html文件中,我有以下部分代码:
<!-- Contact Form -->
<section>
<form method="post" action="sendmail.php">
<div class="row 50%">
<div class="6u">
<input type="text" name="name" id="contact-name" placeholder="Name" />
</div>
<div class="6u">
<input type="text" name="email" id="contact-email" placeholder="Email" />
</div>
</div>
<div class="row 50%">
<div class="12u">
<textarea name="message" id="contact-message" placeholder="Message" rows="4"></texta$
</div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li><input type="submit" class="style1" value="Send" /></li>
<li><input type="reset" class="style2" value="Reset" /></li>
</ul>
</div>
</div>
</form>
</section>
在php文件sendmail.php中,我有:
<?php
$address = $_POST['contact-email'];
$body = $_POST['contact-message'];
$name = $_POST['contact-name'];
echo($address);
echo($body);
echo($name);
&GT;
当我尝试运行此表单时,它没有做任何事情。也许我做错了什么?
答案 0 :(得分:6)
因为在发布的文件中,您没有使用正确的名称进行访问:
您正尝试通过id
而不是name
访问这些已发布的变量。
当表单发布时,其变量可以通过name
属性加密,因为它们是$_GET
或$_POST
的键。
id
,class
或$_GET
中, $_POST
和$_REQUEST
不在任何地方考虑。
$address = $_POST['contact-email'];
$body = $_POST['contact-message'];
$name = $_POST['contact-name'];
应该是
$address = $_POST['email'];
$body = $_POST['message'];
$name = $_POST['name'];
答案 1 :(得分:2)
您必须使用字段名称而不是字段ID。
如:
$address = $_POST['email'];
$name = $_POST['name'];
echo($body);
echo($name);