php注册登陆完整代码

创建conn.php,连接数据库。

$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.连接数据库,创建PDO对象
$pdo = new PDO($dns,$username,$password);

创建login.html,登陆页面。

<form action=”login.php” method=”post” name=”login”>&nbsp;

用户名<input name=”name” type=”text” />

&nbsp;

密 码<input name=”password” type=”password” />

&nbsp;

<input name=”submit” type=”submit” value=”登录” />

&nbsp;

</form>

创建login.php,验证账号密码。

header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
    exit("错误执行");
}//检测是否有submit操作

include('conn.php');//链接数据库

$name = $_POST['name'];//post获得用户名表单值
$pwd = sha1($_POST['password']);//post获得用户密码单值

if ($name && $pwd){//如果用户名和密码都不为空
    $sql = "select * from user where username = '$name' and password='$pwd'";//检测数据库是否有对应的username和password的sql
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    if($stmt->fetch(PDO::FETCH_BOUND)){//0 false 1 true
        header("refresh:0;url=welcome.html");//如果成功跳转至welcome.html页面
        exit;
    }else{
        echo "用户名或密码错误";
        echo "
                                        <script>
                            setTimeout(function(){window.location.href='login.html';},1000);
                    </script>

                ";//如果错误使用js 1秒后跳转到登录页面重试;
    }


}else{//如果用户名或密码有空
    echo "表单填写不完整";
    echo "
                       <script>
                            setTimeout(function(){window.location.href='login.html';},1000);
                      </script>";

    //如果错误使用js 1秒后跳转到登录页面重试;
}

$pdo = null;

创建signup.html,注册页面

<form action=”signup.php” method=”post”>
<p>用户名:<input type=”text” name=”name”></p>
<p>密 码: <input type=”text” name=”password”></p>
<p><input type=”submit” name=”submit” value=”注册”></p>
</form>

创建signup.php

header("Content-Type: text/html; charset=utf8");

if(!isset($_POST['submit'])){
    exit("错误执行");
}//判断是否有submit操作

$name=$_POST['name'];//post获取表单里的name
$pwd = sha1($_POST['password']);//post获取表单里的password

include('conn.php');//链接数据库
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向数据库插入表单传来的值的sql
$stmt = $pdo->prepare($sql);
$stmt->execute();
$stmt->fetch(PDO::FETCH_BOUND);
if (!$stmt){
    die('Error: ' . $stmt->getMessage());//如果sql执行失败输出错误
}else{
    echo "注册成功";//成功输出注册成功
}

$pdo = null;//关闭数据库
发布日期:
分类:技术 标签:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注