2015-10-15 54 views
0

我想在php中創建一個腳本,在數據庫中註冊一個電子郵件,並且他們在下面有兩個複選框,選項1和選項2,我完成了第一部分。管理腳本以便在數據庫中連接並註冊電子郵件但我不知道如何註冊複選框。任何想法?如何在數據庫中註冊複選框?

<?php 
    include_once('mysql.php'); 
    db_connect(); 

    if(isset($_POST['email'])){ 
    $email = $_POST['email']; 
    if(mysql_query("INSERT INTO subscribe(email) VALUES('$email')")) 
{ 
    ?> 
     <script>alert('Abonat cu succes');</script> 
     <?php 
} 
else 
{ 
    ?> 
     <script>alert('Va rog introduceti un email valid');</script> 
     <?php 
} 
} 
?> 


<form name="form1" method="post" action="" class="bk"> 
    <fieldset> 
    <p align="center" class="txt">Subscribe E-mail:<br> 
    <input name="email" type="text" size="20" class="txtbox"> 
    <input type="submit" name="submit" value="Go" class="button"><br> 
    <input type="checkbox" name="evenimente" value="Evenimente">Evenimente 
    <input type="checkbox" name="anunturi" value="Anunturi">Anunturi 
    </p> 
    </fieldset> 
</form> 

表格中的默認值爲0,如果選中它們,我想給它們賦值1,否則賦0。

+2

你甚至嘗試過嗎?作爲一個方面說明,未經檢查的複選框甚至不會通過POST請求發送... –

+1

如果輸入'[email protected]'); DROP TABLE訂閱; - '在你的電子郵件字段中,它會破壞你的系統。查找SQL注入並且不使用'mysql_'函數。 –

+1

Echo out你的POST數組,看看變量/值是什麼,並從那裏工作 – foxbeefly

回答

1

未選中複選框不與發送POST/GET請求,只檢查的:

UNCHECKED:

Array 
(
) 

CHEC KED:

Array 
(
    [checkme] => on 
) 

你必須在$_POST超全局,以驗證該字段存在。

if (isset($_POST['checkme'])) { 
    // do stuff when checked 
} else { 
    // do stuff when don't 
} 
0

您將獲得$_POST['evenimente']$_POST['anunturi']中的值。您可以在PHP腳本檢查並在數據庫中保存

檢查它們在PHP中的意思是:我們不會找到$_POST是關鍵,如果他們不檢查,所以我們可以檢查isset($_POST[key]),並決定對數據庫中的值

+0

如果'evenimente'未選中,將發送什麼值? –

+0

0或false。你可以回顯並看到。 –

+0

然後你會迴應它。你測試過了嗎?我真的懷疑你會在那裏發現0或錯誤。 –

相關問題