这是一段代码:
<?php
require_once('./includes/connection.inc.php');
session_start();
// create database connection
$connread = dbConnect('read', 'pdo');
$connwrite = dbConnect('write', 'pdo');
$komentari = 'SELECT * FROM komentariodobreni ORDER by komentarodobren_id DESC';
$kontakt = 'SELECT poruka_id, ime, prezime, email, predmet, ordinacija, poruka, DATE_FORMAT(datum, "%H:%i:%s %d. %b. %Y")
AS datum FROM kontakt ORDER by poruka_id DESC';
if (isset($_POST['slanje'])) {
$potvrdiquery = "SELECT * FROM kontrola WHERE adminname='" . $_POST["adminname"] . "' and adminpassword = '". $_POST["adminpassword"]."'";
$stmt = $connwrite->prepare($potvrdiquery )
;
// bind the parameters and execute the statement
// execute and get number of affected rows
$stmt->execute();
$OK = $stmt->rowCount();
foreach ($connread->query($potvrdiquery) as $row) {
$_SESSION['adminid'] = $row['adminid'];
$_SESSION["adminname"] = $row["adminname"];
$_SESSION["adminpassword"] = $row["adminpassword"];
}
header('Location: index.php');
}
?>
它完全适用于我的本地,但是当我将它上传到Ipage或其他服务器时,它不会注册会话变量。
答案 0 :(得分:3)
尝试重新排列 session_start(),如下所示:
<?php
session_start();
require_once('./includes/connection.inc.php');
...
并尝试一下。 connectoin.inc.php中的某些内容可能正在阻止(错误或输出)阻止 session_start()正常工作。
为了帮助调试问题,请添加错误输出,如下所示:
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', '1');
require_once('./includes/connection.inc.php');
...
答案 1 :(得分:0)
页面没有为您提供默认保存路径,您需要创建一个: 或使用根路径保存任何文件或session_save_path
像这样一个: 在代码顶部session_save_path("/home/users/xxx/xxx/ipg.website/");
NOT :
session_save_path("/home/users/xxx/xxx/ipg.website/cgi-bin/tmp");
此路径不存在 你需要创造它。
答案 2 :(得分:0)
转到服务器并打开php.ini文件,然后在php.ini中找到 session.save_path 字
您有3个类似搜索结果
session.save_path = "4;/hermes/phpsessions"
前两个结果注释(只需添加; 行首)和最后一个更改路径
session_save_path("/home/users/xxx/xxx/ipg.website/cgi-bin/tmp");
您已经设置了自己的服务器根路径
我的服务器是iPage,所以我举了我的服务器会话示例,它随服务器的不同而不同,但最后一个路径设置为原来,但设置了自己的根路径。