-3

使用我的 login.php 文件时收到警告。帮我删除这个警告......----

警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已在 /home/fundumob/public_html/app_create 中发送(输出开始于 /home/fundumob/public_html/app_create/index.php:35) /login.php 在第 1 行

 <?php session_start();?>
 <?php 
 include("lib/config.php");

 if(isset($_POST["tb_login"]))
 {
 $myusername=$_POST['log_email'];
 $myuser_password=$_POST['log_password']; 

 if(!empty($myusername) && !empty($myuser_password))  
  {
 $sql="SELECT * FROM act_member WHERE   password='$myuser_password' and               
  email='$myusername'";
$result=mysql_query($sql);
 // Mysql_num_row is counting table row
 $count=mysql_num_rows($result);
 // If result matched $myusername and $mypassword, table row must be 1 row
 if($count==1){
 $rows=mysql_fetch_row($result);
 $_SESSION['user_id']= $rows[0];
 $_SESSION['mem_id']=$rows[1];
 $_SESSION['fname']=$rows[2];
 $_SESSION['lname']=$rows[3];
 header("location:profile.php");    }
 else { 

echo "sorry you entered wrong password or email id";
}

 }
 }

 ?>
4

3 回答 3

0

尝试这个:

您忘记在标头声明后添加 exit() ...

<?php 

session_start();
include("lib/config.php");

if(isset($_POST["tb_login"])){

    $myusername=$_POST['log_email'];
    $myuser_password=$_POST['log_password']; 

    if(!empty($myusername) && !empty($myuser_password)){
        $sql="SELECT * FROM act_member WHERE   password='".$myuser_password."' and               
        email='".$myusername."'";
        $result=mysql_query($sql);
        // Mysql_num_row is counting table row
        $count=mysql_num_rows($result);
        // If result matched $myusername and $mypassword, table row must be 1 row

        if($count==1){

            $rows=mysql_fetch_row($result);
            $_SESSION['user_id']= $rows[0];
            $_SESSION['mem_id']=$rows[1];
            $_SESSION['fname']=$rows[2];
            $_SESSION['lname']=$rows[3];
            header("Location: profile.php");    
            exit(); // <-------------------- add this else the page will not redirect and you will get a header error
        }
        else { 
            echo "sorry you entered wrong password or email id";
        }

    }
}

?>
于 2012-10-30T12:37:00.000 回答
0

您不能在此处使用 session_start(),如警告中所写,/home/fundumob/public_html/app_create/index.php:35 中已经输出了一些内容

核实

于 2012-10-30T12:38:40.440 回答
0

如果您包含上面的任何其他文件<?php session_start();?>,请确保<?php session_start();?>存在于第一行的最顶层文件中。可能是您的 config.php 或您包含的其他文件。

于 2012-10-30T12:39:46.530 回答