【发布时间】:2017-12-04 04:31:37
【问题描述】:
当我在本地服务器上工作时,它不会引发任何问题,但在线它不会在登录后重定向用户,
我是一个初学者,并搜索了它无法正常工作的任何可能原因,并且可能有人已经以正确的方式回答了这个问题......
登录.php
<?php
require_once 'header.php';
$error = $user = $pass = "";
if (isset($_POST['user']))
{
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
if ($user == "" || $pass == "")
$error = "<span class='melding'>Iets vergeten?</span><br>";
else
{
$result = queryMySQL("SELECT user,pass FROM members
WHERE user='$user' AND pass='$pass'");
if ($result->num_rows == 0)
{
$error = "<span class='melding'>Gebruikersnaam/Wachtwoord
is niet correct.</span><br><br>";
}
else
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
header ('Location: /index.php');
}
}
}
至于header.php
<?php
session_start();
echo "<!DOCTYPE html><html><head>";
require_once 'functions.php';
if (isset($_SESSION['user']))
{
$user = $_SESSION['user'];
$loggedin = TRUE;
$userstr = " ($user)";
}
else $loggedin = FALSE;
echo "<title>$appname</title><link rel='stylesheet' " .
"href='css/styles.css' type='text/css'>" .
"<link rel='shortcut icon' type='image/png' href='img/favicon.png'
sizes='110x100'>" .
"<link href='photouploadjquery/fileinput.css' media='all'
rel='stylesheet' type='text/css' />" .
"<script
src='http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'>
</script>" .
"<script src='photouploadjquery/fileinput.js' type='text/javascript'>
</script>" .
"<script
src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js'
type='text/javascript'></script>" .
"<script src='javascript.js'></script>" .
"</head><body>" ;
if ($loggedin)
{
echo showUserSmall($user);
}
else
{
echo
file_get_contents ("includes/header.php" );
}
提前感谢您的任何建议和帮助,
【问题讨论】:
-
它不是重定向意味着..您在页面上看到的任何错误..如果页面上没有可见内容,请检查查看源
-
第 1 步:启用正确的 PHP 错误报告,以便 PHP 可以告诉您问题所在。
-
当您使用 PHP 进行重定向时,无法执行任何先前的输出(回显、打印)。
-
queryMySQL()在下面做什么?将这些字符串连接在一起的方式几乎肯定容易受到 SQL 注入攻击,除非该函数能够以某种方式确定哪些位是参数并生成正确参数化的查询以发送到数据库。就目前而言,您的代码看起来非常容易受到黑客攻击。 -
当您遇到PHP问题时,请先查看您的
php error log
标签: php html redirect http-headers