php和html代码混写,php运行错误

原创
2016-06-23 13:49:25 741浏览

新手,刚开始代码写出来时什么问题都没有,结果今天再浏览时就出现下面的状况,是哪里错了呢?
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]
以下是代码:
nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



用户登陆



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($_COOKIE['username']!=""){
echo "value='".$username."' ";
}
?>
echo "/>";
?>




if($_COOKIE['pwd']!=""){
echo "value='".$pwd."' ";
}
?>
echo "/>";
?>













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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。