|
|
楼主 |
发表于 2019-8-24 22:03:49
|
显示全部楼层
下面我们开始写PHP文件了
文件名(register.php)
新建文件register.php,如果用DW创建的,清空里面所有内容,
一般我都是在某个文件夹里创建文件txt文件,然后重命名为.PHP,
记住修改文件属性,显示已知文件名后缀!
PHP文件的开头是:(记住代码都是英文编写不允许中文或者其他,也就是说只用半角不用全角,除了判断输出文字可以用任何字符)
//双斜杠是PHP的单行注释,/*这里面是CSS,JS,PHP,包含段落的注释*/,<!-- 这里面是html段落注释-->
注释的基本意思是:说明,不会影响编码的程序。红色的字就是注释,代码解说。
<?php //这里回车。
header("Content-type:text/html;charset=utf-8"); //字体的格式,不然会乱码,PHP跟HTML的输出是不一样的。
error_reporting(0);//抑制PHP的错误,调试的时候不要开启,用于项目中可以使用。
$username = $_POST['username']; //$username跟你数据库表中字段名一样,
$_POST['username']用POST方式接收register.html页面,提交表单时候传过来的值
$password = $_POST['password']; //密码,意义同上。
$repass = $_POST['repass']; //重复密码,跟数据库无关,用于判断两次输入的密码是否相同,当然也可以用前端JS来实现,一般都是JS和PHP双判断。
if($password == $repass) {
//判断你两次输入的密码是否相同。
//下面我们要连接数据库了(数据库的代码我们也可以单独下一个文件,这里为了快速说明就直接写在一起了)
$conn = mysqli_connect("101.128.12.118","root","123456"); //这里我们用的是mysqli链接方式,PHP5.6以上不支持mysql(大同小异),
//(101.128.12.118是你服务器的IP地址,固定的哦!root服务器登录用户名,123456就是你自己服务器的密码)
if (!$conn){
die("连接数据库失败:" . mysqli_error($conn));
} // 检测连接是否成功。
mysqli_select_db( $conn, "mytk" ); //mytk是你建立的数据库名字,建立时选择与你程序代码相应的字体utf8
mysqli_query($conn , "set names utf8"); //数据的字体utf8
//准备查询语句
$sql = "SELECT usernmae FROM myuser WHERE username = '$username'"; //$username是数据库表中注册用户名的字段,
username是$_POST['username'],myuser你是在mytk数据库里建立的表,
这句代码的意思,查询mytk数据库中myuser表里的username字段是否已经存在的用户名,如果已经存在相同的用户名就不允许注册。
//开始执行SQL语句
$ret = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($ret);
//开始判断用户名是否已存在的语句
if($row){
//$row就是查询输出的信息,用户名已存在,显示提示信息
echo "用户名已经被注册!请重新注册<script>setTimeout(\"window.location.href='register.html'\",1000);</script>";
//echo 是if判断后可以输出信息了,这里你可以随便写!
//1秒后跳转,这里设置了1秒后(1000)自动跳转到html前端注册界面,重新输入用户名等信息。
}else{
//else 可以理解为承上起下,当你填写的用户名不存在,可以插入数据了。
//准备要写入数据数据的SQL语句
$md5_password = md5($password ); //把用户的密码进行MD5加密,后台数据我们也是看不到密码的,除非破解!
//准备写入数据了,如果代码和数据库字段无误,数据将准确的写入数据库表中字段。
$sql_insert = "INSERT INTO myuser(username,password) VALUES('$username','$md5_password')";
$res_insert = mysqli_query($conn,$sql_insert); //$sql_insert就是写进数据库的所有信息。
if($res_insert){
echo "恭喜您注册成功!1秒后转到登录页面<script>setTimeout(\"window.location.href='log.html'\",1000);</script>";
//1秒后跳转到登录界面(至于跳转界面,自己决定'log.html'就是要跳转的界面)
}else{
echo "<script>alert('两次密码不一致!'); history.go(-1);</script>"; //两次密码不同时,自动跳转上一级,而不清除用户所填写的信息。
}
}
}//关闭数据库
mysqli_close($conn); //当然使用完数据库后吗,记得随后关门!
?>
//这是结束符号,养成好的习惯,写上结束符。
|
|