Всем здрасть, У меня возникает проблемма с возвратом на предидущую страницу. Всё из-за того, что навигация выполненна по средствам форм (выбор количества элементов на странице, фильтрация), данные из которых передаются методом POST. Так вот, если на транице ввести каке либо данные через форму, перейти на другую страницу, то в IE страница не грузится вообще(Невозможно отобразить страницу), в FF выдаётся сообщение, что на странице имеются заполненные формы, и это может привести к неприятным последствиям. С оперой всё замечательно, ей всё равно на формы, она тупо открывает всё из кэша. Подскажите пожалуйста, как мне это обойти?
К примеру такая форма... Код (Text): <form action="./?mod=<?php echo $mod;?>" method="post" name="refresh_form" id="refresh_form" style="margin:0px;"> <td valign="middle" width="120"><table border="0" width="120" cellspacing="0" cellpadding="0" height="19" style="cursor:pointer;" onclick="document.refresh_form.submit()"> <tr> <td width="9"><img src="./img/g_but_l.jpg"/></td> <td background="./img/g_but_bg.jpg" id="buttext" style="cursor:pointer;" align="center" nowrap="nowrap"><?php echo strtolower(_RENEW_);?></td> <td width="9"><img src="./img/g_but_r.jpg"/></td> </tr> </table></td> <td> </td> <td align="right"><?php echo _RECOUTPUT_BEFORE_;?> <select name="output_size" onchange="document.getElementById('refresh_form').submit();" style="width:50px;"> <?php if($output_size == 10) echo '<option value="10" selected="selected">10</option>'; else echo '<option value="10" >10</option>'; if($output_size == 25) echo '<option value="25" selected="selected">25</option>'; else echo '<option value="25" >25</option>'; if($output_size == 50) echo '<option value="50" selected="selected">50</option>'; else echo '<option value="50" >50</option>'; if($output_size == 100) echo '<option value="100" selected="selected">100</option>'; else echo '<option value="100" >100</option>'; if($output_size == 150) echo '<option value="150" selected="selected">150</option>'; else echo '<option value="150" >150</option>'; ?> </select> <?php echo _RECOUTPUT_AFTER_;?> </td> </form>
Не понял смысла "./" в этом выражении. В URL нет такого. Такое бывает только в файловых системах. У тега option есть атрибут selected, но у него нет никакого значения. И можно написать короче: PHP: <?php if (in_array($output_size, array(10, 25, 50, 100, 150))) echo '<option value="'.$output_size.'" selected>'.$output_size.'</option>'; else echo '<option value="'.$output_size.'">'.$output_size.'</option>'; ?>
To: AlexGousev Я понимаю, что этот код не пример для подражания, но проблемма сейчас в другом: "Невозможно отобразить страницу". Код будет причёсан, но приоритет у этой задачи несравненно ниже.
Не совсем в тему, но вытекая из неё: Можно ли как нить заюзать форму вот в таком виде? Код (Text): <form action="./?mod=01company" method="get" style="margin:0px;" id=filter_form style="z-index:1"> Если да, то подскажите что нет так, у меня удаляются переменные из action. Пр записи в такой форме action обратится к файлу с именем из списка DirectoryIndex, наъходящемуся в текущем каталоге. в моём случае index.php
Это то понятно, просто я думал может есть способ "дописывать" к URI в action, типа: "index.php?var1=1" => "index.php?var1=1&var2=2&var3=3"
Код (Text): php.ru/forum/ передает Smile) ну вот тем то он и славится... )))) чисто для мя вот идет жесткое распределение. между get и post все формы всегда в post передаю. акромя как здесь опять таки при реализации переходов на страницы.