我一直在关注本教程来构建一个简单的注册/登录脚本。
http://forum.codecall.net/topic/69771-creating-a-simple-yet-secured-loginregistration-with-php5/
我是 PHP 新手,但我有很多使用 C++ 的经验,所以我认为转换不会太难,我只需要弄清楚语法。我还在大学里对 mySQL 做了一个非常快速的介绍,所以我认为在用户注册时使用 mySQL 检查现有用户名会容易得多,尽管我的知识不太好。我认为这样的事情会起作用;
SELECT username
FROM codecalltut
WHERE username = username;
这真的有用吗?它从数据库 codecalltut 中选择用户名,然后检查输入的用户名是否已经是用户名?即使这是正确的,我也不知道如何将它包含在我的 PHP 中。
我试过使用
$qry = "SELECT username
FROM codecalltut
WHERE username = username;"
但是当它移动到下一条语句时,我只是得到一个语法错误。
<?php
$qry = "SELECT username
FROM codecalltut
WHERE username = username;"
//if register button was clicked.
} else {
$usr = new Users; //create new instance of the class Users
$usr->storeFormValues( $_POST ); //store form values
//if the entered password is match with the confirm password then register him
if( $_POST['password'] == $_POST['conpassword'] ) {
echo $usr->register($_POST);
} else {
//if not then say that he must enter the same password to the confirm box.
echo "Password and Confirm password not match";
}
}
?>
这是用于构建数据库的查询:
CREATE DATABASE `codecalltut` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `codecalltut`;
CREATE TABLE IF NOT EXISTS `users` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varbinary(250) NOT NULL,
PRIMARY KEY (`userID`,`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
这是用户单击“注册”时的 HTML 代码
<li class="buttons">
<input type="submit" name="register" value="Register" />
<input type="button" name="cancel" value="Cancel" onclick="location.href='index.php'" />
</li>