Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматический переход на страницу, как лучше его реализовать? 
:(
    Опции темы
Vigoroso
Дата 25.7.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



к примеру у меня ситуация со входом(регистрации т.п.) на сайт, я хочу чтобы у меня отдельный php файл обрабатывал полученные переменные из формы, но если возможно так:
 - незаметно для пользователя, т.е. только на сервере, а потом выдавал результат работы на главную страницу
 - или же просто на странице отображались результаты работы... и потом он автоматически переходил на главную... 
PM MAIL   Вверх
BobiKK
Дата 25.7.2006, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



1) Чтобы было совсем незаметно, надо использовать AJAX
2) Второй вариант гораздо проще. Данные обрабаываешь, а потом переадресовываешь любым известным тебе способом 
PM MAIL   Вверх
Vigoroso
Дата 25.7.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



про 2ой вариант, именно, чтобы автоматически передавлись данные, без учестия пользователя... подскажите как реализовать? 
PM MAIL   Вверх
BobiKK
Дата 25.7.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



В смысле автоматически без участия пользователя? Немного не понял
Пользователь заполняет форму, жмет на кнопочку "Войти", скрипт обрабатывает даныне и перенаправляет куда надо? 
PM MAIL   Вверх
Vigoroso
Дата 25.7.2006, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



не совсем так...
к примеру в файле input.php - форма с полями, все данные она отправляет в work.php - который обрабатывает запрос  и потом work.php автоматически перехожит на index.php если вход был ужачным или же о5 на input.php если встретились какого-то рода ошибки 
PM MAIL   Вверх
AztEK
Дата 25.7.2006, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 6
Всего: 18



Код

header('Location: index.php');
 


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
Vigoroso
Дата 25.7.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Цитата(AztEK @ 25.7.2006,  12:53)
Код

header('Location: index.php');

спасибо, сейчас попробую 
PM MAIL   Вверх
Mal Hack
Дата 25.7.2006, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



exit() после header'a не забываем ставить. 
PM ICQ   Вверх
quarz
Дата 25.7.2006, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 7.1.2005

Репутация: 1
Всего: 3



Vigoroso, если ты хочешь именно так как написал - 
Цитата(Vigoroso @  25.7.2006,  15:40 Найти цитируемый пост)
к примеру в файле input.php - форма с полями, все данные она отправляет в work.php - который обрабатывает запрос  и потом work.php автоматически перехожит на index.php если вход был ужачным или же о5 на input.php если встретились какого-то рода ошибки  


то переход можно сделать с помощью <Meta http-equiv=refresh content='0; URL=your_script.php?param=$param'>
эту строчку ты соответственно вписываешь в work.php с переадресацией на index.php если авторизация прошла успешно и на input.php?err="Login error" при ошибке авторизации. 
PM MAIL   Вверх
Vigoroso
Дата 25.7.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



а как установить время задержки? 
PM MAIL   Вверх
Vigoroso
Дата 25.7.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



это index.php
Код

        require 'functions.php';
    
    if(!(isset($_REQUEST[session_name()]))){
        $error = p_POST('login_error');
        if(!empty($error)) echo $error;
        require 'login.php';
    }
    else{
        session_start();
        echo "U are logged as $_SESSION('login')";
    }


а вот это файл logindone.php на который ссылается login.php и которому передаются логин и пароль.
я хочу чтобы он отработал так: если такой пользователь есть, то он стартует сессию и все ок, если нет, то мы в посте в переменной login_error помещаем причину ошибки и в index.php она выводится.
Код

require 'config.php';
    require 'functions.php';
    
    if (!isset($_POST('login_error'))) $_POST('login_error')="";
    
    $login = p_POST('login');
    $pass = p_POST('pass');
    
    if (!empty($login) && !empty($password)){
        query = "    SELECT client_Status 
                    FROM Client 
                    WHERE client_Login='$login' AND client_Password='$pass'
                ";
        $result = mysql_query($query);
        $status = mysql_fetch_row($result);
        
        if (empty($status[0])){
            echo " There is no registered user as $login ";
        }
        else{
            switch ($status[0]){
                0:1:
                    session_start();
                    $_SESSION('login')=$login;
                    $_SESSION('status')=$status[0];
                    //echo " You are logged successfully as $login";
                break;
                2: $_POST('login_error')="You account $login is banned";
                break;
            }
        }
    }
    else{
        $_POST('login_error')="The login or password is incorrect";
    }
    
    header('Location: index.php');
    exit();

на данный момент у меня БД пуста, т.е. после ввода пароля и логина я должен вернуться на главную страницу с сообщением что такого пользователя нет и ещё раз увидеть форму для входа в систму, это теоретически, практически оно так не работает  

Это сообщение отредактировал(а) Vigoroso - 25.7.2006, 20:20
PM MAIL   Вверх
Vigoroso
Дата 25.7.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



мне кажется это header не так должен работать... или что? 
PM MAIL   Вверх
szz
Дата 25.7.2006, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 8
Всего: 33



Что за прикол:
Цитата
$_POST('login_error')


Разве так можно обращаться к массиву - индекс в скобки ставить? Впервые вижу...
  Шас проверил - ругается...

Как это у тебя вообще работает?

Добавлено @ 22:27 
Код

 switch ($status[0]){
                0:1:


    Оёёй!   а почему не 
Код

 switch ($status[0]){
                case 0: case 1:

???

   Как у тебя это вообще запускается, ума не приложу!!!

Добавлено @ 22:31 
Цитата
мне кажется это header не так должен работать... или что?  



 К массивам обращаемся не так:
Код

$some_array('sme_index')

 а так:
Код

$some_array['sme_index']

  обрати внимание на квадратные скобки вместо круглых.
    Иначе - фатальная ошибка!

 case проставь в switch!

  Что такое p_POST() - это у тебя функция своя - обертка для $_POST или ты ошибся, написав букву "p" вместо "$"?


  Вот потом посмотри будет ли работать, если нет - опять приводи уже _исправленный_ код и будет дальше лечить. 


--------------------
PM   Вверх
BobiKK
Дата 25.7.2006, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



display_errors off наверное smile 
PM MAIL   Вверх
Vigoroso
Дата 25.7.2006, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Цитата(szz @ 25.7.2006,  22:23)
Что за прикол:
Цитата
$_POST('login_error')


Разве так можно обращаться к массиву - индекс в скобки ставить? Впервые вижу...
  Шас проверил - ругается...

Как это у тебя вообще работает?

Добавлено @ 22:27 
Код

 switch ($status[0]){
                0:1:


    Оёёй!   а почему не 
Код

 switch ($status[0]){
                case 0: case 1:

???

   Как у тебя это вообще запускается, ума не приложу!!!

Добавлено @ 22:31 
Цитата
мне кажется это header не так должен работать... или что?  



 К массивам обращаемся не так:
Код

$some_array('sme_index')

 а так:
Код

$some_array['sme_index']

  обрати внимание на квадратные скобки вместо круглых.
    Иначе - фатальная ошибка!

 case проставь в switch!

  Что такое p_POST() - это у тебя функция своя - обертка для $_POST или ты ошибся, написав букву "p" вместо "$"?


  Вот потом посмотри будет ли работать, если нет - опять приводи уже _исправленный_ код и будет дальше лечить.

это просот капец... я сутки за компом... это результаты...
снкс 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.