Прежде чем предоставить подробную информацию по вопросу, я хочу сказать, что архитектура проекта, проект дизайна в трех отдельных частей
1. UI Часть, это в Pure HTM-5, JavaScript, Ajax, JSON, RestFull API, есть никакого встроенного кода, такого как PHP, jSP.
2. Сервисная часть, сервис написан на PHP, URL-адрес доступа к этим услугам через часть пользовательского интерфейса.
3. DataBase
Я не хочу, чтобы добавить любой PHP код в HTML-файлеКак передать объект сеанса с ответом JSON в php?
Теперь я хочу, чтобы создать форму входа в чистом HTML страницы, после успешной регистрации он перенаправлять Userprofile, теперь пользователь возможность обновления профиля, я хочу, чтобы основной сеанс для этого типа сценария. Я успешно могу войти и перенаправить на userProfile с информацией, которую я получаю с сервера с помощью JSON, и отправлять эту информацию в userProfile с помощью storeUserDataInSession. Теперь я хочу добавить средство обновления и выхода из системы без повторной отправки userName и пароля, пожалуйста, помогите мне в этом, я новичок в управлении сессиями.
JavaScript для Логиниться
<script type="text/javascript">
$(document).ready(function(){
var userData = {
storeUserDataInSession: function(userData) {
var userObjectString = JSON.stringify(userData);
window.sessionStorage.setItem('userObject',userObjectString)
},
getUserDataFromSession: function() {
var userData = window.sessionStorage.getItem('userObject')
return JSON.parse(userData);
}
}
$("#register-form-header").submit(function(){
var uName = $('#userName').val();
var upassd=$('#password').val();
$.ajax({
url:"http://localhost/login/login.php",
type:"POST",
dataType:"json",
data:{type:"login",uName:uName,password:upassd},
ContentType:"application/json",
success: function(response){
userData.storeUserDataInSession(response);
window.location = 'userProfile.html';
},
error: function(err){
//alert(JSON.stringify(err));
alert("fail");
window.location.href = 'error.html';
}
});
return false;
});
//loadJSON(0);
});
</script>
JavaScript для UserProfile
<script>
$(document).ready(function() {
var userData = {
storeUserDataInSession: function(userData) {
var userObjectString = JSON.stringify(userData);
window.sessionStorage.setItem('userObject',userObjectString)
},
getUserDataFromSession: function() {
var userData = window.sessionStorage.getItem('userObject')
return JSON.parse(userData);
}
}
var userDataObject=userData.getUserDataFromSession();
var id =userDataObject[0].userInfo.id;
var username =userDataObject[0].userInfo.username;
var name =userDataObject[0].userInfo.name;
var address =userDataObject[0].userInfo.address;
var mobile =userDataObject[0].userInfo.mobile;
var email =userDataObject[0].userInfo.email;
document.getElementById('welcomeUser').innerHTML="Welcome Mr"+username;
document.getElementById('userName').value=username;
document.getElementById('Name').value=name;
document.getElementById('email').value=email;
document.getElementById('mobile').value=mobile;
document.getElementById('address1').value=address;
});
</script>
Войти службы в PHP
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
include("config.php");
//session_start();
if(isset($_POST['type']))
{
if($_POST['type']=="login"){
$name = $_POST ['uName'];
$password=$_POST ['password'];
$query="SELECT id, username, address, name, mobile, email FROM admin WHERE UserName='nee' AND PASSWORD='12'";
$result=mysql_query($query);
$totalRows=mysql_num_rows($result);
if($totalRows>0){
$recipes=array();
while($recipe=mysql_fetch_array($result, MYSQL_ASSOC)){
$recipes[]=array('userInfo'=>$recipe);
}
echo json_encode($recipes);
}
}
}
else{
echo "Invalid format";
}
?>
Спасибо за ответ, я не хочу, чтобы добавить любой PHP код в HTML-файле – geeks
Нет, вы не будете добавлять любой PHP код в HTML-файле , Я никогда этого не говорил. Вы будете писать API-интерфейсы REST только в PHP, которые возвращают ответ JSON для использования JavaScript на стороне браузера. –
Не могли бы вы подробнее рассказать об этом. – geeks