我正在尝试为我的个人网站构建一个非常简单的联系表单
<?php
if(isset($_POST["submit"])){
echo $_POST["name"];
echo $_POST["email"];
}
?>
<html>
<body>
<form action="" method="post">
<p>
<label for="name"> Name: </label><br>
<input type="text" name="name" id="name" />
</p>
<p>
<label for="email"> Email: </label><br>
<input type="text" name="email" id="email" />
</p>
<p>
<label for="message"> Message: </label><br>
<textarea name="message" id="message"></textarea>
</p>
<p>
<input type="submit" value="Submit" />
</p>
</form>
</body>
</html>
然而,当我按下提交后尝试回显帖子值时,没有任何内容出现。我尝试使用get而不是post,我可以看到输入字段中的数据出现在我的URL中。
出了什么问题?
答案 0 :(得分:2)
将name='submit'
添加到您的提交按钮..
检查提交按钮的第一行未执行,因为您的html表单在提交按钮上没有name
属性。
答案 1 :(得分:1)
您应该提供一个名称来提交按钮。如下所示
<input type="submit" name="submit" value="Submit" />
答案 2 :(得分:0)
您应该在提交按钮中添加名称属性。因为PHP使用name属性作为$ _POST数组中的变量标识符。
这样看起来像是:<input type="submit" value="Submit" name="submit" />
最后你的代码看起来像是:
<?php
if(isset($_POST["submit"])){
echo $_POST["name"];
echo $_POST["email"];
}
?>
<html>
<body>
<form action="" method="post">
<p>
<label for="name"> Name: </label><br>
<input type="text" name="name" id="name" />
</p>
<p>
<label for="email"> Email: </label><br>
<input type="text" name="email" id="email" />
</p>
<p>
<label for="message"> Message: </label><br>
<textarea name="message" id="message"></textarea>
</p>
<p>
<input type="submit" value="Submit" name="submit" />
</p>
</form>
</body>
</html>