|
|
|
| Здравствуйте!
<?
echo md5($_SERVER['REQUEST_URI']);
$fp = fopen("cashe/form_".md5($_SERVER['REQUEST_URI']).".php", 'w');
fwrite($fp, $buffer);
fclose($fp);
?>
|
Почему имя записанного файла (там где md5($_SERVER['REQUEST_URI'])) не совпадает с тем, что вывелось на экран? | |
|
|
|
|
|
|
|
для: ladan
(22.08.2012 в 18:29)
| | Потому что разные строки | |
|
|
|
|
|
|
|
для: confirm
(22.08.2012 в 18:39)
| | я читаю файл, не беря во внимание "form_". Вот он (хэш) не совпадает с тем, что выводится на экран... | |
|
|
|
|
|
|
|
для: ladan
(22.08.2012 в 18:53)
| | Я о вашем "form_", по моему, даже не заикался, я сказал, что строка под которой был записан файл и та, хеш которой вы получаете, разные, иначе быть не должно. | |
|
|
|
|
|
|
|
для: confirm
(22.08.2012 в 18:58)
| | Извиняюсь, не так понял :) Объясните пожалуйста почему так происходит,
ведь md5($_SERVER['REQUEST_URI']); при записи в файл не должен меняться, т.к URL один и тот же...
===========
Извиняюсь, все работает! У меня в середине скрипта была регулярка вырезающая часть ссылки из $_SERVER['REQUEST_URI'] | |
|
|
|
|
|
|
|
для: ladan
(22.08.2012 в 19:06)
| | >У меня в середине скрипта была регулярка вырезающая часть ссылки
Ужас. Может пора переболеть "регулярной болезнью"? | |
|
|
|
|
|
|
|
для: confirm
(22.08.2012 в 19:27)
| | но без нее скрипт не работал был :)) Не представляю програмирование без регулярок =) | |
|
|
|
|
|
|
|
для: ladan
(22.08.2012 в 20:43)
| | Что содержит этот запрос, и что именно надо убрать из него? | |
|
|
|
|
|
|
|
для: confirm
(22.08.2012 в 20:49)
| |
<?
$_SERVER['REQUEST_URI'] = preg_replace("/&ORDER_BY.+$|&page=[0-9]+/i","",$_SERVER['REQUEST_URI']);
echo "<div class='sort form'>
Сортировать:
<a href='".$_SERVER['REQUEST_URI'].""; if($_GET['ORDER_BY']=="price_max_ASC") {echo "&ORDER_BY=price_max_DESC' class='asc'";} elseif($_GET['ORDER_BY']=="price_max_DESC") {echo "&ORDER_BY=price_max_ASC' class='desc'";} else {echo "&ORDER_BY=price_max_DESC'";} echo">по цене</a>
<a href='".$_SERVER['REQUEST_URI'].""; if($_GET['ORDER_BY']=="rating_ASC") {echo "&ORDER_BY=rating_DESC' class='asc'";} elseif($_GET['ORDER_BY']=="rating_DESC") {echo "&ORDER_BY=rating_ASC' class='desc'";} else {echo "&ORDER_BY=rating_DESC'";} echo">по популярности</a>
</div>";
?>
|
Это из формы с фильтрами
Если не использовать регулярку, то в ссылку постоянно будет добавляться переменная ORDER_BY. Нужно всегда удалять (очищать) из ссылки переменную ORDER_BY, перед тем как нажать по "по цене" или по "по популярности".
Без регулярки хз как по другому делается :) | |
|
|
|
|
|
|
|
для: ladan
(22.08.2012 в 22:10)
| | За такую портянку по горизонтали да по рукам.
Когда просят строку, это не означает код ваш, а саму строку запроса. Если $_SERVER['REQUEST_URI'], это значит GET запрос, массив, и удалять надо другими функциями, а не занимается ерундой регулярной.
array_diff_key() вам в помощь. Да и слать такое в строке запроса, это жуть.
Владельцам этого форума - добавьте для тега code стили:
display: block;
overflow: auto;
|
| |
|
|
|
|
|
|
|
для: confirm
(22.08.2012 в 22:22)
| | Да и слать такое в строке запроса, это жуть.
такой сайт просто клондайк для хацкеров | |
|
|
|
|
|
|
|
для: Valick
(22.08.2012 в 22:33)
| | О чем и речь. Видимо автору по барабану - есть preg, а остальное пофигу... | |
|
|
|
|
|
|
|
для: confirm
(22.08.2012 в 22:22)
| | Спасибо, сейчас поэкспериментирую с новой функцией :) | |
|
|
|
|
|
|
|
для: ladan
(22.08.2012 в 22:38)
| | Экспериментировать не вредно, но для начала задумайтесь над тем, что вы в строке запроса передаете. Что-то мало, надо было вообще весь запрос полностью передавать - имя базы вместе с пользователем и паролем, таблицу с полями, в общем все. А то вы что-то скромничаете. ) | |
|
|
|
|
|
|
|
для: confirm
(22.08.2012 в 22:42)
| | :))) | |
|
|
|
|
|
|
|
для: ladan
(22.08.2012 в 20:43)
| | Не представляю програмирование без регулярок
любая регулярка - это дополнительная нагрузка, так что необоснованное использование регулярок - это дурной тон | |
|
|
|