編輯4:爲什麼這個問題是不是重複的鏈接的問題*解決* <PHP>會話不工作(曲奇不送?)
雖然潛在的問題竟然是一樣的鏈接的問題,我沒有收到錯誤信息標題不發送,所以我讀到的答案在這個時候對我沒有用處。因此,這個問題雖然可能過長,但有其自身的價值。
原貼
很抱歉打擾你,但經過調研兩天,我崩潰了。我會盡量提供最大量的信息。
我在做什麼:
我目前正在寫一個登錄系統,只是爲了好玩。註冊,輸入數據到數據庫中,登錄工作非常好。我主持1and1,我的數據庫也在那裏。
現在繼續前進,我想從會議開始。最初,一切似乎都很好,很簡單。
session_start();
//returns true when put into an if()
$_SESSION['id'] = //user ID read from databse
echo $_SESSION['id']; //prints out the ID just fine.
當我去另一個頁面時,我立即調用session_start();再次。 事實上,我的所有網頁開始
include 'functions.php';
$con = startup();
//statup(); is in functions.php, connects to a databse,
//calls session_start(); succesfully, then returns the connection.
的問題不應該是在功能,因爲它工作得很好,我也嘗試了連接/會話開始的事情是在每一個文件,而不是共享功能 - 沒有改變任何東西。
但是沒有一個會話變量保留值。
Cookies沒有發送
的JavaScript
可能出現的問題:警報(document.cookie中);在Firefox給我
__qca = P0-1714752251-1385128732260
鉻告訴我沒有收到餅乾,也沒有阻止。
鑑於很多人都遇到了cookie無法發送的問題,因此他們調用session_start();由於Cookie之前已發送,因此我認爲我不需要撥打有關在我的代碼中發送Cookie的任何信息。
我不知道該怎麼做。
我的主機不允許會話
是我的另一個想法。但是,我可以看到我的php_info();它告訴我:
會話設置
會話支持啓用
session.cache_expire 180
session.cookie_domain沒有價值
session.cookie_httponly關
session.co okie_lifetime 0
session.cookie_path/
session.use_cookies在
session.use_only_cookies在
session.use_trans_sid指定0
這些僅僅是線,似乎有點相關我。
所以,我從中讀到的是,會議應該工作得很好,與餅乾和東西。但是我也不太瞭解這個水平。
所以,那是我卡住了。我的代碼的所有組件工作正常,我很確定語法是正確的,據我瞭解,服務器支持會話。
哦,我也嘗試將會話路徑從/ tmp更改爲我的web空間上的一個目錄 - 它似乎沒有做任何事情,沒有數據存儲在服務器的「部分」上。
我真誠地希望我不會因爲一個過長而簡單的問題而煩惱你,因爲我在某個地方犯了一個小錯誤。我真的試圖通過兩天內搜索其他人的問題來解決這個問題。
我感謝大家的時間,耐心和幫助。
編輯:
使用關於使用error_reporting(E_ALL)的新信息;我現在收到的一般錯誤消息
警告:在session_start():不能發送會話cookie - 在頭已經發出(輸出開始/homepages/23/d315777983/htdocs/mtm/index.php:14) /homepages/23/d315777983/htdocs/mtm/functions.php on line 9
Warning:session_start():無法發送會話緩存限制器 - 已發送的頭文件(輸出開始於/ homepages/23/d315777983/htdocs/mtm /index.php:14)在上線/homepages/23/d315777983/htdocs/mtm/functions.php 9
我想我可以開始與舊的工作建議小號解決方案現在。
編輯2:
如所建議的,我添加的print_r($ _ SESSION);包括之後。
它只是打印「陣列()」(不帶引號)
我也感動的session_start返回到各個文件,調用之前functions.php的是包括在內。
它說餅乾是在第14行派 - 這在我的代碼是從字面上只是
<?php
好吧,我現在閱讀更多關於這方面的答案。非常感謝!
編輯3: 那麼,這是一些浪費時間。在functions.php結尾刪除了名爲startup()的空白字符;在任何html輸出之前,現在它完美的工作。
非常感謝大家!
很好描述。但['session_start()'](http://php.net/session_start)幾乎總是返回true;除非事先啓用['error_reporting(E_ALL)'](http://php.net/error_reporting),否則不會告知cookie問題。 – mario
哦,那改變了很多。現在回到頭文件已經發送錯誤。謝謝。 –