如果我检查remember me
(具有有效的用户名和密码),它正在工作,但如果我想在没有检查remember me
的情况下登录,那么它不工作。此外,如果我检查remember me
(有效的用户名和无效的密码),它不工作。错误信息是:
致命错误:在C:'xampp'htdocs'new'tree'login.php第48行中,允许的内存大小为134217728字节已耗尽(试图分配7168字节)
如果我给出无效的用户名和密码,那么它不会显示任何错误消息。但我试着传达信息。我的代码如下:
login。
<?php
require_once( 'functions.php');
if(loogedin())
{
header("Location: admin_dashboard_view.php" );
exit();
}
if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=$_POST['password'];
$remember = isset($_POST['remember']);
if($username && $password)
{
$login=mysql_query("SELECT * FROM admin WHERE username = '$username'");
while($row=mysql_fetch_assoc($login))
{
$db_password = $row['password'];
if($password==$db_password)
$loginok=TRUE;
else
$loginok=FALSE;
if($loginok==TRUE)
{
if($remember=="on")
setcookie("username",$username,time()+7200);
else if($remember==" ")
$_SEESION['username']=$username;
header('location: admin_dashboard_view.php');
exit();
}
else
{
include 'login.php';
echo'<font color="red">Try again,User Name and Password not matched !</font>';
}
}
}
else
{
include 'login.php';
echo'<font color="green">Try again,User Name and Password not matched !</font>';
}
}
function.php
<?php
session_start();
include 'connect.php';
function loogedin()
{
if(isset($_SESSION['username']) || isset($_COOKIE['username']))
{
$loogedin=TRUE;
return $loogedin;
}
}
我是php的新手。请帮助我显示错误和解决方案
编辑php.ini
文件。将memory_limit
的值设置为-1。错误信息应该消失。
这不是一个永久的解决方案,但你需要监视什么已经消耗了你的资源。
也关闭你的连接一旦你的查询完成,不要使用mysql_*
函数。使用mysqli_*
或PDO
代替。