用户登录2次才能成功,请教

萬里無雲 2009-02-12 06:48:32
登录页面代码如下:

<?php
if($_GET['ok']=="login")
{
require('config.inc.php');
$username=$_POST['UserName'];
$password=md5($_POST['Password']);
$sql="select * from admin where username='$username' and password='$password'";
$result=mysql_query($sql);
$num_rows=mysql_num_rows($result);
if($num_rows)
{
$_SESSION["admin"] = "admin@#$%admin";
$_SESSION['adminuser'] = $username;

echo "<script language=javascript type=text/JavaScript>";
echo "location.href='main.php';";
echo "</script>";
}
else{
echo "<script language=javascript type=text/JavaScript>";
echo "alert('错误的用户名或密码!');";
echo "history.back(-1);";
echo "</script>";
}
}
?>


登录后首页代码如下:

<?php
@session_start();
if(isset($_SESSION["adminuser"]) && $_SESSION["admin"] == "admin@#$%admin")
{
include "config.inc.php";
}else {
echo "<script language=javascript type=text/JavaScript>";
echo "parent.location.href='login.php';";
echo "</script>";
}
?>



第一次登录会不成功又跳回了'login.php',接着登录就好了,帮忙看看代码哪里有问题呢?
...全文
172 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanchao 2009-02-14
  • 打赏
  • 举报
回复
用简单的记事本编辑一下,然后header()前不要有任何输出语句。。。
Zijian_Zhang 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wzwen 的回复:]
引用 4 楼 froole 的回复:
用得着session_start吗?

最好不要随便加这句。


我很多页面都加了这句的...影响性能吗?
[/Quote]

需要时就用,不需要不要用,SESSION是有些影响性能的。
wzwen 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 froole 的回复:]
用得着session_start吗?

最好不要随便加这句。
[/Quote]

我很多页面都加了这句的...影响性能吗?
penglewen 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 froole 的回复:]
用得着session_start吗?

最好不要随便加这句。
[/Quote]
呵呵,他里面用到了session保存,肯定要用的。
$_SESSION["admin"] = "admin@#$%admin";
$_SESSION['adminuser'] = $username;

不过位置可以换下

if($_GET['ok']=="login") {
session_start();
lonelyriver 2009-02-13
  • 打赏
  • 举报
回复
……
海诗美妆 2009-02-13
  • 打赏
  • 举报
回复
用得着session_start吗?

最好不要随便加这句。
penglewen 2009-02-13
  • 打赏
  • 举报
回复
<?php
session_start()
if($_GET['ok']=="login")
加这一句。
yctin 2009-02-13
  • 打赏
  • 举报
回复
主要就是楼上的情况
1.没开session_start();
2.转向错误
转向错误可以将转向代码改成文字出
再一步步加上转向代码就可以知道那里出问题
萬里無雲 2009-02-13
  • 打赏
  • 举报
回复
我用可以看到的编辑器的
yctin 2009-02-13
  • 打赏
  • 举报
回复
那空格或行可能是特殊字符,看不到的...
要用HEX 编辑器看
萬里無雲 2009-02-13
  • 打赏
  • 举报
回复
我改为header以后,报错
Warning: Cannot modify header information - headers already sent by (output started at d:\www\ustcori\wwwroot\admin\loginCh.php:2) in d:\www\ustcori\wwwroot\admin\loginCh.php on line 28


我查了下这个错误,说可能是前后有空行什么的,我去掉了还是不行
程序猿之殇 2009-02-13
  • 打赏
  • 举报
回复
设置session和取session的时候必须加session_start();
Zijian_Zhang 2009-02-12
  • 打赏
  • 举报
回复
登录代码:

<?php
if($_GET['ok']=="login")
{
require('config.inc.php');
session_start();//打开SESSION
$username=$_POST['UserName'];
$password=md5($_POST['Password']);
$sql="select * from admin where username='$username' and password='$password'";
$result=mysql_query($sql);
$num_rows=mysql_num_rows($result);
if($num_rows)
{
$_SESSION["admin"] = "admin@#$%admin";
$_SESSION['adminuser'] = $username;

//echo "<script language=javascript type=text/JavaScript>";
//echo "location.href='main.php';";
//echo "</script>";
//直接header
header("location: main.php");
}
else{
echo "<script language=javascript type=text/JavaScript>";
echo "alert('错误的用户名或密码!');";
echo "history.back(-1);";
echo "</script>";
}
}
?>

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧