我正在使用以下 php 脚本登录到我的网站,因为您可以看到脚本发布到另一个带有登录参数的 php 文件,而另一个 php 文件处理所有连接(它注册了 cookie、会话等。)我检查并登录 php 文件成功地从第一个 php 文件中获取帖子值,但不注册 cookie 或会话。我可以毫无问题地使用 Ajax.post 登录。
php 文件编号 1 -
<?php
$url = "http://myurl.org.il/login_exec.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=yarden&password=yarden");
$result= curl_exec ($ch);
curl_close ($ch);
?>
在 php 文件编号 2 中处理 cookie 和会话注册的部分 -
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['mem_id'];
$_SESSION['SESS_FIRST_NAME'] = $member['username'];
$_SESSION['SESS_LAST_NAME'] = $member['password'];
if (isset($_POST['remember'])) {
$cookie_auth = rand_string(10) . $member['username'];
$auth_key = $cookie_auth;
$auth_query = mysql_query("UPDATE member SET auth_key = '" . $auth_key . "' WHERE username = '" . $member['username'] . "'");
setcookie("auth_key", $auth_key, time() + 60 * 60 * 24 * 7, "/", "myurl.org.il", false, true);
所以简而言之 - php 文件编号 1 发布到 php 文件编号 2 登录值,php 文件编号 2 获取发布值但不注册 cookie 或会话.. 再次 - 我可以成功发布到 php 文件编号 2使用ajax,它将注册cookie。我试图搜索谷歌和stackoverflow,但我有点迷路,因为我尝试了很多答案但没有成功。谢谢你们 !:)