说了的啊,就让你编写三个文件
postphp 文件
indexhtml 文件
displayinc文件
就是把上面的代码分别复制到记事本中在按上面的文件名保存
在放到你的网站目录下就可以了
这是一个简单的留言本,目前还没有后台管理程序。如果哪位高手能补上,那就太好了。
演示在>
登录时
用$_SESSION保存下
例如$_SESSION['user']="$user";
管理员登录时再写个$_SESSION['username'];
在留言后边加上
<php
if(isset($_SESSION['username'])
||
$_SESSION['user']==$username){
'<a
href="updatephpid='$row['id']'">修改</a>';>
这样只有登录的管理员才能看到这个修改
并且能修改
然后在updatephp写更新 *** 作
删除一样的
我来回答:
分析:
留言板代码判断是否登录的方法是判断是否有$_GET['username']的传值,那么从这一点作为突破口来检查你的程序,就很快会发现问题。
在你留言板的代码中,验证是否登录也确实只对$_GET['username']进行了判断,那么这个问题便好解决了。
问题究竟出在哪里呢?其实你想错了,没有出在留言板上,而是出在了你的登录页面:
你也说了,如果将action改为xinliuyanphp,就会直接可留言,那么就证明你的表单和提交,也就是form代码部分是好用的。
一改为向本页提交,问题就来了,就证明问题在你通过js代码转向xinliuyanphp时,并没有将值传给xinliuyanphp。
你下面这段代码(我从你程序中截取一段,你自己看看是哪里,相信你自己写的代码会很好找):
if (!empty($_GET['pass'])&&$pass==$_GET['pass']&&!empty($_GET['username'])){
echo "成功登录,页面跳转中,请稍候……";
echo "<script language=\"javascript\">";
echo "locationhref=\"xinliuyanphp\";"; //看到这一行了吗?如果在这里跳转后,URL中根本就没有任何的username传值,怎么会“登录”呢?
echo "</script>";
}
下面把你的代码修改完成,你再测试一下:
if (!empty($_GET['pass'])&&$pass==$_GET['pass']&&!empty($_GET['username'])){
echo "成功登录,页面跳转中,请稍候……";
echo "<script language=\"javascript\">";
echo "locationhref=\"xinliuyanphpusername=" $user "\";";
echo "</script>";
}
-----------------------------------------
相信通过以上的改动,你的程序应该可以达到你预想的效果了。可以你的程序却存在一些问题。
==========================================
问题、提示与建议:
1 或许这仅仅是一个小公司或个人网站的留言板,但这套留言板存在极大的安全隐患:
11 在用户输入的表单传值时,没有经过任何过滤就直接供数据库使用,很容易让黑客对你的网站进行sql注入攻击。
12 你采用的用户登录记录方式仅仅是判断有没有关于username的get传值,没有session或cookie记录,这样对于稍微懂得一点web语言的人来说,你的登录系统形同虚设。
13 可以试想,我在你留言板页面的域名后加上:“username=pp”,我就等同于登录了。解决方案是,在留言板页面对该用户的资料进行再次验证,或把验证登录的程序转到留言板页面上。
2 如果你希望做好留言系统,建议你搜索一下:“php登录系统”,对相关知识进行一下补充,引入session或cookie登录方式,否则如果你只将这段代码发布到你的网页上,你的网站真可谓巍巍可及。
3 好了,基本就是这些,有其它问题欢迎百度hi
以上就是关于用PHP做留言板全部的内容,包括:用PHP做留言板、求php语言编写的留言板源码!!!!!!!!!、关于PHP删除和修改留言板留言功能的代码,急等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)