本文目录一览:
- 用PHP做登陆注册页面
- 怎样用php中的curl模拟登陆
- 如何通过php程序模拟用户登录
- [使用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模拟登录与采集分析过程详解》做了详细的介绍,步骤有:
- 访问目标网站
- 打开Firebug(快捷键:F12)
- 清除【Cookie】
- 重新访问目标网站
- 设置【网络】为[保持]状态
- 填写表单,提交登录请求
- 利用【网络】,分析提交信息
- 复制请求的cURL命令
- 分析命令传输的参数与Cookie和前面页面响应内容的关联性
- 如果遇到Cookie和响应内容都无法查找到的参数,Ctrl+S保存当前页面为全部,利用文本搜索该参数的位置
- 利用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实现用户注册和登录功能制作 !急求大神帮助!
- 需要建立一个数据表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)
- html页面自己写,用表单post传参
- .php页面,处理接收到的参数,于数据库里面的用户名和密码比对,若果正确,用Js框,输出欢迎页面,如果不多返回到登陆页面 这里告诉你一个小技巧,很多时候我们都是拿用户名和密码一起比对,如果都正确则跳转。这个地方其实我们需要防止sql注入攻击,我们可以写两条语句,当用户名正确,我们才执行下一条密码比对语句,这样可以有效防止sql的注入攻击。