ホームページ >バックエンド開発 >PHPチュートリアル >新人が書いた掲示板のログイン コードを教えてください。ログインするにはログインを 2 回クリックする必要があり、ログアウトするにはログアウトを 2 回クリックする必要があるのはなぜですか?
新人が書いた PHP コード
新人が書いたメッセージ ボードのログイン コードです。ログインするときにログインを 2 回クリックする必要があるのはなぜですか? 終了するのに 2 回クリックする必要があるのはなぜですか?問題がありましたら、よろしくお願いします。コードは次のとおりです:<?phpinclude("Sql.php");if ($_GET[out]){ setcookie("cookie","out"); echo "<script language=\"javascript\">localhost.href='login.php';</script>";}if ($_POST[id]=='xxx') { $pw=md5($_POST[pw]); if($pw=='e1bfd762321e409cee4ac0b6e841963c') { setcookie("cookie","ok"); echo "<script language=\"javascript\">localhost.href='login.php';</script>"; } }include("Head.php");if ($_COOKIE['cookie']!='ok'){?><SCRIPT language=javascript>function Checklogin() { if (myform.id.value=="") { alert ("请填写登陆名"); myform.id.focus(); return false; } if (myform.pw.value=="") { alert ("密码不能为空"); myform.pw.focus(); return false; } }</SCRIPT> <form action="" method="post" name="myform" onsubmit="return Checklogin();"> ID:<input type="text" name="id" ><br> PW:<input type="password" name="pw"> <input type="submit" name="submit" value="登陆" > </form><?}else{?> <a href='?out=login'>退出</a><?}?>
どこで間違ったのか分かりません、神が私に何らかの導きを与えてくれることを願っています
「変数が定義されていません」という警告を修正した後、あなたが指摘した現象は見つかりませんでした
しかし、問題が sql.php または head.php にある可能性は否定できません
インクルード ファイルを投稿して、異常があるかどうかを確認してください。
インクルードファイルを投稿して異常がないか確認してください
Sql.php ファイルコード:
<?php/*CREATE TABLE `message` ( `id` tinyint(1) NOT NULL auto_increment, `user` varchar(25) NOT NULL, `title` varchar(50) NOT NULL, `content` tinytext NOT NULL, `lastdate` date NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;*/$conn=mysql_connect("localhost","root","") or die ("数据库错误");mysql_select_db("bbs",$conn);mysql_query("set names 'GBK'"); //中文编码function htmtocode($content) { $content = str_replace("\n","<br>",str_replace(" "," ",$content)); return $content; }//把输入的空格跟换行用str_replace("\n","<br>",str_replace(" "," ",$content))替换成PHP能接受的格式,实现输入什么格式就显示什么格式.?>
<head><meta http-equiv="Content-Type" content="text/html";charset="gb2312"><title></title><link href="images/css.css" rel="stylesheet" type="text/css"><b><a href="Textbook.php">添加留言</a> | <a href="List.php">浏览留言</a> | <a href="login.php">登陆</a> </b><hr size=1>
<?phpinclude("Sql.php");//if ($_POST['submit'])if (isset($_POST['submit'])) //注一定用(isset($_POST['submit']))因为它是判断 submit的数据提交没有.{ $sql="insert into message(id,user,title,content,lastdate)values('','$_POST[user]','$_POST[title]','$_POST[content]',now())"; mysql_query($sql); echo "<script language=\"javascript\">alert('添加成功');history.go(-1)</script>"; }include("Head.php");?><SCRIPT language=javascript>function CheckPost(){ if (myform.user.value=="") { alert("用户名不能这空,请填写用户名"); myform.user.focus(); return false; } if (myform.title.value.length<5) { alert("标题不能少于5个字符"); myform.title.focus(); return false; } if (myform.content.value.length<8) { alert("内容不能少于8个字节"); myform.content.focus(); return false; } }</SCRIPT><form action="Textbook.php" method="post" name="myform" onsubmit="return CheckPost();"> <!--注:这里的action="Textbook.php"是定就是当前的文件名-->用户:<input type="text" size="10" name="user"><br>标题:<input type="text" name="title"><br>留言内容:<br><textarea name="content" rows=20 cols=30></textarea><br><input type="submit" name="submit" value="提交留言"></form>
<?include("Sql.php");include("Head.php"); $sql="SELECT * from message order by id desc"; //order by id desc 倒序排列 $query=mysql_query($sql); while($row=mysql_fetch_array($query)){?><table width=500 border="1" align="center" cellpadding="5" cellspacing="2" bgcolor="#add3ef"><tr bgcolor="#eff3ff"><td bgcolor ="eee3ff">ID序列:<?=$row[id]?></td> <td bgcolor ="eff3ff">标题:<?=$row[title]?></td> <td bgcolor ="#aeeffc">用户:<?=$row[user]?></td> <td bgcolor ="#ffffff">内容:<? echo htmtocode($row[content]);?></td></tr></table><? }?>
「変数が未定義」の警告を修正した後、ご指摘の現象は見つかりませんでした
しかし、sql.php または head.php の問題である可能性は否定できません
未定義の変数はここを参照していますか e937833a07eae465b19eeaf20f5e79balocalhost.href='login.php';2cacc6d41bbb37262a98f745aa00fbf0"
}
if ($_POST[id]=='xxx')
{
$pw =md5($_POST[pw]);
if($pw=='e1bfd762321e409cee4ac0b6e841963c')
echo "}}
localhost.href = 'login.php'; f = 何を
すべて localhost は場所である必要があります