如果我检查remember me
(使用有效的用户名和密码)它正在运行,但如果我想在未选中remember me
的情况下登录,那么它就不起作用了。此外,如果我检查remember me
(使用有效的用户名和密码无效),它将无法正常工作。错误消息是:
致命错误:第48行的C:\ xampp \ htdocs \ new \ tree \ login.php中允许的内存大小为134217728个字节(尝试分配7168个字节)
如果我提供无效的用户名和密码,那么它不会显示任何错误消息。但我试图表明信息。我的代码如下。
的login.php
<?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新手。请帮我展示错误和解决方案。
答案 0 :(得分:0)
修改您的php.ini
文件。将memory_limit
值设置为-1。错误消息应该消失。
但这不是一个永久性的解决方案,您需要监控消耗资源的内容。
在查询完成后也请关闭您的连接,并且不要使用mysql_*
功能。请改用mysqli_*
或PDO
。