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><?}?>
回复讨论(解决方案)
不知错哪了,望大神指点迷经啊
在纠正了“变量未定义”的警告后,未发现你说的现象
但不能排除是 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能接受的格式,实现输入什么格式就显示什么格式.?>
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>
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>
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><? }?>
在纠正了“变量未定义”的警告后,未发现你说的现象
但不能排除是 sql.php 或 head.php 中的问题
变量未定义是不是指的这里

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

在PHP中,trait適用於需要方法復用但不適合使用繼承的情況。 1)trait允許在類中復用方法,避免多重繼承複雜性。 2)使用trait時需注意方法衝突,可通過insteadof和as關鍵字解決。 3)應避免過度使用trait,保持其單一職責,以優化性能和提高代碼可維護性。

依賴注入容器(DIC)是一種管理和提供對象依賴關係的工具,用於PHP項目中。 DIC的主要好處包括:1.解耦,使組件獨立,代碼易維護和測試;2.靈活性,易替換或修改依賴關係;3.可測試性,方便注入mock對象進行單元測試。

SplFixedArray在PHP中是一種固定大小的數組,適用於需要高性能和低內存使用量的場景。 1)它在創建時需指定大小,避免動態調整帶來的開銷。 2)基於C語言數組,直接操作內存,訪問速度快。 3)適合大規模數據處理和內存敏感環境,但需謹慎使用,因其大小固定。

PHP通過$\_FILES變量處理文件上傳,確保安全性的方法包括:1.檢查上傳錯誤,2.驗證文件類型和大小,3.防止文件覆蓋,4.移動文件到永久存儲位置。

JavaScript中處理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。 1.??返回第一個非null或非undefined的操作數。 2.??=將變量賦值為右操作數的值,但前提是該變量為null或undefined。這些操作符簡化了代碼邏輯,提高了可讀性和性能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver Mac版
視覺化網頁開發工具

記事本++7.3.1
好用且免費的程式碼編輯器