Table des matières
回复讨论(解决方案)
Maison développement back-end tutoriel php 菜鸟写的留言板登陆代码各位大神帮我看看,为什么要点击登陆两次才能登陆,为什么要点击两次退出才能退出?

菜鸟写的留言板登陆代码各位大神帮我看看,为什么要点击登陆两次才能登陆,为什么要点击两次退出才能退出?

Jun 23, 2016 pm 02:16 PM

PHP 菜鸟写的代码

菜鸟写的留言板登陆代码各位大神帮我看看,为什么要点击登陆两次才能登陆,为什么要点击两次退出才能退出?问题出在哪里,大神帮我看看,先谢谢你了。代码如下:
<?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><?}?>
Copier après la connexion


回复讨论(解决方案)

不知错哪了,望大神指点迷经啊

在纠正了“变量未定义”的警告后,未发现你说的现象
但不能排除是 sql.php 或 head.php 中的问题

贴出你include的文件看下、看是否异样。

贴出你include的文件看下、看是否异样
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能接受的格式,实现输入什么格式就显示什么格式.?>
Copier après la connexion

Head.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>
Copier après la connexion

Textbook.php文件代码:
<?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>
Copier après la connexion

List.php文件代码:
<?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><? }?>
Copier après la connexion

在纠正了“变量未定义”的警告后,未发现你说的现象
但不能排除是 sql.php 或 head.php 中的问题 
变量未定义是不是指的这里 

setcookie("cookie","out");
改成 setcookie("cookie","out",time()-3600);

-------------
setcookie("cookie","ok");
改成 
setcookie("cookie","ok",time()+3600);

setcookie("cookie","out");
改成 setcookie("cookie","out",time()-3600);

-------------
setcookie("cookie","ok");
改成 
setcookie("cookie","ok",time()+3600); 
 我改了还是要点击两次才能登陆,要点击两次才能退出.
setcookie("cookie","out",time()-3600);
  echo "<script>localhost.href='login.php';</script>";
}
if ($_POST[id]=='xxx')
  {
   $pw=md5($_POST[pw]);
   if($pw=='e1bfd762321e409cee4ac0b6e841963c')
       {
         setcookie("cookie","ok",time()+3600);
          echo "<script>localhost.href='login.php';</script>";
       }
  }

localhost.href='login.php';

不是应该是 location.href=么

所有的localhost都应该是location

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) 11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) Mar 03, 2025 am 10:49 AM

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Introduction à l'API Instagram Introduction à l'API Instagram Mar 02, 2025 am 09:32 AM

Introduction à l'API Instagram

Travailler avec les données de session Flash dans Laravel Travailler avec les données de session Flash dans Laravel Mar 12, 2025 pm 05:08 PM

Travailler avec les données de session Flash dans Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React Construisez une application React avec un Laravel Back End: Partie 2, React Mar 04, 2025 am 09:33 AM

Construisez une application React avec un Laravel Back End: Partie 2, React

Misque de réponse HTTP simplifié dans les tests Laravel Misque de réponse HTTP simplifié dans les tests Laravel Mar 12, 2025 pm 05:09 PM

Misque de réponse HTTP simplifié dans les tests Laravel

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Mar 14, 2025 am 11:42 AM

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

12 meilleurs scripts de chat PHP sur Codecanyon 12 meilleurs scripts de chat PHP sur Codecanyon Mar 13, 2025 pm 12:08 PM

12 meilleurs scripts de chat PHP sur Codecanyon

Notifications à Laravel Notifications à Laravel Mar 04, 2025 am 09:22 AM

Notifications à Laravel

See all articles