我有一個表單字段如何從Html表單中檢索複選框的選中狀態並將其存儲在數據庫中?
<input type="checkbox" name="page" value=""/>
,並相應字段mysql數據庫是真假,如果有人點擊複選框我想送真值通過POST到DB,我怎麼實現的呢?
我有一個表單字段如何從Html表單中檢索複選框的選中狀態並將其存儲在數據庫中?
<input type="checkbox" name="page" value=""/>
,並相應字段mysql數據庫是真假,如果有人點擊複選框我想送真值通過POST到DB,我怎麼實現的呢?
你給輸入任何你喜歡的值的數據庫:
<input type="checkbox" name="page" value="true"/>
然後,如果該複選框被檢查,這將是一個成功的控制和提交。
<?php
if (isset($_POST['page']) && $_POST['page'] == 'true') {
// Then insert something into the database as normal
}
?>
如果你想設置它,當複選框未選中,那麼你將需要一個else
去與if
。
while print_r我可以看到$ _POST ['page']和db中的頁面字段的值是enum('false','true'),我總是在新數據條目中獲得'false'值,無論我檢查不是,請幫助 – ktm 2011-05-05 14:50:46
然後問題在於如何嘗試使數據庫查詢設置值而不涉及讀取表單數據。 – Quentin 2011-05-05 14:52:49
我的代碼是<?PHP的 \t \t \t如果(isset($ _ POST [ '頁'])&& $ _POST [ '頁'] == '真'){ \t \t \t $ SQL =「INSERT INTO條目,其中page = {$ _POST ['page']}「; \t \t \t} \t \t \t?> – ktm 2011-05-05 15:01:39
對於複選框,value
屬性確定在檢查項目時該值是多少。如果沒有被選中,那麼根本沒有值會被提交。因此,您應該始終在複選框上指定value
屬性。
如果您希望複選框默認爲選中狀態,那麼您還需要指定checked
屬性。
<input type="checkbox" name="page" value="1" checked='checked' />
收集遵循表單提交後閱讀$_POST
,然後將它們寫入使用mysql_query
您將不得不做的第一件事是修改當前的複選框的html代碼並在值字段中添加一些內容。
比方說您將值設置爲1。
第二件事是,如果你發佈的形式,那麼你將不得不使用像PHP,Perl和Java的等
服務器端語言處理表單例如在PHP中,您可以使用$ _POST ['page']獲得發送給頁面字段的內容。
現在,你將不得不做一些服務器端處理的,看看是否$ _POST [「頁」] ==「1」,然後設置$page = 'true';
,否則設置$page = 'false';
的,你可以將$頁面通過使用您正在使用的語言的庫函數將其添加到數據庫中。
的形式爲:
<form action="/path/to/processing_script.php" method="POST">
<!--... Other Form Elements go here -->
<input type="text" name="color" />
<input type="checkbox" name="page" value="True"/>
<input type="submit" value="Send to Database" />
</form>
處理腳本: (processing_script.php)
<?php
// Check is 'True'?
if ($_POST['page'] != 'True')
{
$_POST['page'] = 'False';
}
$con=mysqli_connect("your-db-loc","your-db-username","your-db-pass","db-name");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL Database: " . mysqli_connect_error();
}
mysqli_query($con,"INSERT INTO TableNameHere (True-false, Favorite Color)
VALUES ($_POST['page'], $_POST['color'])");
mysqli_close($con);
?>
這個例子我創建附加的2種數據類型在數據庫上一個新行。
與db表名稱替換文本「TableNameHere」,應該是類似的格式:「prefix_colors_tble」
您的數據庫位置替換文本「您的DB-LOC」,通常的「localhost」的內部服務器,或者可能是實時服務器的URL。
將文本「your-db-username」替換爲用於登錄到mysql的用戶名,必須具有足夠的權限。
替換文字「您的DB-通」用戶的密碼
替換文本「DB-名」數據庫名稱(不被認爲是重要的,除非包含多個數據庫)
替換文本「道道通假「&」最喜歡的顏色「與您的數據庫表列標題適當。
祝你好運! -p.s.我知道這個答案遲了幾年,但我希望它能幫助別人。發送您的讚賞http://amazewebs.com/testimonial謝謝。
您不用POST發送任何數據到數據庫。 – 2011-05-05 13:41:20
實際上,通過POST,您可以將表單發送到處理腳本,從而允許它將數據發送到數據庫。所以有可能,是的。 – 2014-07-11 08:40:26