Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(PHP)初学者';s关于使用多个提交按钮的查询_Php_Html_Forms - Fatal编程技术网

(PHP)初学者';s关于使用多个提交按钮的查询

(PHP)初学者';s关于使用多个提交按钮的查询,php,html,forms,Php,Html,Forms,简言之:是否可以在一个页面上有多个提交按钮,并在接收页面上检测单击了哪个提交按钮 例如,想象一个页面显示一张随机的电影海报。有两个按钮:“我喜欢它”、“我讨厌它”。单击其中一个按钮时,表单将通过POST提交到自身,在数据库中记录用户的喜欢/不喜欢,然后再显示新的随机海报 我的本能是写作 <form action="thispage.php" method="post"> <input type="submit" name="like" value="I liked

简言之:是否可以在一个页面上有多个提交按钮,并在接收页面上检测单击了哪个提交按钮

例如,想象一个页面显示一张随机的电影海报。有两个按钮:“我喜欢它”、“我讨厌它”。单击其中一个按钮时,表单将通过POST提交到自身,在数据库中记录用户的喜欢/不喜欢,然后再显示新的随机海报

我的本能是写作

 <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答案的最低要求。对不起,这是我在这里的第一个答案。。我更新了我的答案。