[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Автоматический редирект на предыдущую страницу
Nadyu
Только недавно начала работать с php. Делаю простенькую корзину для магазина.

Есть несколько страниц с товарами, рядом в ними кнопки "добавить".

Как сделать так, чтобы при нажатии на нее у меня не было перехода на новую какую-то страницу, а пользователь оставался на той, где был.
То есть кнопка "добавить" запускает пхп страницу (в ней происходит добавление выбранного товара для данного пользователя в бд) и после этого возвращает туда же, откуда пришли?

Заранее благодарю unsure.gif
Игорь_Vasinsky
считывай REQUEST_URL перед входом в корзину, а при выходе - редирект на него wink.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Nadyu
Да, спасибо!! Разобралась и все заработало biggrin.gif
quickxyan
Nadyu
то есть у тебя выходит 2 редиректа?

может попробовать аяксом wink.gif

_____________
печатаю со скоростью 320 минут в знак...

плюсуем карму не стесняемся
Krevedko
Угу. Учитывая, что при демонстрации работы аякса почему-то сразу упоминают корзину в инет магазине wink.gif
Или как вариант, записывать товары не в базу, а в сессию или куку, а уже потом, когда заказ сформирован, писать все в бд. так тоже делают.
imbalance_hero
Nadyu
В твоём примере гораздо лучше подойдет Ajax, если нужно не перегружать страницу.
Nadyu
Я аякса не знаю совсем... Я сделала, что с моей страницы копирается url и через формы отправляется со всеми данными на другую страницу, где все пересчитывается и добавляется. И на той странице (где считается) в конце идет header("Location: ...")
Так все работает, как я и хотела. И на странице, которую возвратились меняется надпись сколько товаров в корзине.

Чем это плохо?
imbalance_hero
Nadyu
Ничем. Некоторые любят Аякс больше, чем постоянные перезагрузки браузера. Ты должна сама решить, что тебе нравится больше, а для этого - изучить Аякс.
Если не знаешь - отличный повод изучить.
Nadyu
То есть плохого ничего в этом нет, тогда пока что оставлю так... У меня это первый сайт с php так что лучше с ним разобирусь более-менее, а потом учить что-то новое и может дорабатывать сайт (к счастью возможность будет, так как буду его и полностью поддерживать)

laugh.gif
Игорь_Vasinsky
Nadyu
imbalance_hero - хотел сказать что технологии не стоят на месте, и многие уже просто полностью перевели свои сайты кто на ajax, кто на JQuery - тем самым избавив своих посетителей от перезагрузки страниц сайта - страница один раз загрузилась - а потом идёт динамическая смена контента "на лету"



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Nadyu
Буду-буду учить) Мои прошлые сайты были без пхп и 20 страниц написаны полностью вручную, в том числе и выбранный пункт меню итд) пхп упрощает эти изменения (не приходится делать правки на кажжой страничке, если появился новый пункт или наоборот убрался) blink.gif
Но совсем уж чего-то страшного ведь нет в моем способе, так что какое-то время пожить сможет, потом модифицирую...
imbalance_hero
Игорь_Vasinsky
Ты говоришь, что это технологии, а Николай как раз не любит всякие там Аяксы smile.gif
RIF
Здравствуйте.
У меня есть файл php который отвечает за отправку сообщений с моего сайта на мой емайл. Вот код:

<?php

if($_POST['name'] && $_POST['email'] && $_POST['mess']){
$name = substr($_POST['name'],0,20);
$email = substr($_POST['email'],0,20);
$mess = substr($_POST['mess'],0,1000);
$to = 'email@mail.ru';
$subject = 'Сообщение с вашего интернет-сайта';
$message = 'Имя пославшего:'.$name.'::::::::::Электронный адрес:'.$email.'::::::::::Сообщение: '.$mess.':::::::Номер:'. $phone.'::::::::::IP-адрес:'.$_SERVER['REMOTE_ADDR'];
$go=mail($to,$subject,$message);
if($go==true){echo 'Сообщение отправлено!';} else{echo 'Сообщение <b>не</b> отправлено!';}
}
elseif(!$_POST['name']){echo 'Имя не заполнено';}
elseif(!$_POST['email']){echo 'Не указан эмаил';}
else{echo 'поле с сообщением пустое';}
?>

Возможно ли что-то в коде прописать чтобы после отправки сообщения не просто писало Сообщение отправлено (в новом окне), а было перенаправление с этого окна на главную страницу сайта через несколько секунд. Так чтобы человек прочитал что сообщение отправлено или нет и задействовалось перенаправление. Если возможно, помогите пожалуйста, напишите готовый код. Спасибо.
imbalance_hero
RIF
С своими вопросами в свои темы...
RIF
Цитата (imbalance_hero @ 3.11.2011 - 23:15)
RIF
С своими вопросами в свои темы...

Понял. Извините. Создал свою тему.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.