公选网站作业4_2.php

时间:2024-01-10 09:47:50

序:

  此实验的功能是只有已经登陆或者已经注册的用户才有发表留言的资格,否则只能够浏览留言。

1.  主要文件:

4_2login.html// 登陆的主页面

 4_2login.php  //处理登陆信息,验证用户是否登陆正确。

4_2register.html  //注册的页面

4_2register.php  //处理注册的程序。

coonectfig.php  //配置信息。

4_1.php    //用户留言信息。

2.sql 在已有的数据库里创建user表,id,username,password三个字段

  create table username(
id int() not null auto_increment,
username varchar(),
password varchar(),
primary key(id)
);

3 connectfig.php 数据库配置文件

 <?php
/*
*
* @Authors peng--jun
* @Email 1098325951@qq.com
* @Date 2015-05-17 10:53:44
* @Link http://www.cnblogs.com/xs-yqz/
* @version $Id$
==========================================
*/
header("Content-type: text/html; charset=UTF-8");
$DBHOST = 'localhost';
$DBNAME = 'liuyanban';
$USER = 'root';
$PWD= '';
@$conn = mysql_connect($DBHOST,$USER,$PWD) or die ( "连接数据库失败" );
mysql_select_db ( $DBNAME, $conn ) or die ( "失败" );
mysql_query ( "set names utf8;" );//设置字符集编码
?>

4  4_2register.html文件信息

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户登陆留言板</title>
<link rel="stylesheet" type="text/css" href="css/4_1.css">
<script type="text/javascript">
windoe.onload=function(){
var password = document.getElementById('pwd');
var password1 = document.getElementById('pwd1');
if (!(password.value==password1.value)) {
alert("密码前后不一致");
return false;
}
}
</script>
</head>
<body>
<div id="list">
<form action="4_2register.php" method="post" name="login" onsubmit="check()">
姓 &nbsp;名:<input type="text" name="user">
<p></p>
密 &nbsp;码:<input type="password" name="pwd" id="pwd">
<p></p>
确认密码:<input type="password" name="pwd1" id="pwd1">
<p></p>
<input type="submit" name="submit" value="提交" class="button">
<a href="4_2register.html">注册</a>
<a href="4_2login.html">登陆</a>
</form>
</div>
</body>
</html>

5 . 4_2register.php处理注册页面的信息

 <?php
/*
*
* @Authors peng--jun
* @Email 1098325951@qq.com
* @Date 2015-05-17 14:58:05
* @Link http://www.cnblogs.com/xs-yqz/
* @version $Id$
==========================================
*/
error_reporting(E_ALL ^ E_NOTICE);
header("Content-type: text/html; charset=UTF-8");
SESSION_START();
include 'include/connectfig.php';//引入头文件
if (isset($_POST['submit'])){
//sql语句
$username = $_POST['user'];
$pwd = $_POST['pwd'];
$q="INSERT INTO user(id,user,pwd)VALUES('','$username','$pwd')";//注意:字段需要打单引号
//执行SQL语句
if(mysql_query($q)){
$_SESSION['logined']=; //判断是否已经登录的依据。
$_SESSION['user']=$username; //记录当前登录用户。
echo "
<script>
document.write('注册成功,页面正在为你跳转');
setTimeout(function(){window.location.href='4_1.php';},);
</script> ";//如果注册成功 使用js 1秒后跳转到界面;
}else{
echo "<script>
           document.write('注册失败');
setTimeout(function(){window.location.href='4_2register.html';},);
</script>";//注册失败,1s种返回到注册页面
};
}
mysql_close($conn);//关闭数据库
?>

6  4_2login.html  //登陆页面

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户登陆留言板</title>
<link rel="stylesheet" type="text/css" href="css/4_1.css">
</head>
<body>
<div id="list"> <form action="4_2login.php" method="post" name="login">
姓 &nbsp;名:<input type="text" name="user">
<p></p>
密 &nbsp;码:<input type="password" name="pwd">
<p></p>
<input type="submit" name="submit" value="提交" class="button">
<a href="4_2register.html">注册</a>
<a href="4_2login.html">登陆</a>
</form> </div>
</body>
</html>

7  4_2login.php  //登陆页面的处理

 <?php
/*
*
* @Authors peng--jun
* @Email 1098325951@qq.com
* @Date 2015-05-17 14:58:05
* @Link http://www.cnblogs.com/xs-yqz/
* @version $Id$
==========================================
*/
error_reporting(E_ALL ^ E_NOTICE);
header("Content-type: text/html; charset=UTF-8");
session_start();
include 'include/connectfig.php';//引入头文件
if (!isset($_POST["submit"])){
exit("错误执行");
}
$username = $_POST['user'];
$pwd = $_POST['pwd'];
if ($username && $pwd){
$sql = "SELECT * FROM user WHERE user = '$username' AND pwd = '$pwd'";//检测数据库是否有对应的username和password的sql
$result = mysql_query($sql);//执行sql语句
$rows = mysql_num_rows($result);//返回一个数值
if($rows){//0 false 1 true
$_SESSION['logined']=; //判断是否已经登录的依据。
$_SESSION['user']=$username; //记录当前登录用户。
header("refresh:0;url=4_1.php");//如果成功跳转至4_1.php页面
exit;//跳转成功之后就关闭此页面。
}else{
echo "用户名或密码错误,将返回登陆界面";
echo "
<script>
setTimeout(function(){window.location.href='4_2login.html';},);
</script> ";//如果错误使用js 1秒后跳转到登录页面重试;
}
}
?>

8 留言板页面

 <?php
/*
*
* @Authors peng--jun
* @Email 1098325951@qq.com
* @Date 2015-05-17 10:51:56
* @Link http://www.cnblogs.com/xs-yqz/
* @version $Id$
=====================================================
*/ error_reporting(E_ALL ^ E_NOTICE);
include 'include/connectfig.php';//引入头文件
session_start();
//检测是否登录
if(isset($_SESSION['logined']) && $_SESSION['logined']===true){
//$_SESSION['logined']有设置,并且值为真,表示已经登录
//echo "当前登录用户是: ".$_SESSION['user'];
}
if($_POST['submit']){
/*$user=$_POST['user'];
if ($user=='') {
echo "<script>alert("你没有登陆,请先登陆!")</script>";
}*/
//sql语句
$sql="insert into message(id,user,title,content,lastdate)values('','$_SESSION[user]','$_POST[title]','$_POST[content]',now())";
//执行sql语句
mysql_query($sql);
}
?> <!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>简易留言板</title>
<link rel="stylesheet" type="text/css" href="css/4_1.css">
</head> <body>
<div id="div1"> <form method="post" id="form" name="myform" action="" onsubmit="Check();">
<!-- 用户:<input type="text" size="" name="user"><br> -->
标题:<input type="text" name="title"><br>
内容:
<textarea name="content" cols="" rows="" name="content"></textarea><br>
<input type="submit" name="submit" value="发布留言" />
<A href="4_2login.html">返回登陆</A>
</form> <table cellpadding="" cellspacing="" >
<?php
$sql1 = "select * from message order by id desc";//按照id倒叙排列
$query = mysql_query($sql1);
while ($rows = mysql_fetch_array($query)) {
?>
<tr bgcolor="#eff3ff">
<td><b>用户:</b><?php echo $rows['user'];?> <b>标题:</b><?php echo $rows['title'] ;?> <b>发布时间:</b><?=$rows['lastdate'];?>
</td>
</tr>
<tr bgColor="#ffffff">
<td><b>内容:</b><?php echo $rows['content'];?></td>
</tr>
<?php
}
?>
</table>
</div>
<script type="text/javascript">
/*function Check() {
if (mysorm.user.value=="") {
alert("用户名都不填写,你也真够懒的");
myform.user.focus();
return false;
};
if (myform.title.value.length<2) {
alert("标题不能少于两个字符");
myform.title.focus();
return false;
};
if (myform.content.value="") {
alert("必须要填写留言信息");
myform.content.focus();
return false;
};
}*/
</script>
</body>
</html>

OK 至此表示所有的页面程序代码就这样愉快的写完了,当然样式方面没有做多少的渲染。今天奖励自己一个鸡蛋。