[英]Additional fields to POST registration script
我一直在使用此腳本將新用戶添加到我的user_list表中,但是我在表單中添加了一些新字段,但確實很難查看允許腳本在何處或何處發布新字段。
<form method="POST" action="register.php">
<br>
<p><input name="user" type="text" placeholder="Username" /></p>
<p><input name="pass" type="password" placeholder="Password"/></p>
<br>
<p><input name="firstname" type="text" placeholder="First Name" /></p>
<p><input name="lastname" type="text" placeholder="Last Name" /></p>
<p><input name="email" type="text" placeholder="Ricoh Email Address" /></p>
<p><input name="ext" type="text" placeholder="Telephone Extension (e.g. 3312)" /></p>
<br>
<p><input type="submit" name="submit" value="Register User"></p>
</form>
</div>
<?
if(isset($_POST['submit'])){
include_once '../db_con.php';
include_once 'config.php';
if(isset($_POST['user'], $_POST['email']) && isset($_POST['pass'], $_POST['email'])){
$password=$_POST['pass'];
$sql=$dbh->prepare("SELECT * FROM user_login WHERE username= ? ");
$sql->execute(array($_POST['user']));
if($sql->fetchColumn()!=0){
die("User Exists");
}else{
function rand_string($length) {
$str="";
$chars = "subinsblogabcdefghijklmanopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$size = strlen($chars);
for($i = 0;$i < $length;$i++) {
$str .= $chars[rand(0,$size-1)];
}
return $str;
}
$p_salt = rand_string(20);
$site_salt="subinsblogsalt";
$salted_hash = hash('sha256', $password.$site_salt.$p_salt);
$sql=$dbh->prepare("INSERT INTO `user_login` (`id`, `username`, `email`, `password`, `psalt`) VALUES (NULL, ?, ?, ?, ?);");
$sql->execute(array($_POST['user'], $salted_hash, $p_salt));
echo 'New user added';
}
}
}
?>
如您所見,我嘗試將其他字段添加為$ _POST ['email']等,但它表示存在錯誤:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens'
在$ sql-> execute()中添加$ _POST ['email']
$sql->execute(array($_POST['user'], $_POST['email'], $salted_hash, $p_salt));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.