Я создаю сайт, который как поддомен www.login.example.com
основного сайта www.example.com
. Когда пользователь входит в систему (из субдомена) имя пользователя и пароль передаются на главный сайт этого АЯКС сценария:PHP и JQuery Ajax не начальная сессия
<script>
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
function loginano() {
var div= document.getElementById('thes').value;
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
xmlhttp.open('POST', "https://example.com/sess.php", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send('username='+username+'&password='+password);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var resp = JSON.parse(xmlhttp.responseText);
if(resp.status) {
div.innerHTML = "Great";
}else {
div.innerHTML = "Nope";
}
}else{
div.innerHTML = "Wait";
}
}
}
</script>
Почтовые данные принимаются и обрабатываются этим PHP код:
<?php
header("Access-Control-Allow-Origin: *");
session_start();
$servername = "localhost";
$username = "username";
$password = "pass";
$dbname = "dbname";
$loginusername = $_POST["username"];
$loginpassword = md5($_POST["password"]);
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql="SELECT * FROM tbl_users WHERE username='$loginusername' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
\t
while($row = $result->fetch_assoc()) {
$sessionid = $row['id'];
$sessionuser = $row['username'];
\t \t $userpassword = $row['password'];
\t
}}
\t if($loginpassword == $userpassword){
$_SESSION ["sessionid"]= $sessionid;
$_SESSION ["sessionuser"]= $sessionuser;
$return_arr["status"]=1;
} else {
\t $return_arr["status"]=0; \t
}
echo json_encode($return_arr); // return value
exit();
$conn->close();
?>
Логина работы и это успешно, но сеанс не запускается. Что мне не хватает или что может быть проблемой?
Как вы узнали, что сессия не начинается? Любые ошибки? Где вы пытаетесь получить '$ _SESSION' после? – Jeff
Он не запускает сеанс, потому что я написал скрипт для проверки сеанса, здесь; –
'code' Php session_start(); if (isset ($ _ SESSION ["sessionid"])) { echo $ _SESSION ["sessionid"]. "Kk"; } else { echo "nope"; } ?> 'Code' –