2012-07-02 116 views
1

我有我的registerUsers.html如下存儲枚舉類型變量到數據庫

<html> 
<head> 
<title>userlogin</title> 
</head> 
<body> 
<h1><center>User login</center></h1> 
<p> 
<strong><font color= "green"> REGISTER HERE </font></strong> 
<br> 
<form method="post" action="registerUsers.php"> 
<p><strong>ID:</strong><br/> 
<input type="text" name="id"/></p> 
<p><strong>FirstName:</strong><br/> 
<input type="text" name="firstname"/></p> 
<p><strong>Lastname:</strong><br/> 
<input type="text" name="lastname"/></p> 
<p><strong>Username:</strong><br/> 
<input type="text" name="username"/></p> 
<p><strong>Password:</strong><br/> 
<input type="password" name="password"/></p> 
Admin <input type="radio" name="type" value="admin" /><br /> 
Author <input type="radio" name="type" value="author" checked="checked"/> 
<p><input type="submit" name="submit" value="Register"/></p> 
</form> 
</p> 

</body> 
</html> 

和registerUsers.php如下

<?php 
include("dbconnect.php"); 
$con=new dbconnect(); 
$con->connect(); 
if(isset($_POST['submit'])) { 
     $type=0; 

     if($_POST['type'] =="admin") 
     $type = 1; 
     if($_POST['type'] =="author") 
     $type = 0; 

    $sSql = "INSERT INTO users 
     (id, first_name, last_name,username, password, type) 
     VALUES ('$_POST[id]', '$_POST[firstname]', '$_POST[lastname]', '$_POST[username]', PASSWORD(\"$_POST[password]\"), $type)"; 

    mysql_query($sSql); 

    echo '<h2>USER REGISTERED</h2><br />'; 
} 
?> 

當我選擇「作者」單選按鈕沒有被獲得存儲在數據庫的'type'變量中。如果我選擇管理員,「管理員」存儲在類型變量中。我如何解決這個問題,以便'作者'可以存儲在數據庫的'用戶'表中。

任何想法或幫助,將不勝感激。 謝謝!

+2

SQL注入! –

+0

不要使用'p'和'strong''元素,使用''''''。 –

回答

3

如果您使用接受的值'作者'和'管理員'在數據庫中創建了一個Enum類型,則不應將0和1傳遞給它。你傳遞'Admin'或者'Author',數據庫會像0和1那樣對待它,但是你會說'admin'和'author'。

+0

謝謝花王!會嘗試... – user1479431