php实现模拟登录注册页面(用php实现注册登录)

发布时间:2022-11-15

本文目录一览:

  1. 用PHP做登陆注册页面
  2. 怎样用php中的curl模拟登陆
  3. 如何通过php程序模拟用户登录
  4. [使用php实现用户注册和登录功能制作 !急求大神帮助!](#使用php实现用户注册和登录功能制作 !急求大神帮助!)

用PHP做登陆注册页面

登录页:login.php

<?php
include("conn.php");
$username = $_POST['name'];
$password = $_POST['password'];
$yanzheng = $_POST['yanzheng'];
if (isset($_POST['submit'])) {
    $sql = ("select username,password from member where username='$username' and password='$password'") or die("sql语句执行失败");
    //print_r($sql);
    $ar = mysql_query($sql);
    if ($ar) {
        if ($row = mysql_fetch_array($ar)) {
            session_start();
            if ($_POST["yanzheng"]) {
                if ($yanzheng != $_SESSION['pic'] || $yanzheng == "") {
                    echo "验证码输入有误";
                    exit;
                }
                if ($yanzheng == $_SESSION['pic']) {
                    header("location:index.php");
                }
            }
        } else {
            echo "用户名或密码错误";
        }
    }
}
?>
<form action="login.php" method="post">
    <table border="1" align="center" width="500" height="300" bgColor="#DFFFDF" bordercolor="#fffbec">
        <tr>
            <td colspan="2" align="center">用户登录</td>
        </tr>
        <tr>
            <td>用户姓名:</td>
            <td><input type="text" name="name" id="name"/></td>
        </tr>
        <tr>
            <td>用户密码:</td>
            <td><input type="password" name="password" id="password"/></td>
        </tr>
        <tr>
            <td>验证码:</td>
            <td>
                <input type="text" name="yanzheng" id="yanzheng"/>
                <img src="yanzheng1.php" width="50" height="30"/>
            </td>
        </tr>
        <tr>
            <td colspan="3" align="center">
                <input type="submit" name="submit" value="登录"/>
                <input type="reset" name="reset" value="重置"/>
                <a href="register.php">注册</a>
            </td>
        </tr>
    </table>
</form>

注册页:register.php

<?php
include("conn.php");
if (isset($_POST['submit']) && $_POST['submit']) {
    if ($_POST['username'] == '') {
        echo "用户名不能为空";
        exit();
    }
    if ($_POST['password'] == '') {
        echo "密码不能为空";
        exit();
    }
    if ($_POST['realpass'] != $_POST['password']) {
        echo "两次密码输入不一致";
        exit();
    }
    $sql = "insert into member(username,real_name,password,email,headimg) values('$_POST[username]','$_POST[username]','$_POST[password]','$_POST[email]','')";
    $ar = mysql_query($sql);
    if ($ar) {
        header("location:index.php");
    } else {
        echo mysql_error();
    }
}
?>
<body>
<form action="register.php" method="post">
    <table border="1" align="center" width="500">
        <tr>
            <td height="40" bgColor="#DFFFDF" colspan="2">会员注册 <a href="login.php">返回登录页</a></td>
        </tr>
        <tr>
            <td height="40" bgColor="#fffbec">会员ID</td>
            <td><input type="text" name="username" id="username"/></td>
        </tr>
        <tr>
            <td height="40" bgColor="#fffbec">密码</td>
            <td><input type="password" name="password" id="password"/></td>
        </tr>
        <tr>
            <td height="40" bgColor="#fffbec">确认密码</td>
            <td><input type="password" name="realpass" id="realpass"/></td>
        </tr>
        <tr>
            <td height="40" bgColor="#fffbec">EMAIL</td>
            <td><input type="text" name="email" id="email"/></td>
        </tr>
        <tr>
            <td height="40" bgColor="#fffbec"></td>
            <td><input type="submit" name="submit" value="注册"/><input type="reset" value="重置"/></td>
        </tr>
    </table>
</form>
</body>

主页显示:index.php

<?php
include("conn.php");
function cutstr($str, $cutleng) {
    $str = $str; //要截取的字符串
    $cutleng = $cutleng; //要截取的长度
    $strleng = strlen($str); //字符串长度
    if ($cutleng > $strleng) return $str; //字符串长度小于规定字数时,返回字符串本身
    $notchinanum = 0; //初始不是汉字的字符数
    for ($i = 0; $i < $cutleng; $i++) {
        if (ord(substr($str, $i, 1)) >= 128) {
            $notchinanum++;
        }
    }
    if (($cutleng % 2 == 1) && ($notchinanum % 2 == 0)) //如果要截取奇数个字符,所要截取长度范围内的字符必须含奇数个非汉字,否则截取的长度加一
    {
        $cutleng++;
    }
    if (($cutleng % 2 == 0) && ($notchinanum % 2 == 1)) //如果要截取偶数个字符,所要截取长度范围内的字符必须含偶数个非汉字,否则截取的长度加一
    {
        $cutleng++;
    }
    return substr($str, 0, $cutleng);
}
?>
<html>
<head>
<script type="text/javascript">
function All(e, itemName) {
    var aa = document.getElementsByName(itemName);
    for (var i = 0; i < aa.length; i++) aa[i].checked = e.checked; //得到那个总控的复选框的选中状态
}
function Item(e, allName) {
    var all = document.getElementsByName(allName)[0];
    if (!e.checked) all.checked = false;
    else {
        var aa = document.getElementsByName(e.name);
        for (var i = 0; i < aa.length; i++) if (!aa[i].checked) return;
        all.checked = true;
    }
}
</script>
</head>
<?php
include("conn.php");
if (isset($_POST['del'])) {
    $mm = $_POST["selected"];
    $id = implode(",", $mm);
    $sql = "delete from forums where id in(" . $id . ")";
    //echo $sql;
    $result = mysql_query($sql);
    echo $result ? "删除成功" : "删除失败";
}
?>
<table style="BORDER-BOTTOM-WIDTH: 1px; BORDER-COLLAPSE: collapse" cellSpacing="0" cellPadding="0" width="600" align="center" border="1" bordercolor="#ddddff">
    <tr align="middle">
        <td height="40" bgColor="#DFFFDF" colspan="3">论坛列表</td>
    </tr>
    <tr>
        <td colspan="3">
            <a href="login.php" style="float:right">[退出系统]</a>
            <a href="add_forum.php" style="float:right">[添加论坛]</a>
        </td>
        <td></td>
    </tr>
    <tr align="middle">
        <td height="40" bgColor="#DFFFDF" width="80">状态</td>
        <td height="40" bgColor="#DFFFDF">论坛</td>
        <td height="40" bgColor="#DFFFDF">最后更新</td>
    </tr>
    <?php
    $sql = "select * from forums";
    $result = mysql_query($sql);
    $num = mysql_num_rows($result);
    if ($num > 0) {
        while ($row = mysql_fetch_array($result)) {
    ?>
    <tr align="middle">
        <td bgColor="#fffbec"><input type="checkbox" name="selected" value="1"/></td>
        <td height="50" bgColor="#fffbec" width="300">
            <?php
            echo "<div><a href=\"forums.php?F=" . $row['ID'] . "\">" . $row['forum_name'] . "</a></div>";
            echo cutstr($row['forum_description'], 24); //最多显示24个字节,12个字,多余部分用省略号代替
            echo "……";
            ?>
        </td>
        <td height="50" bgColor="#fffbec">
            <div><?php echo $row['last_post_time'] . " by " . $row['last_post_author'] ?></div>
        </td>
    </tr>
    <?php
        }
    } else {
    ?>
    <tr bgColor="#fffbec">
        <td colspan="3">对不起,论坛尚在创建中……</td>
    </tr>
    <?php
    }
    ?>
    <tr>
        <td colspan="3">
            <input type="checkbox" name="selected" value="1" onclick="All(this,'selected')"/>全选/不全选
        </td>
    </tr>
    <tr>
        <td>
            <input type="button" name="del" id="del" value="删除选中项"/>
        </td>
    </tr>
</table>
</html>

数据库你就自己建,望采纳~

怎样用php中的curl模拟登陆

在我的博客《PHP cURL模拟登录与采集分析过程详解》做了详细的介绍,步骤有:

  1. 访问目标网站
  2. 打开Firebug(快捷键:F12)
  3. 清除【Cookie】
  4. 重新访问目标网站
  5. 设置【网络】为[保持]状态
  6. 填写表单,提交登录请求
  7. 利用【网络】,分析提交信息
  8. 复制请求的cURL命令
  9. 分析命令传输的参数与Cookie和前面页面响应内容的关联性
  10. 如果遇到Cookie和响应内容都无法查找到的参数,Ctrl+S保存当前页面为全部,利用文本搜索该参数的位置
  11. 利用cURL命令组装模拟登录程序 详情请参考博客内容:

如何通过php程序模拟用户登录

模拟用户可以用php的curl的post,例如:

$url = "";
$post_data = array ("username" => "uzuzuz", "password" => "12345");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
print_r($output);

具体参考:

使用php实现用户注册和登录功能制作 !急求大神帮助!

  1. 需要建立一个数据表test
id int(10) primary key not null auto_increment,
name char(4) not null,
pass char(10) not null,
age int(2),
city char(5)
  1. html页面自己写,用表单post传参
  2. .php页面,处理接收到的参数,于数据库里面的用户名和密码比对,若果正确,用Js框,输出欢迎页面,如果不多返回到登陆页面 这里告诉你一个小技巧,很多时候我们都是拿用户名和密码一起比对,如果都正确则跳转。这个地方其实我们需要防止sql注入攻击,我们可以写两条语句,当用户名正确,我们才执行下一条密码比对语句,这样可以有效防止sql的注入攻击。