#php #jquery #session
#php #jquery #сессия
Вопрос:
Я использую простой скрипт на php для регистрации сеанса «myusername» на single.php а затем, используя этот сеанс на custom.php . Я хочу преобразовать этот скрипт в jQuery, чтобы вся страница (single.php ) не будет загружаться.
php-код на single.php является:
if(isset($_POST['submit1'])){
session_register("myusername");
}
else{
echo 'other user';
}
php-код на custom.php является:
<?php
session_start();
if(!session_is_registered(myusername)){
//redirect
}
?>
Проблема в том, что все это занимает много времени по мере загрузки страницы. Я также преобразовал форму в jQuery и перенаправление, но проблема связана только с созданием сеанса.
Я заменил приведенный выше код php на этот код jQuery, единственная проблема — создание сеанса:
$(document).ready(function() {
$('#submit1').click(function() {
var pass = $('#ppassword').val();
if ( pass == 'anything') {
var url = "http://www.ididthisfilm.com/lex_tmp2";
$(location).attr('href',url);
// I want to create session here in jQuery
} else {
alert('Wrong Password');
return false;
}
});
});
Комментарии:
1. Javascript не имеет прямого доступа к суперглобальным файлам PHP, поэтому вы не можете «конвертировать» PHP-код в javascript. Вы, конечно, можете использовать ajax для запуска PHP-кода без перезагрузки страницы.
2. Перенаправление — это не проблема, которая работает, но создание сеанса в jquery и использование на другой странице — это мой вопрос!
3. Опять же, вы используете сеансы PHP, и jQuery не имеет прямого доступа к ним. Если вам просто нужно сохранить что-то, что не обязательно должно быть безопасным для каждого сеанса, вы можете использовать sessionStorage или плагин в ответе ниже.
4. Страница не будет перенаправляться, если вы используете AJAX. Также, пожалуйста, отметьте user в своем комментарии, если ваш комментарий предназначен для кого-то конкретного. @user3739733
5. Любой может посмотреть исходный код и узнать пароль
'anything'
; или просто отключить JS. JS запускается на клиенте, поэтому пользователи имеют полный контроль, и вы не можете навязать им пароль. Вы должны сделать это на стороне сервера.