自己学习html、CSS和PHP,在给自己的网站写注册和登录的时候遇到了不小的麻烦,而且现在也没弄清楚,暂时可能不再研究这方面了,所以先把我学会的部分记录下来。
首先是数据连接快捷键"ctrl+R"打开运行,输入services.msc回车,打开服务,找到MySQL57,检查数据库是否在运行,如果在运行,就不用管它,如果没运行,就右键“启动”它。
启动数据库以后,手动建立一个叫“tz”的数据库,然后建立一个叫user的表,里面有username、password和email的table,下面就是这个步骤的具体过程:
我数据库在 C:\Program Files\MySQL\MySQL Server 5.7
在控制台下进入 C:\Program Files\MySQL\MySQL Server 5.7\bin
接下来输入 mysql -h localhost -u root -p
然后创建数据库 create database tz;
使用这个数据库 use tz;
创建表 create table user(username char(30),password char(100),email char(30));
数据的准备工作就已经完成了。
接下来是表单提交和PHP文件把内容存给数据库,上代码,这是html的代码:
注册(Registered)
上面代码里面有一个函数在JS里面
如何生成随机验证码呢?看看这个PHP代码,文件picture.php
这是PHP代码,文件submit_info.php
alert('please again!');history.go(-1);";
} else {
if($_POST["captcha_u"]==$capt){
$link=mysqli_connect('localhost','root','1234','tz');//连接数据库
mysqli_select_db($link,"tz");//选择tz数据库
mysqli_query($link,'set name gb2312');
$sql="select username from user where username='$_POST[username]'";//在username当中寻找,判断是否已存在用户名
$result=mysqli_query($link,$sql);//执行sql语句
$num=mysqli_num_rows($result);//将执行完的结果用1或0表示
if($num)//如果已经存在该用户$num为1
{
echo"";
}
else{
$sql_email="select email from user where email='$_POST[email]'";
$result=mysqli_query($link,$sql_email);
$num=mysqli_num_rows($result);
if($num){
echo"";
}else{
$sql_insert="insert into user (username,password,email) values ('$_POST[username]','$psw','$_POST[email]')";
$res_insert=mysqli_query($link,$sql_insert);//执行sql语句将该用户的用户名、密码、邮箱存入数据库
echo"";//弹出OK对话框
echo "";//页面跳转
}
}
}
else{
echo"";
}
}
}
else
{
echo"";
}
接下来是登录页面
登录(Login)
登录的PHP代码,login.php
alert('please again!');history.go(-1);";
}
else
{
$link=mysqli_connect('localhost','root','0100','tz');//连接数据库
mysqli_select_db($link,"tz");
$sql="select username from user where username='$_POST[username]' and password='$psw'";
$result=mysqli_query($link,$sql);
$num=mysqli_num_rows($result);
if($num)//如果已经存在该用户
{
$row = mysqli_fetch_array($result);
$_SESSION["username"]= $row[0];
echo "";
}
else//不存在当前注册用户名称
{
echo "";
}
}
/*}
else
{
echo"";
}*/
登录功能也仅仅是匹配好数据的账号密码,然后输出“欢迎XXX”,没有实质性的内容。
但这仅仅是把用户的账号和密码存在数据库,我不懂登录注册的具体原理,在存入数据库之后,唯一可以显示的就是用户的名称,保存在session["username"]。因为有同学问我这样一个问题,让我对登录注册功能很不解,就是“就好像你登录你的QQ可以查看修改自己QQ空间的内容,这个是怎么做到的”,我感觉我做的这个登录注册功能仅仅是做了个路障而已,没有实际性的内容,希望懂的人可以给点提示。