| |
|
|
| | Уважаемые коллеги.У вемя возникла проблема, над которой я бьюсь уже почти неделю. И из-за этого я не могу продолжить рабору над моим сайтом.
есть не большой код на одну страничку
<?
session_name("MYSESSION");
session_start();
if(isset($_POST['go']))
{
if((isset($_POST['Login']))&&(isset($_POST['Password'])))
{
echo "Передались данные";
}else
echo "Передали что-то не понятное<br>";
}else
{?>
<HTML>
<HEAD>
<title>Главная страница</title>
</HEAD>
<BODY bgcolor="#3399FF" alink="#000066" vlink="#FFFF00">
<a href="index.php">Зарегистрироваться</a>
<table align="left">
<form action="index.php" method="post">
<tr>
<td>Логин</td><td><input type="text" name="Login" size="13"/></td>
</tr>
<tr>
<td>Пароль</td><td><input type="password" name="Password" size="13"></td>
</tr>
<tr>
<td>
<input type="submit" name="go" value="Войти"/>
</td>
</tr>
</form>
</table>
</BODY>
</HTML>
<?php
}
?>
|
Всё как-бы хорошо работает с первого взгляда. Но есть большущая проблема. Когда я открыл страницу, нажал кнопку "Войти", страница удачно отработала. Затем нажал кнопку браузера "Назад" и снова "Вперед", то браузер сказал что он не может найти указанную страницу. Я нажимаю "Обновить" и браузер тут же находит её. В процесе поиска ошибки и различных проб решить проблему, было установлено следующее. Что ошибка возникает только когда скрипт попадает на функцию session_start() или session_register(). Ошибка исчезает когда я меняю метод передачи с POST на GET. Но не буду ж я передвать логин и пароль в строке URI. Подскажите, ПОЖАЛУЙСТА, где у меня ошибка. Потому-что я уже выбился из сил, а в интернете я нигде не нашел подобную проблему. такое ощущение что я единственный полный юзерь, который не понимает чего-то простого. Заранее спасибо. | |
| |
|
|
| |
|
|
| |
для: KODAGEN
(20.02.2008 в 08:28)
| | | После того, как переданы данные методом POST и вы их обработали - перегружайте страницу, чтобы сбросить POST-данные
<?php
session_name("MYSESSION");
session_start();
if(isset($_POST['go']))
{
if((isset($_POST['Login']))&&(isset($_POST['Password'])))
{
echo "Передались данные";
}else
echo "Передали что-то не понятное<br>";
// Либо редирект, либо перегрузка страницы
header("Location: index.php");
}else
{?>
|
PS Задача достаточно абстрактно поставлена, вы какого эффекта хотите добиться? | |
| |
|
|
| |
|
|
| |
для: cheops
(20.02.2008 в 13:23)
| | | Здраствуйте. Чесно сказать, проблема решена простым добалением строки session_cache_limiter("private"); в начало. Не знаю как она могла помочь, но она помогла. Проблема была в том, что когда нажимаю кнопку браузера "назад", а затем снова "вперед", т.е. возвращаюсь на страницу, то браузер не находит её, а когда нажал "Оюновить он тут же нашел её." | |
| |
|
|
| |
|
|
| |
для: cheops
(20.02.2008 в 13:23)
| | | Снова здраствуйте. Перезагрузка страницы помогла. огромное спасибо. Кстати, такая же проблема вылезла, когда я пытаюсь загрузить файлы на сервер. И во всём помогает перезагрузка страницы. А почему вообще такое происходит???? | |
| |
|
|
| |
|
|
| |
для: KODAGEN
(27.02.2008 в 07:46)
| | | При нажатии кнопки "обновить" проаузер повторно отправляет тот же самый запрос на сервер(будь то просто форма или загрузка файлов) | |
| |
|
|
| |
|
|
| |
для: mihdan
(27.02.2008 в 11:02)
| | | . | |
| |
|
|