会话适用于localhost但不适用于服务器(Ipage等)

时间:2014-01-23 06:48:49

标签: php mysql session

这是一段代码:

 <?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或其他服务器时,它不会注册会话变量。

3 个答案:

答案 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,所以我举了我的服务器会话示例,它随服务器的不同而不同,但最后一个路径设置为原来,但设置了自己的根路径。