За последние 24 часа нас посетили 17480 программистов и 1271 робот. Сейчас ищут 1544 программиста ...

PHP меню

Тема в разделе "PHP для новичков", создана пользователем snowman89, 24 июн 2011.

  1. snowman89

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

    С нами с:
    7 май 2010
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Komsomolsk-on-Amur
    Добрых суток, уважаемые!
    Очень нужна помощь в решении нижеизложенной проблемы.

    Создаю меню на PHP, которое работает по такому принципу:
    PHP:
    1.  
    2. <HTML>
    3. <HEAD>
    4.     <TITLE></TITLE>
    5.     <link rel="stylesheet" type="text/css" href="src/style.css">
    6. </HEAD>
    7. <BODY>
    8. <DIV id="menu">
    9. <h2>Калькулятор</h2>
    10. <a href="?choose=type_1" class="button">Цифровая печать</a>
    11. <a href="?choose=type_2" class="button" style="border-right: #000 1px solid;">Широкоформатная печать</a>
    12. </DIV>
    13.  
    14. <?php
    15.     if (isset($_GET["choose"])) {
    16.         switch ( $_GET["choose"] ) {
    17.             case "type_1":
    18.             include "calc_1.php"; break;
    19.             case "type_2":
    20.             include "calc_2.php"; break;
    21.         }
    22.     }
    23.     else include "calc_1.php"
    24. ?>
    25.  
    26. </BODY>
    27. </HTML>
    28.  
    Так вот, суть проблемы: когда я в адресной строке браузера умышленно порчу параметр (к примеру вместо http://test.ru/?choose=type_1 - исправляю на ?choose=hrenoten) подключаемая страничка пропадает. Как сделать чтобы в подобной ситуации всегда грузился скажем "calc_1.php" ?
     
  2. snowman89

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

    С нами с:
    7 май 2010
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Komsomolsk-on-Amur
    И вообще, интересно знать, грамотно ли организованно меню ?
     
  3. dots_rei

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

    С нами с:
    7 авг 2009
    Сообщения:
    193
    Симпатии:
    0
    добавить в switch-case значение для default:
    PHP:
    1.  
    2.  <?php
    3.      if (isset($_GET["choose"])) {
    4.          switch ( $_GET["choose"] ) {
    5.              case "type_1":
    6.              include "calc_1.php"; break;
    7.              case "type_2":
    8.              include "calc_2.php"; break;
    9.              default:
    10.              include "calc_1.php"; break;
    11.          }
    12.      }
    13.      else include "calc_1.php"
    14.  ?>
    15.  
     
  4. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    эм default:
    include "calc_1.php"; break;

    ?
     
  5. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    можно это весь код заменить на
    PHP:
    1. <?php
    2. if (isset($_GET["choose"]) && $_GET["choose"]=='type_2') include "calc_1.php";
    3. else include "calc_2.php";
    :)
     
  6. snowman89

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

    С нами с:
    7 май 2010
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Komsomolsk-on-Amur
    Всем спасибо :)