(PHP)初学者';s关于使用多个提交按钮的查询
简言之:是否可以在一个页面上有多个提交按钮,并在接收页面上检测单击了哪个提交按钮 例如,想象一个页面显示一张随机的电影海报。有两个按钮:“我喜欢它”、“我讨厌它”。单击其中一个按钮时,表单将通过POST提交到自身,在数据库中记录用户的喜欢/不喜欢,然后再显示新的随机海报 我的本能是写作(PHP)初学者';s关于使用多个提交按钮的查询,php,html,forms,Php,Html,Forms,简言之:是否可以在一个页面上有多个提交按钮,并在接收页面上检测单击了哪个提交按钮 例如,想象一个页面显示一张随机的电影海报。有两个按钮:“我喜欢它”、“我讨厌它”。单击其中一个按钮时,表单将通过POST提交到自身,在数据库中记录用户的喜欢/不喜欢,然后再显示新的随机海报 我的本能是写作 <form action="thispage.php" method="post"> <input type="submit" name="like" value="I liked
<form action="thispage.php" method="post">
<input type="submit" name="like" value="I liked this." />
<input type="submit" name="dislike" value="I hated this." />
</form>
但那没用。也没有
if ($_POST['submit'] == "like") ...
所以我不知道该怎么办。有人能给我小费吗?是的,有可能。你的想法是对的。但是,您的if语句中的检查是错误的。由于submit按钮具有不同的名称,您只需检查它们是否存在于POST数据中,而无需检查特定值
if (isset($_POST['like'])) {
如果要检查特定值,可以使用以下内容:
if (isset($_POST['like']) && $_POST['like'] === 'I liked this.') {
由于您刚刚学习,我建议您熟悉调试技术。在这种情况下,验证从表单中获得的数据最简单的方法是使用
print\r($\u POST)
是的,这是可能的。你的想法是对的。但是,您的if语句中的检查是错误的。由于submit按钮具有不同的名称,您只需检查它们是否存在于POST数据中,而无需检查特定值
if (isset($_POST['like'])) {
如果要检查特定值,可以使用以下内容:
if (isset($_POST['like']) && $_POST['like'] === 'I liked this.') {
由于您刚刚学习,我建议您熟悉调试技术。在这种情况下,验证从表单中获得的数据最简单的方法是使用
print\r($\u POST)
选项一是典型的初学者方法。检查POST数组是否存在,然后检查存储值是否存在。
检查它是否存在,并检查确切值可防止在初始页面加载时输出
<?php
if(isset($_POST['action']) && $_POST['action'] == 'like') {
echo "You like it!";
} elseif (isset($_POST['action']) && $_POST['action'] == 'hate' {
echo "You hate it :(";
}
?>
<form action="thispage.php" method="post">
<input type="submit" name="action" value="like" />
<input type="submit" name="action" value="hate" />
</form>
选项一是初学者的典型方式。检查POST数组是否存在,然后检查存储值是否存在。
检查它是否存在,并检查确切值可防止在初始页面加载时输出
<?php
if(isset($_POST['action']) && $_POST['action'] == 'like') {
echo "You like it!";
} elseif (isset($_POST['action']) && $_POST['action'] == 'hate' {
echo "You hate it :(";
}
?>
<form action="thispage.php" method="post">
<input type="submit" name="action" value="like" />
<input type="submit" name="action" value="hate" />
</form>
试试这个
<form action="" method="post">
<input type="submit" name="like" value="I liked this." />
<input type="submit" name="dislike" value="I hated this." />
</form>
<?php
if(isset($_POST['like']) ){
echo "User says: ". $_POST['like'];
}
if(isset($_POST['dislike']) ){
echo "User says: ". $_POST['dislike'];
}
?>
试试这个
<form action="" method="post">
<input type="submit" name="like" value="I liked this." />
<input type="submit" name="dislike" value="I hated this." />
</form>
<?php
if(isset($_POST['like']) ){
echo "User says: ". $_POST['like'];
}
if(isset($_POST['dislike']) ){
echo "User says: ". $_POST['dislike'];
}
?>
hmmm。。无论是否单击,这两个输入都将以表单形式提交。。没有所以只是测试了一下,不,他们没有,对不起,谢谢你让我知道。。无论是否单击,这两个输入都将以表单形式提交。。没有所以,只是测试,不,他们没有,对不起,谢谢你让我知道这个人是全新的,你真的需要解释你在做什么。这是StackOverflow答案的最低要求。对不起,这是我在这里的第一个答案。。我更新了我的答案。这个人是全新的,你真的需要解释你在做什么。这是StackOverflow答案的最低要求。对不起,这是我在这里的第一个答案。。我更新了我的答案。