我的网站在我的XAMPP localhost中完美运行,我尝试将其上传到免费托管服务器进行测试,但我遇到了这些错误,我不知道如何修复它们,请帮忙。
session.php用于仅登录用户可以看到的页面,如果在未登录时尝试转到例如dashboard.php,页面将重定向到login.php
错误1:
注意:未定义的索引:第6行的/public_html/session.php中的login_user 回去
错误2:
警告:无法修改标题信息 - 已在第15行的public_html / session.php中发送的标题(在public_html / session.php:6处开始输出)
这是我的session.php
<?php
include('db.php');
$sql="SELECT * FROM member where mem_id=$loggedin_id";
$result=mysqli_query($db,$sql);
?>
<?php
while($rows=mysqli_fetch_array($result)){ //THIS IS LINE 41
?>
错误3:
警告:mysqli_fetch_array()要求参数1为mysqli_result,第41行/public_html/dashboard.php中给出布尔值
这是我的dashboard.php
<?php
// close while loop
}
?>
<?php
// close connection;
mysqli_close($db);
?>
如果您注意到第41行中的空心括号,我的信息中心页面底部会显示php代码:
struct ProductSize {
//Label for product information
var price : Float
var sizeId : Int
var size : Int
var productId : Int
//computed Value
var sizeString : String
init(json: JSON) {
self.price = json["price"].floatValue
self.sizeId = json["id"].intValue
self.size = json["size"].intValue
self.productId = json["product_id"].intValue
//computed value
self.sizeString = self.sizeDescription(size: self.size)
}
//helper function
func sizeDescription(size:Int) -> String{
switch size {
case 2:
return "small"
case 3:
return "medium"
case 4:
return "large"
default:
return "unknown"
}
}
我真的不知道这是否有必要,因为我只是在线获取其他公共和开源php代码的想法。
答案 0 :(得分:0)
错误:1
检查session
是否设置了login_user
,然后将其分配给变量。
if(isset($_SESSION['login_user'])) // Check for session is set or not
{
$user_check = $_SESSION['login_user']; //THIS IS LINE 6
}
错误:2
请确保您在<?php
session.php
之前未写过任何内容或任何代码。
如果有,请删除。此外,comment
之前不应有<?php
的任何代码。
错误:3
该查询失败并返回 false 。
将其放在mysqli_query()
之后,看看发生了什么。
if (!$result) {
printf("Error: %s\n", mysqli_error($db));
exit();
}
了解更多信息:
答案 1 :(得分:0)
Notice: Undefined index: login_user in /public_html/session.php on line 6 Go back
这意味着在$ _SESSION中,未定义“login_user”。因此,根据您的逻辑,您可能希望执行类似
的操作$user_check = isset($_SESSION['login_user']) ? $_SESSION['login_user'] : '';
修复第一个错误后,应修复第二个错误。
第三个错误:Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /public_html/dashboard.php on line 41
这意味着您的查询失败。也许是因为没有设置$ loggedin_id或者出于其他原因(检查mysqli_error(http://www.php.net/manual/en/mysqli.error.php)你可能想要修复它,并且为了实践,你应该在做其他任何事情之前检查它。 示例:
if ($result) {
while($rows=mysqli_fetch_array($result)){
答案 2 :(得分:0)
他们不是错误..他们是通知和警告!!!
我假设您在本地xamp php_ini设置中可能有错误设置:
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING
并且在托管该设置的免费应用中可能只有error_reporting = E_ALL
。
因此,只需在本地和远程计算机上交叉检查php.ini文件,将其设置为相同,然后在托管之前调试错误或警告!