2012-01-31 101 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()函數功能不與輸入類型工作=但噸。所以要麼我們必須使用輸入類型=提交而不是按鈕或某些隱藏類型,如果我們仍然想使用按鈕。

相關問題