|
|
|
|
<?php
function mod() {
$a = '';
if (isset($_COOKIE['name'])) return $_COOKIE['name'];
if (isset($_POST['go'])) {
if (!$_POST['name']) $a = 'Empty!';
else {
setcookie('name', $_POST['name']);
header('Refresh: 0; url=http://www.dev/str.php#lable');
exit ();
}
}
$a .= '<form action="http://www.dev/str.php#lable" method="post">';
$a .= '<input name="name" type="text" /><input name="go" type="submit" />';
$a .= '</form>';
return $a;
}
echo '=<br><br><br><br><br><br><br><br><br><br> <a name="lable" id="lable"></a>'.mod();
echo '<br><br><br><br><br><br><br><br><br><br>=';
?>
| При отправке пустого input name браузер прокручивает до метки.
При отправке заполненного input получаю белый экран (без исходного кода), и только после "Обновить" (ctrl+R) печатает куку, но к метке не прокручивает.
Если убрать метку из адреса в header Refresh, то работает сразу.
Как бы сделать, чтоб после отправки формы браузер и показывал сразу, и прокручивал до метки?
Спасибо | |
|
|
|
|
|
|
|
для: Yuriev
(06.04.2013 в 00:08)
| | Cookie записывается на диск тогда, когда пользователь покидает страницу, поэтому она и доступна становиться тогда "и только после "Обновить" (ctrl+R) печатает куку", то есть при повторном посещении страницы.
А якорями на странице управляет браузер, а не сервер, и ...str.php#lable браузеру не указ. | |
|
|
|
|
|
|
|
для: confirm
(06.04.2013 в 03:39)
| | confirm, можно вас попросить не писать в этой теме ибо такие "перлы"
str.php#lable браузеру не указ
я понять не в состоянии. | |
|
|
|
|
|
|
|
для: Yuriev
(06.04.2013 в 12:02)
| | Это ваши перлы, а не мои )
Вы через action хотите передать якорь для дальнейшего перенаправляения на него?
action="http://www.dev/str.php#lable" - не получите вы хеша на сервере, это навигация внутри страницы. Выполните такой пример:
<?
echo $_SERVER['REQUEST_URI'];
?>
<a href="script.php?v=1#as">GO</a>
|
При запросе страницы по ссылке, в адресной строке браузера вы увидите весь url, включая хеш якоря, а вот сервер выведет только script.php?v=1.
PS. Кстати - <a name="lable" id="lable"></a> - не обязательно, ваша форма, любой иной элемент, может иметь id="lable", это и будет якорь. | |
|
|
|