私はメインサーバーに設定する前にすべてをテストするサーバーを持っています。この問題は、setcookie()でクッキーを設定しているときに表示されます。クッキーはsetcookie()で設定されていません。
require '../init.php';
$user = $_POST['user'];
$pass = $_POST['pass'];
$newhash = createHash();
//LOGIN STUFF
if(strtolower($user) == strtolower($userA['user']))
{
if($pass == $userA['pass'])
{
$expiration = (time() + (24 * 60 * 60 * 365));
setcookie('session', $newhash, $expiration, '/');
$userAdd = MYSQL_::Bits("INSERT INTO users_sessions (hash,userid) VALUES ('$newhash','$userAID')");
//LOGIN STUFF
}
else
{
$datos = array('response' => 'fail','reason' => 'pass');
}
}
else
{
$datos = array('response' => 'fail','reason' => 'user');
}
header('Content-Type: application/json');
echo json_encode($datos, JSON_FORCE_OBJECT);
このコードは、ローカルホスト上で完璧に動作しますが、私は私のメインのホストにそれを置くとき、それはしていません:私はアヤックスとのセッションを設定するためにクッキーを使用してい
、コードはこれです。私はstackoverflowのすべてのこの関連記事を読んできましたが、誰も解決策を持っていません、それはクッキーの前に何もすることはできませんが、前に何もせずにクッキーを設定することは不可能だろうと言います。私は、PHPタグの前に
またはスペース。出力は、エコーのように、直接することができ
。誰かがあなたがどこかにinit.phpまたはinitを含む任意のファイルに出力を持っている
これは問題を引き起こしているとは確信していませんが、 'session'以外の名前を試しましたか?これがセッションCookieと競合していると感じています。 – icecub
'setCookie()'の前にはhtml出力がありません。なぜなら、クッキーはヘッダーの一部であり、ヘッダーはhtml出力の前に送信されなければならないからです。 –
@KIKOSoftware - それはどうやってlocalhost上で彼のために働くのですか? –