Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP5 Как залогинить пользователя чтоб он остался на той же странице ?

276
14 ноября 2007 года
Rebbit
1.1K / / 01.08.2005
Форма для входа пользователя в контейнере, который отображается на каждой странице. Запрос от нее пойдет на скрипт, который проверит пароль и запишет чтото в кукисы. Надо остатся на той же странице, но ее придется перегрузить потому что в зависимости от того залогинен пользователь или нет будут присутсвовать дополнительные елементы.

Думал использовать $_SERVER['REQUEST_URI'] на который пойдет редирект после входа на сайт. Ето мне сбережет GET-параметры, но что делать с постом ?
К примеру есть форма для поиска. Параметры поиска передаютс постом и по них генерим результаты поиска. Если я просто сделаю редирект на $_SERVER['REQUEST_URI'] пост запрос пропадет и результаты поиска вместе с ним.

Можно както решить проблему без изменения метода передачи параметров на ГЕТ ?
Или может я вообще туплю и не вижу как проблему решить ? Или (что самое худшее) у меня плохо сделана структура ?
15K
14 ноября 2007 года
hel
78 / / 10.11.2007
А если использовать сессии для сохранения поискового запроса?
276
14 ноября 2007 года
Rebbit
1.1K / / 01.08.2005
Страница поиска не одна такая :(. Не охота все в сесию пихать. Но наверное придется. Пошоже я тут на грабли наступил.
12
14 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Ах это избитое слово AJAX... ;)
251
15 ноября 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: alekciy
Ах это избитое слово AJAX... ;)


Именно. Например:
Код странички:
ajaxtest.html
[HTML]
<script language="javascript" type="text/javascript">
function ajax(url, id) {
var req = false;
try {
req = new XMLHttpRequest();
} catch(e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
document.getElementById(id).innerHTML = req.responseText;
} else {
alert("Error in AJAX!");
}
}
}
req.open("GET", url, true);
req.send(null);
}
}

function filtrateit(el){
ajax('ajaxtest.php?words='+el.value,'filtertext');
}
</script>
<p>Просто текст</p>
<div id="mytext">Непросто текст :)</div>
<input type="text" id="filter" onKeyDown="java script: return filtrateit(this)" />
<div id="filtertext"></div>
<input type="button" value="AJAX is great!" onClick="java script: ajax('ajaxtest.php?id=6','mytext'); return true;" />
[/HTML]
Код скрипта, с которого будет получаться доп. инфа+запись в куки (и т. д.)
ajaxtext.php:

 
Код:
<?
echo "Value is: ".$_GET["id"];
if (isset($_GET["words"]) && $_GET["words"]!="") {
//а можно делать выборку, как делает гугля, mysql_query("SELECT thetext FROM basename WHERE thetext LIKE '".$_GET["words"]."%'");//без проверки на SQL-INJ
echo "Answer: ".$_GET["words"]."<br />";
}
?>

Можно (имхо, нужно) заюзать не только ГЕТ, но и ПОСТ.
PS. могут быть ошибки - набросал по-быстрому, но, имхо, смысл понятен. ;)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог