За последние 24 часа нас посетили 20122 программиста и 1675 роботов. Сейчас ищут 1443 программиста ...

id адрес блока вида test.php?id=blockname

Тема в разделе "PHP для новичков", создана пользователем castnet, 3 мар 2010.

  1. castnet

    castnet Активный пользователь

    С нами с:
    28 фев 2010
    Сообщения:
    8
    Симпатии:
    0
    Привет всем.
    Имеется страница с формой заказа. В этой же странице есть php код для её обработки и отправки мне на e-mail. Я хочу переделать страницу. Вставить в неё ещё одну форму заказа но для другого продукта, и так, чтобы формы не отображались на странице с адресом order.php, каждая отображалась бы по своему id, т.е order.php?id=prod1 и order.php?id=prod2, а на order.php были бы только ссылки на эти страницы. Я поменяю только названия товаров в формах, но они будут использовать один php скрипт. Как можно такое осуществить?
    С уважением
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    PHP:
    1. <?php
    2. if(isset($_GET['id'])){
    3. $id=$_GET['id']
    4. }
    5. if($id=='prod1'){
    6. echo 'форма для продукта 1';
    7. } else{
    8. echo 'форма для продукта 2';
    9. }
    10. ?>
     
  3. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Padaboo
    а если $_GET['id'] не передан?
     
  4. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Padaboo
    Тогда уж:
    PHP:
    1. <?php
    2. if(isset($_GET['id'])){
    3.     $id=$_GET['id']
    4.  
    5.     if($id=='prod1'){ ?>
    6.         <form><p>Это первая форма</p></form>
    7. <?php
    8.     } else{ ?>
    9.         <form><p>Это форма всех остальных товаров</p></form>
    10. <?php
    11.     }
    12. } //После замечания Luge
    13. else{ ?>
    14.     <p>Выберите товар....<p>
    15. <?php } ?>
    По-моему удобнее рисовать форму обычным html, а не выводить через echo.

    PS: Ну и дальше конечно понимаем что это каша из html+php и используем шаблоны. Но до шаблонов надо еще дорасти.

    UPD: Luge
    Вроде учел.
    UPD2:
    Да, тут можно дальше упрощать и улучшать.
     
  5. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Luge
    ну это автор сам должен решить поставить туда какой то id или отправить хедером
     
  6. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Volt(220)
    тот же вопрос.
    если error_reporting(E_ALL);
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Volt(220)
    хех ну был бы исходник можно было шаблон сделать, а так , как всегда пользуемся функцией
    PHP:
    1. function Telepat(){
    2. telepatmode="on";
    3. }
     
  8. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Luge
    PHP:
    1. <?php
    2. if(isset($_GET['id'])){
    3.   $id=$_GET['id']
    4.   } else { header("Location: [url=http://upyachka.ru/]http://upyachka.ru/[/url] ");  } ?>
    :DDDD
     
  9. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ну хоть что-то. Нафига нотисы на ровном месте плодить?

    /me ждёт выхода доски объявлений Padaboo
     
  10. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Luge
    у меня там проблемка "не большая" http://www.php.ru/forum/viewtopic.php?t=24288
    и потом еше останется ротацию банеров написать, но там думаю проблем возникнуть не должно)
     
  11. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    а теперь вопрос на засыпку: если у ТС после формы какой-нибудь тяжёлый запрос, то он выполнится после твоего header("Location: …"); или скрипт прервёт работу?
     
  12. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Luge
    выполнится, exit; надо поставить
     
  13. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    так ёпс, народ, не давайте код, если это просто отписка. На словах расскажите.