PHP5 Как залогинить пользователя чтоб он остался на той же странице ?
Думал использовать $_SERVER['REQUEST_URI'] на который пойдет редирект после входа на сайт. Ето мне сбережет GET-параметры, но что делать с постом ?
К примеру есть форма для поиска. Параметры поиска передаютс постом и по них генерим результаты поиска. Если я просто сделаю редирект на $_SERVER['REQUEST_URI'] пост запрос пропадет и результаты поиска вместе с ним.
Можно както решить проблему без изменения метода передачи параметров на ГЕТ ?
Или может я вообще туплю и не вижу как проблему решить ? Или (что самое худшее) у меня плохо сделана структура ?
Именно. Например:
Код странички:
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. могут быть ошибки - набросал по-быстрому, но, имхо, смысл понятен. ;)