php和html代碼混寫,php運行錯誤

來源:互聯網
上載者:User
新手,剛開始代碼寫出來時什麼問題都沒有,結果今天再瀏覽時就出現下面的狀況,是哪裡錯了呢?
zxcvbnm歡迎到來點擊進入首頁點擊返回重試"); } if(!isset($_POST['submit'])){ exit('非法登入!'); } $username=htmlspecialchars($_POST['username']); $pwd=MD5($_POST['pwd']); include('conn.php'); $check_user=mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn); if($result=mysql_fetch_array($check_user)){ $_SESSION['username']=$result['$username']; $_SESSION['userid']=$result['userid']; echo $username."歡迎到來點擊進入首頁"; }else{ exit("登入失敗!點擊返回重試"); } ?> 點擊進入首頁"; }else{ exit("登入失敗!點擊返回重試"); } ?> [color=#800000]
以下是代碼:




使用者登陸



session_start();
if($_GET['action'==logout]){
unset($_SESSION['username']);
unset($_SESSION['userid']);
exit('登出成功!點擊返回重試');
}
if(!isset($_POST['submit'])){
exit('非法登入!');
}
$username=htmlspecialchars($_POST['username']);
$pwd=MD5($_POST['pwd']);
include('conn.php');
$check_user=@mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn);
if($result=mysql_fetch_array($check_user)){
$_SESSION['username']=$result['$username'];
$_SESSION['userid']=$result['userid'];
echo $username."歡迎到來點擊進入首頁";
}else{
exit("登入失敗!點擊返回重試");
}
?>
點擊返回重試"); } if(!isset($_POST['submit'])){ exit('非法登入!'); } $username=htmlspecialchars($_POST['username']); $pwd=MD5($_POST['pwd']); include('conn.php'); $check_user=mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn); if($result=mysql_fetch_array($check_user)){ $_SESSION['username']=$result['$username']; $_SESSION['userid']=$result['userid']; echo $username."歡迎到來點擊進入首頁"; }else{ exit("登入失敗!點擊返回重試"); } ?> 點擊進入首頁"; }else{ exit("登入失敗!點擊返回重試"); } ?>



回複討論(解決方案)

exit("登入失敗!點擊返回重試");
}
?>
點擊返回重試"); } if(!isset($_POST['submit'])){ exit('非法登入!'); } $

怎麼看著亂七八糟的代碼啊

?>
點擊返回重試"); } if(!isset($_POST['submit'])){ exit('非法登入!'); } $username=htmlspecialchars($_POST['username']); $pwd=MD5($_POST['pwd']); include('conn.php'); $check_user=mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn); if($result=mysql_fetch_array($check_user)){ $_SESSION['username']=$result['$username']; $_SESSION['userid']=$result['userid']; echo $username."歡迎到來點擊進入首頁"; }else{ exit("登入失敗!點擊返回重試"); } ?> 點擊進入首頁"; }else{ exit("登入失敗!點擊返回重試"); } ?>
對比用的忘刪了,刪了之後瀏覽時還會出現上面一段

if($result=mysql_fetch_array($check_user)){
$_SESSION['username']=$result['$username'];
$_SESSION['userid']=$result['userid'];
echo $username."歡迎到來點擊進入首頁";
}else{
exit("登入失敗!點擊返回重試");
}
?>
點擊返回重試"); } if(!isset($_POST['submit'])){ exit('非法登入!'); } $username=htmlspecialchars($_POST['username']); $pwd=MD5($_POST['pwd']); include('conn.php'); $check_user=mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn); if($result=mysql_fetch_array($check_user))


紅色的?>多餘,去掉就可以了,有它導致它下面的代碼都成為了普通的html

你現在的代碼是什麼呀?發一篇整理後的代碼

沒用,刪了之後,還會出現這種狀況,貌似瀏覽器在識別到第一個html代碼>,就把它當做?>,結束執行了,後面的代碼才在瀏覽器中,以文字顯示

session_start();
if($_GET['action'==logout]){
unset($_SESSION['username']);
unset($_SESSION['userid']);
exit('登出成功!點擊返回重試');
}
if(!isset($_POST['submit'])){
exit('非法登入!');
}
$username=htmlspecialchars($_POST['username']);
$pwd=MD5($_POST['pwd']);
include('conn.php');
$check_user=@mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn);
if($result=mysql_fetch_array($check_user)){
$_SESSION['username']=$result['$username'];
$_SESSION['userid']=$result['userid'];
echo $username."歡迎到來點擊進入首頁";
}else{
exit("登入失敗!點擊返回重試");
}
?>

這是整個頁面的代碼?不全的吧?

頁面上顯示的應該就是你一開始發的代碼的後半部分~~整個刪掉還有問題的話,查一下緩衝,或者把代碼複製到一個測試檔案裡,運行一下,(建議直接放在伺服器工作目錄下,不要工程)用localhost來訪問,看看還出來嗎?

之前緩衝清理過了,沒用,換個檔案夾也一樣,檔案本來就是放在伺服器工作目錄下的用localhost來訪問,

以下是login.php:
if($_COOKIE['username']!=""){
$username=$_COOKIE['username'];
}
if($_COOKIE['pwd']!=""){
$pwd=$_COOKIE['pwd'];
}
?>


使用者登入


if(isset($_POST['submit']) and $_POST['submit']=="submit"){
$username=$_POST['username'];
$pwd=$_POST['pwd'];
if($_COOKIE['pwd']!=$pwd){
$pwd=MD5($_POST['pwd']);
}
if($remember!=0){
$remember=$_POST['remember'];
setCookie("username",$username,time()+$remember*3600*24);
setCookie("pwd",$pwd,time()+$remember*3600*24);
setCookie("remember",$pwd,time()+$remember*3600*24);
}
}
?>
以下是login_ok.php:
session_start();
if($_GET['action']==logout){
unset($_SESSION['username']);
unset($_SESSION['userid']);
exit('登出成功!點擊返回重試');
}
if(!isset($_POST['submit'])){
exit('非法登入!');
}
$username=htmlspecialchars($_POST['username']);
$pwd=MD5($_POST['pwd']);
include('conn.php');
$check_user=@mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn);
if($result=mysql_fetch_array($check_user)){
$_SESSION['username']=$result['$username'];
$_SESSION['userid']=$result['userid'];
echo $username."歡迎到來點擊進入首頁";
}else{
exit("登入失敗!點擊返回重試");
}
?>
以下是連結資料庫的:
$conn=@mysql_connect("localhost","root","137733") or die("l½???§°?¡".mysql_error());
mysql_select_db("hexie",$conn);
mysql_query("set character set utf8");
mysql_query("set names utf8");
?>

大概看了下沒啥錯誤
$check_user=@mysql_query("select userid from users where username ='".$username."' and pwd ='".$pwd."' limit 1",$conn);
if($result=mysql_fetch_array($check_user)){
$_SESSION['username']=$result['$username'];
$_SESSION['userid']=$result['userid'];
echo $username."歡迎到來點擊進入首頁";
}else{
exit("登入失敗!點擊返回重試");
}

只是這裡select userid from 你只查詢一個欄位,下面的$result['$username'];
就沒法用了有錯誤

這不是問題關鍵啊,
exit('登出成功!點擊返回重試');
history.back(-1);" >到這個 >截止,瀏覽器就認為php這段代碼就結束了,後面就算有錯也識別不出來了

f($_GET['action'==logout]){???
這是什麼文法?
if($_GET['action']==logout){
這又是什麼文法?

為什麼你在提問時要手寫你的代碼,而不是複製粘貼呢?

原來就是複製粘貼的,我一開始是犯了一些弱智錯誤,後來我檢查時發現又改了,現在瀏覽器預覽的效果是
點擊進入首頁";
}else{
exit("登入失敗!點擊返回重試");
}
?>

只有你“複製粘貼”的才有可能幫你找出錯誤

不是有專門的放代碼的標籤的麼 用那個複製進來 這樣看著好亂... 眼花...

session_start();
放到第一行

居然還能回複,我最近也遇到這個問題了,終於找到原因了。混合編碼尾碼名必須是.php,.html就會出現php代碼解析錯誤的問題。 在這兒看到的,OK了。 http://zhidao.baidu.com/link?url=GTeO4AmQJjdjvHXK3SrLQ5bonVuD_35RtDED1gcsu6Z4bLsJ0hBwlon8wp7aErvbNTjz9R0RP8CqQqNIXdhRyq

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.