Только недавно начала работать с
php. Делаю простенькую корзину для магазина.
Есть несколько страниц с товарами, рядом в ними кнопки "добавить".
Как сделать так, чтобы при нажатии на нее у меня не было перехода на новую какую-то страницу, а пользователь оставался на той, где был.
То есть кнопка "добавить" запускает пхп страницу (в ней происходит добавление выбранного товара для данного пользователя в бд) и после этого возвращает туда же, откуда пришли?
Заранее благодарю
Игорь_Vasinsky
28.10.2011 - 18:46
считывай REQUEST_URL перед входом в корзину, а при выходе - редирект на него
_____________
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
Да, спасибо!! Разобралась и все заработало
quickxyan
1.11.2011 - 17:12
Nadyuто есть у тебя выходит 2 редиректа?
может попробовать аяксом
_____________
печатаю со скоростью 320 минут в знак...
плюсуем карму не стесняемся
Krevedko
1.11.2011 - 17:22
Угу. Учитывая, что при демонстрации работы аякса почему-то сразу упоминают корзину в инет магазине

Или как вариант, записывать товары не в базу, а в сессию или куку, а уже потом, когда заказ сформирован, писать все в бд. так тоже делают.
imbalance_hero
1.11.2011 - 21:06
Nadyu
В твоём примере гораздо лучше подойдет Ajax, если нужно не перегружать страницу.
Я аякса не знаю совсем... Я сделала, что с моей страницы копирается url и через формы отправляется со всеми данными на другую страницу, где все пересчитывается и добавляется. И на той странице (где считается) в конце идет header("Location: ...")
Так все работает, как я и хотела. И на странице, которую возвратились меняется надпись сколько товаров в корзине.
Чем это плохо?
imbalance_hero
2.11.2011 - 21:08
Nadyu
Ничем. Некоторые любят Аякс больше, чем постоянные перезагрузки браузера. Ты должна сама решить, что тебе нравится больше, а для этого - изучить Аякс.
Если не знаешь - отличный повод изучить.
То есть плохого ничего в этом нет, тогда пока что оставлю так... У меня это первый сайт с
php так что лучше с ним разобирусь более-менее, а потом учить что-то новое и может дорабатывать сайт (к счастью возможность будет, так как буду его и полностью поддерживать)
Игорь_Vasinsky
2.11.2011 - 21:32
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
Буду-буду учить) Мои прошлые сайты были без пхп и 20 страниц написаны полностью вручную, в том числе и выбранный пункт меню итд) пхп упрощает эти изменения (не приходится делать правки на кажжой страничке, если появился новый пункт или наоборот убрался)
Но совсем уж чего-то страшного ведь нет в моем способе, так что какое-то время пожить сможет, потом модифицирую...
imbalance_hero
2.11.2011 - 22:13
Игорь_VasinskyТы говоришь, что это технологии, а Николай как раз не любит всякие там Аяксы
Здравствуйте.
У меня есть файл 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
4.11.2011 - 03:15
RIF
С своими вопросами в свои темы...
Цитата (imbalance_hero @ 3.11.2011 - 23:15) |
RIF С своими вопросами в свои темы... |
Понял. Извините. Создал свою тему.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.