2012-01-31 35 views
4

isset()函数可用于检查是否按下输入类型提交,但是有什么方法检查输入类型按钮是否被按下?在我的代码中,按钮除了在.Onclick()事件上调用一个函数,然后刷新页面并在php中创建一个数据库条目...并且我希望它只在按下按钮后才能输入条目......并且我不能使用提交类型的其他原因...以下是一些代码:如何检查输入类型按钮是否在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()); 
} 
?> 

回答

9

isset($_POST['Button'])您刚刚错过了首都B。您需要将其与输入的name属性相匹配。

1

您需要使用ajax。所以当用户点击这个按钮时,页面不会刷新..应该有一个页面在用户看到的后面。每当他点击它访问该网页,上传任何你想要的数据按钮...

编辑: 或者你可以在表单中添加一个隐藏的输入,当按钮被点击隐藏的输入值的变化,即true ...然后从PHP代码中,您可以使用isset或其他函数来验证用户是否单击了按钮或不...

0

在这个例子中,最简单的方法是将一个额外的变量添加到& button_press = true或类似的东西中传递的参数中,然后您会知道当您接收到信息时该按钮已被按下

0

'locrizak'正确回答。你的按钮名称是'按钮',你试图检查点击'按钮'的存在是不同的。 在如果不确定的是什么错误这样的情况下,可能会打印使用

print_r($_POST) 

这将显示从表单提交的所有值,包括按钮整个POST阵列

使用isset()函数是正确的方法来检查表单元素是否存在或不存在

使用

if(isset($_POST['Button'])){ 
    //code block for insertion,validation etc // 
} 
0

isset()函数功能不与输入类型工作=但吨。所以要么我们必须使用输入类型=提交而不是按钮或某些隐藏类型,如果我们仍然想使用按钮。

相关问题