За последние 24 часа нас посетили 54188 программистов и 1726 роботов. Сейчас ищут 925 программистов ...

Помогите..

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

  1. ExDragon

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

    С нами с:
    18 дек 2010
    Сообщения:
    76
    Симпатии:
    0
    Padaboo
    не совсем понятна идея..
    RX200
    нет не работает
    PHP:
    1.     function SendFile($filename) {
    2.    
    3.             if(file_exists($filename)) {
    4.             $this->buffer .= join('',file($filename));
    5.             }
    6.     }
    так?
    PHP:
    1. switch($_GET[BODY]){
    2. case "ProTPL":$filname="./ProTPL.html";break;
    3. case "ProDT":$filname="./Pages/ProDT.html";break;
    4. case "ProSSE":$filname="./Pages/ProSSE.html";break;
    5. case "About":$filname="./Pages/About.html";break;
    6. default:$filname="./Pages/News.html";break;}
    но так ошибка
    switch($_GET[BODY]){
     
  2. ExDragon

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

    С нами с:
    18 дек 2010
    Сообщения:
    76
    Симпатии:
    0
    Notice: Use of undefined constant BODY - assumed 'BODY' in \\\\index.php on line 7

    Notice: Undefined index: BODY in \\\\index.php on line 7
     
  3. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    начни с простого. сделай просто сайт на хтмл из 5ти страниц. вот чтоб он у тебя был. потом добавь туда css, чтоб посмотреть на эту технику.
    когда и это будет - переходи к пхп. добавь вывод заголовка страницы через пхп. когда получится, добавь вывод через пхп копирайта сайта. когда и это получится, сделай вывод копирайта, текст которого читается из файла.

    вот когда копирайт будет читаться из файла, можешь с этого кода переходить к "шаблонам".
     
  4. RX200

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

    С нами с:
    18 дек 2010
    Сообщения:
    56
    Симпатии:
    0
    ExDragon
    Всё верно не заметил))
    $_GET[BODY]
    замени на
    $_GET['BODY']

    BODY тоже в кавычках должно быть.


    А ещё там можно шаблон в буфер закидывать, и то что в файлах присваивать переменной имя которой внутри шаблона заключено в кавычки {}
     
  5. ExDragon

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

    С нами с:
    18 дек 2010
    Сообщения:
    76
    Симпатии:
    0
    It is not working!
     
  6. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
  7. ExDragon

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

    С нами с:
    18 дек 2010
    Сообщения:
    76
    Симпатии:
    0
    не работает
    Notice: Undefined index: BODY
    switch($_GET['BODY'])
     
  8. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ты его передай хотя бы в адресную строку.

    PHP:
    1. <?php
    2.  
    3. // Getting ID
    4. $id = isset($_GET["id"]) ? (int)$_GET["id"] : 0;
    5.  
    6. // Switch
    7. switch($id) {
    8.  case 0:
    9.   echo "This is our index page";
    10.   break;
    11.  
    12.  case 1:
    13.   echo "Hello, World. This page has ID 1";
    14.   break;
    15.  
    16.  case 2:
    17.   echo "Abra-kadabra";
    18.   break;
    19.  
    20.  default:
    21.   "This page will be shown by default";
    22. }
    23.  
    24. ?>
    И соответственно:
    http://example.com
    http://example.com/?id=1
    http://example.com/?id=2
    http://example.com/?id=5475
     
  9. RX200

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

    С нами с:
    18 дек 2010
    Сообщения:
    56
    Симпатии:
    0
    Сам всё перепроверил, на всякий случай добавляю проверку на установлена ли переменная, вот код который при любых условиях работает:
    PHP:
    1.  
    2. <?php
    3. switch(isset($_GET["BODY"])?$_GET["BODY"]:""){
    4.   case "ProTPL":$filname="./ProTPL.html";break;
    5.  case "ProDT":$filname="./Pages/ProDT.html";break;
    6.  case "ProSSE":$filname="./Pages/ProSSE.html";break;
    7.  case "About":$filname="./Pages/About.html";break;
    8.  default:$filname="./Pages/News.html";}
    9.  echo $filname;
    10. ?>
    11.  
    Хотя у меня и без проверки работает, просто предупреждает пшп о том что переменная не определена.

    и запрашивать страничку нужно так URL?BODY= И дальше одно из case.
     
  10. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    ExDragon
    почитай самоучитель по пхп или книгу "Люк Веллинг, Лора Томсон - Разработка Web-приложений с помощью PHP и MySQL" - там есть готовый пример простейшей cms-системы на 619 странице - Глава 28. Разработка системы управления содержимым.

    а ещё можешь убиться о ближайшую стенку, просто чтобы не парить мозг остальным.
    писать cms не зная основ пхп - это нонсенс, в простонародье - ублюдство.
     
  11. ExDragon

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

    С нами с:
    18 дек 2010
    Сообщения:
    76
    Симпатии:
    0
    Хм.. почему делая запрос в бузу данных... возвращаются место русских букв знаки ????????????????? как исправить?
     
  12. RX200

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

    С нами с:
    18 дек 2010
    Сообщения:
    56
    Симпатии:
    0
    Перед отправкой данных, в таблицу, нужно их перекодировать в соответствующию кодировку.
    А часто и когда скрипт принимает данные их перед выводом на страницу тоже перекодировать надо.
    Посмотри через phpMyAdmin в таблицы они нормально сохранены, если нормально тогда только при выводи данных нужно позаботится о кодировки, как вариант в пшп:
    header('Content-Type: text/plain; charset=windows-1251');//перед выводом данных.
     
  13. ExDragon

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

    С нами с:
    18 дек 2010
    Сообщения:
    76
    Симпатии:
    0
    не не выходит! пишет ошибочная строка..
    в phpMyAdmin всё норм отображается
     
  14. RX200

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

    С нами с:
    18 дек 2010
    Сообщения:
    56
    Симпатии:
    0
    ну разберись значит в пшп что его не устроило, помедетируй, почитай справочники по header, ещё помедетируй, сравни с кодировкой на странице, и медетируем медетируем))