isset()函数可用于检查是否按下了输入类型提交但有没有办法检查是否按下了输入类型按钮?在我的代码中,该按钮除了调用.Onclick()事件上的函数之外什么都不做,然后刷新页面并在php中创建一个数据库条目......我希望它只在按下按钮后才能进行输入...并且由于其他原因,我无法使用提交类型......以下是一些代码:
function send()
{
var events=document.getElementById("event").value;
location.href="calm.php?day=" + xx + "&month=" + yy + "&year=" + zz + "&events=" + events;
}
<input name="Button" type="button" id="submit" onclick="send(this.form)" value="Button" />
<?php
session_start();
include_once "connect_to_mysql.php";
$day = $_GET['day'];
$month = $_GET['month'];
$year = $_GET['year'];
$events = $_GET['events'];
$userid = $_SESSION['id'];
if (isset($_POST['button']))
{
$sql = mysql_query("INSERT INTO events (userid,month,day,year,events)
VALUES('$userid','$month','$day', '$year','$events')")
or die (mysql_error());
}
?>
答案 0 :(得分:9)
isset($_POST['Button'])
你错过了首都B
。您需要将其与输入的name
属性相匹配。
答案 1 :(得分:1)
你需要使用ajax来做到这一点。因此,当用户单击此按钮时,页面将不会刷新..应该有一个页面后面的页面为用户做了。每当他点击按钮,它就会访问该页面并上传你想要的任何数据......
修改强> 或者你可以在单击按钮时在表单中添加隐藏的输入,隐藏的输入值更改为true ...然后从php代码中,您可以使用isset或其他函数来验证用户是否单击了按钮。 ..
答案 2 :(得分:0)
在你所拥有的例子中,最简单的方法是在&amp; button_press = true或类似的东西中为传递的参数添加一个额外的变量然后你会知道在你收到信息时按下了按钮
答案 3 :(得分:0)
'locrizak'回答正确。您的按钮名称为“按钮”,并且您尝试检查点击“按钮”的存在,两者都不同。 在这种情况下,如果您不确定是什么问题,可以使用
打印整个POST阵列print_r($_POST)
这将显示表单中包含按钮
的所有提交值使用isset()是检查表单元素是否存在的正确方法
使用
if(isset($_POST['Button'])){
//code block for insertion,validation etc //
}
答案 4 :(得分:0)
isset()函数不适用于input type = button。所以要么我们必须使用输入类型=提交而不是按钮或某些隐藏类型,如果我们仍然想要使用按钮。