Отправка ссылки в третий файл

Тема в разделе "PHP", создана пользователем fredis69, 15 фев 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. fredis69

    fredis69 Постоялец

    Регистр.:
    25 окт 2008
    Сообщения:
    84
    Симпатии:
    2
    Доброго времени суток!
    У меня такой вопрос: Как сделать чтобы, когда пользователь нажав по ссылке переходит на второй файл где происходит обработка и автоматически перенаправляется в третий файл, где произвотится проверка и если всё нормально то возвращается на первый файл (допустим index.php или другая страница, смотря на какой странице он нажмёт на ссылку).
    Вопрос: Как передать ссылку страницы на которой пользователь кликнул по ссылке в третий файл. Короче чтобы после обработки в двух файлах он вернулся на туже страницу.

    Первый файл(страница на которой пользователь кликнит по ссылке:(
    PHP:
    $urll=strtok($_SERVER['REQUEST_URI'],"?"); /*Узнаём адрес данной страницы*/
    Второй Файл:
    PHP:
    header('Location: адрес_третьего_файла.php');

    Третий файл:
    PHP:
    /* Если всё нормально то возвращам пользователя на страницу на которой была нажата ссылка */
    header("Location: $urll");
     
  2. grey109

    grey109

    Регистр.:
    3 апр 2007
    Сообщения:
    176
    Симпатии:
    19
    В первом файле сохрани переменную $urll в сессию:
    session_start();
    $urll=strtok($_SERVER['REQUEST_URI'],"?"); /*Узнаём адрес данной страницы*/
    $_SESSION['urll'] = $urll;

    А в третьем прочитай эту переменную:

    session_start();
    header("Location: ".$_SESSION['urll']);
     
    fredis69 нравится это.
  3. motorheyd

    motorheyd Создатель

    Регистр.:
    11 апр 2008
    Сообщения:
    24
    Симпатии:
    5
    Как сделать, чтобы в автоматическом письме покупателю
    шла ссылка для подтверждения заказа, нажав на которую
    он подтвердит заказ.

    А данные, внесенные им до этого,
    занесутся в базу?
     
  4. abzac

    abzac Создатель

    Регистр.:
    25 окт 2008
    Сообщения:
    24
    Симпатии:
    3
    сохраняешь данные изначально в бд, только какое-то поле помечаешь как '0' (не подтвердил), в другом поле генерируешь хешь, который и передаешь в поддтверждающей ссылке. Скрипт потом сверяет хеш с переданным, меняет флаг '0' на '1'. Для удаления неподтвержденных заказов можешь выполнять скрипт удаления заказов, где поле=0 и какой-нить интервал времени. Один из вариантов.
     
    motorheyd нравится это.
  5. motorheyd

    motorheyd Создатель

    Регистр.:
    11 апр 2008
    Сообщения:
    24
    Симпатии:
    5
    То есть, чтобы хеш сгенерить надо сессию открывать?
    Вот что-то подобное у меня в голове крутилось, никак не мог сформулировать.
     
  6. abzac

    abzac Создатель

    Регистр.:
    25 окт 2008
    Сообщения:
    24
    Симпатии:
    3
    Сессия открывается, чтобы сохранить данные пользователя при переходе с одной странички сайта, на другую. В данном случае можно и без них.
    Хешь можно сгенерировать, например вот так:
    $validationCode = md5(uniqid(rand(),1));
     
  7. motorheyd

    motorheyd Создатель

    Регистр.:
    11 апр 2008
    Сообщения:
    24
    Симпатии:
    5
    Так, понятно.
    Наверно последний вопрос (на эту тему :):(
    Количество символов в коде - это единичка, или нужно указывать в круглых скобках после rand ?
     
  8. abzac

    abzac Создатель

    Регистр.:
    25 окт 2008
    Сообщения:
    24
    Симпатии:
    3
  9. motorheyd

    motorheyd Создатель

    Регистр.:
    11 апр 2008
    Сообщения:
    24
    Симпатии:
    5
    Готово.

    Сделал ссылку, работает отлично.
    Вылезла другая проблема...
    Не могу имя передать в письме, чего-то поменял, раньше работало...

    Видимо надо все же на курсы оффлайн идти..
     
Статус темы:
Закрыта.