| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Автоматический переход на страницу |
| Автор: Vigoroso 25.7.2006, 11:39 |
| к примеру у меня ситуация со входом(регистрации т.п.) на сайт, я хочу чтобы у меня отдельный php файл обрабатывал полученные переменные из формы, но если возможно так: - незаметно для пользователя, т.е. только на сервере, а потом выдавал результат работы на главную страницу - или же просто на странице отображались результаты работы... и потом он автоматически переходил на главную... |
| Автор: BobiKK 25.7.2006, 11:55 |
| 1) Чтобы было совсем незаметно, надо использовать AJAX 2) Второй вариант гораздо проще. Данные обрабаываешь, а потом переадресовываешь любым известным тебе способом |
| Автор: Vigoroso 25.7.2006, 12:02 |
| про 2ой вариант, именно, чтобы автоматически передавлись данные, без учестия пользователя... подскажите как реализовать? |
| Автор: BobiKK 25.7.2006, 12:17 |
| В смысле автоматически без участия пользователя? Немного не понял Пользователь заполняет форму, жмет на кнопочку "Войти", скрипт обрабатывает даныне и перенаправляет куда надо? |
| Автор: Vigoroso 25.7.2006, 12:40 |
| не совсем так... к примеру в файле input.php - форма с полями, все данные она отправляет в work.php - который обрабатывает запрос и потом work.php автоматически перехожит на index.php если вход был ужачным или же о5 на input.php если встретились какого-то рода ошибки |
| Автор: AztEK 25.7.2006, 12:53 | ||
|
| Автор: Vigoroso 25.7.2006, 13:03 | ||||
спасибо, сейчас попробую |
| Автор: Mal Hack 25.7.2006, 13:05 |
| exit() после header'a не забываем ставить. |
| Автор: Vigoroso 25.7.2006, 13:36 |
| а как установить время задержки? |
| Автор: Vigoroso 25.7.2006, 14:45 | ||||
это index.php
а вот это файл logindone.php на который ссылается login.php и которому передаются логин и пароль. я хочу чтобы он отработал так: если такой пользователь есть, то он стартует сессию и все ок, если нет, то мы в посте в переменной login_error помещаем причину ошибки и в index.php она выводится.
на данный момент у меня БД пуста, т.е. после ввода пароля и логина я должен вернуться на главную страницу с сообщением что такого пользователя нет и ещё раз увидеть форму для входа в систму, это теоретически, практически оно так не работает |
| Автор: Vigoroso 25.7.2006, 22:14 |
| мне кажется это header не так должен работать... или что? |
| Автор: szz 25.7.2006, 22:23 | ||||||||||||
Что за прикол:
Разве так можно обращаться к массиву - индекс в скобки ставить? Впервые вижу... Шас проверил - ругается... Как это у тебя вообще работает? Добавлено @ 22:27
Оёёй! а почему не
??? Как у тебя это вообще запускается, ума не приложу!!! Добавлено @ 22:31
К массивам обращаемся не так:
а так:
обрати внимание на квадратные скобки вместо круглых. Иначе - фатальная ошибка! case проставь в switch! Что такое p_POST() - это у тебя функция своя - обертка для $_POST или ты ошибся, написав букву "p" вместо "$"? Вот потом посмотри будет ли работать, если нет - опять приводи уже _исправленный_ код и будет дальше лечить. |
| Автор: BobiKK 25.7.2006, 22:32 |
| display_errors off наверное |
| Автор: Vigoroso 25.7.2006, 22:33 | ||||||||||||||
это просот капец... я сутки за компом... это результаты... снкс |
| Автор: szz 25.7.2006, 22:34 |
| Проспись, monsir! |
| Автор: Vigoroso 25.7.2006, 23:04 | ||
как бы все исправлено... но все равно скрипт не выболняет поставленной задачи p_POST это я не перепутал, как ты выразился - это обертка для $_POST |
| Автор: S.A.P. 25.7.2006, 23:39 |
| Vigoroso, убери пока редирект и смотри какие ошибки валятся. С ходу уже вижу, что переменная query записана без доллара. |
| Автор: szz 26.7.2006, 08:56 | ||
Например вот так попробуй:
Что-то в этом роде. |
| Автор: jzZ 26.7.2006, 10:06 | ||
| Скрипту отправляются пост данные, значит заголовки уже отправлены, следовательно никаких header()... Значит можно так:
|
| Автор: szz 26.7.2006, 10:26 | ||
С каких это пор хедеры нельзя выводить из-за пост данных? Насколько я знаю - главное в output ничего не вывести перед хедерами. А пост-данные вполне можно отправлять - сколько раз я такое делал - получал пост данные, обрабатывал их и затем хедером редиректил! |
| Автор: jzZ 26.7.2006, 12:28 |
| szz Ах да ссорри обшибся, я в сценарии накосячил с хтмл ) Добавлено @ 12:28 не судите строго тока учусь ) |
| Автор: Vigoroso 26.7.2006, 12:29 |
| Ты предлагаешь передать сообщение об ошибке через Get... а через POST никак не получится?... твой варинт сработал, просот я не хочу чтобы пользователь в адресной строке видел какие-либо переменные. мой прежний вариент с постом не работает... =\ |
| Автор: szz 26.7.2006, 12:53 |
| Что-что-что?! У тебя работает если передавалось через гет?! Закомменть хедер, посмотри, выпадают ли ошибки! Добавлено @ 12:58 Нельзя передавать логин и ПАРОЛЬ через гет, что за бред?! |
| Автор: Vigoroso 26.7.2006, 13:04 | ||
| Кажись не правильно работает запрос ----------------- я не передаю пароль и логин через гет, это все через пост, ты мне предложил сообщение об ошибке, если таковая имеется передавать через гет, я вообще не люблю гет... стоит им пользоваться только в крайних случаях Добавлено @ 13:18 по идее он как минимум должен был мне вывести "Array", но в ответ тишина
|
| Автор: szz 26.7.2006, 13:20 | ||||||||||
Нет, бывают случаи, когда он нужен - например для того, чтоб ссылку сделать. Представь себе в этом форуме все эти переменные, которые через гет - передавались бы через пост - тогда бы я не мог никому кинуть ссылку на конкретный топик. А редирект через хедер придется через гет пускать, другого способа я не знаю. Ну разве что следать скрытую форму и жаваскриптом засубмитить, например так: вместо header('Location: index.php?login_error='.urlencode($the_message));
Но это все таки извращение какое-то получается. Впрочем, дело вкуса - если уж настолько не любишь гет... Добавлено @ 13:26
вообще чтоб дебагить используй
Так ты точно увидишь что там в переменной, даже если тишина - то и ее увидишь
Ну почему же, если ничего не выбралось, то и ничего и не вернулось |
| Автор: Vigoroso 26.7.2006, 13:30 |
| Всем спасибо за помощь, во всем разобрался |