За последние 24 часа нас посетили 17945 программистов и 1700 роботов. Сейчас ищут 1507 программистов ...

Перцы, подскажите неопытному !

Тема в разделе "PHP для новичков", создана пользователем xvoid, 14 авг 2006.

  1. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    блин код у меня нормальный, я в форуме на спех написал, факт в том что неработает почемуто ((
     
  2. Raa

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

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Код покажи.
     
  3. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    <?
    echo "<table border=1>";
    echo "<tr>
    <td><a href="index.php?pages=0">1.php</a></td></tr>
    <tr><td><a href="index.php?pages=1">2.php</a></td></tr>
    <tr><td><a href="index.php?pages=2">3.php</a></td></tr>";
    echo "</table>";
     
  4. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Тоесть я передаю параметр в скрипт center.php, где и объявил массив, а вот где он выводит результат непонимаю, может стоит дописать echo "pages[$i]";
    ???
    Подскажите пожайлуста, я веть совсем зеленый пока в php :)
     
  5. Raa

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

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    В чем ты редактируешь код? Либо ты пишешь его по памяти, либо этот код вообще неработоспособный. В первом случае повторяю просьбу: покажи код, только не по памяти, а тот, который у тебя действительно. Во втором случае советую поставить редактор с подсветкой, например Notepad++, и исправить все синтаксические ошибки. Ибо то, что ты здесь пишешь, работать не может в принципе.
     
  6. vasa_c

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

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    что ты хочешь увидеть в плане результата?
     
  7. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Я впринципе дописал все кроме подвала, и дизайн нетрогал, могу кинуть на мыло, сам глянете. Я пишу в PHP Designer 2005
     
  8. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Именно поэтому я и обратился к вам за помощью, имхо если у людей получаеться они не просят помощи :(
     
  9. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Хочу динамический сайт, у меня он состоит из нескольких файлов, включенных друг в друга, если захочу сделать ещё одну страничку, чтобы мне не переписывать все это заново, а поменять тока содержимое (а меню шапку, банеры оставить теже)
     
  10. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Можно поподробнее маленький пример кода с массивом страничек 1.html (это какраз то что мне надо),тоесть небольшую страничку с меню и центром, а в меню ссылки на 1 и 2.html, содержимое центра - 1, 2.html
    Накидай пожайлуста код главной странички и как правельнопоймать перенную в подстраничках(если это конечно надо)
     
  11. Raa

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

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    index.php
    Код (Text):
    1.  
    2. <html>
    3. <body>
    4. <p>
    5.     Menu:
    6.     <a href="?page=home">Home</a>
    7.     <a href="?page=about">About Me</a>
    8. </p>
    9. <?php
    10. if (isset($_GET['page'])) {
    11.     include($_GET['page'].'.php');
    12. }
    13. ?>
    14. </body>
    15. </html>
    home.php
    Код (Text):
    1.  
    2. <p>home page</p>
    about.php
    Код (Text):
    1.  
    2. <p>about me</p>
     
  12. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Код (Text):
    1. Warning: main(home.php) [function.main]: failed to open stream: No such file or directory in C:\AppServ\www\body.php on line 24
    2.  
    3. Warning: main() [function.include]: Failed opening 'home.php' for inclusion (include_path='.;C:\php5\pear') in C:\AppServ\www\body.php on line 24
     
  13. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    24 строка body.php - include ($_GET['page'].'.php');
    Директории c:/php5/pear у меня нету, это видно настройки php.ini, ща гляну
     
  14. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Все, поправил, работает, тока нажал about, высветилость че надо, тут же жму хому, неменяеться содержимое (кеш очистил, непомагает)
     
  15. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Че это может быть ?
     
  16. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Это я баран :) все работает, ребят я как понимаю этот пример чисто для показща, а на правтике это массивом делают, можно этотже пример тока страницы в массиве
     
  17. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Пример то был, просто охота также подроюно
     
  18. Raa

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

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Это уже зависит от конкретного программиста и от конректного случая :) Главное, на что нужно обратить внимание - это безопасность. Нежелательно, чтобы значение параметров использовались как есть без проверок. Можно сделать так:

    PHP:
    1.  
    2. // Ассоциативный массив: код страницы => имя файла
    3. $aPages = array(
    4.     'home' => 'home.php',
    5.     'about' => 'about.php',
    6. );
    7. if (isset($_GET['page'])) {
    8.     include($aPages($_GET['page']));
    9. }
    10.  
    Дальше думай сам, а то мы все за тебя напишем :))))
     
  19. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Вы не за меня пишете, а помагаете разобраться, мне важна не сама страничка, а то чему я научусь.
    Такой казус - пока я страничку не вызову, то будет пустое место, а как назначить страничку, которая будет по дефолту ?
    ЗЫ Raa я пока попробую с массивом, пока ты печатаешь ;)
     
  20. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Код (Text):
    1.  
    2. Fatal error: Function name must be a string in C:\AppServ\www\body.php on line 27
    Разве она не строковая по дефолту :( как поправить касяк ?
    27 строка опять же include($aPages($_GET['page']));
     
  21. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    ептваю, это же массив, а почему ему строку надо ?
     
  22. Raa

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

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Ну спасибо :))))

    Вот я об этом и говорю. А как сделать? А вот так! :))) Это элементарные алгоритмические задачи. Если передан код страницы - ты отображаешь соответствующую страницу. А если не передан, то отображаешь дефолтную страницу. Если - то - в противном случае - если.... Это условия. Ты читал про условные операторы? Вот иприменяй условия: if, elseif. Думаю, подсказка достаточно прямая. Учись. :)
    _______________________
    Если ничего больше не помогает - прочтите наконец мануал! :)
     
  23. Raa

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

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    У тебя синтаксические ошибки. Ты уж как-нить сам попробуй их побороть. Синтаксис нужно знать и понимать. Ибо иначе непонятно, как ты вообще собираешься что-то писать :)
     
  24. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Всем привет ещё раз, у меня в каркасе стоит везде require, тоесть получаеться код включаеться сразу, даже если никто не переходил на другой раздел, вот меню я доделал (вызов странички по её индексу), что лучше в этом случае использовать - include reuiqre ? :roll:
     
  25. xvoid

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

    С нами с:
    10 авг 2006
    Сообщения:
    152
    Симпатии:
    0
    Понял сам, на рекваире все сразу грузиться, а инклюд по мере вызова (пока скрипт выполняеться)[/img]