За последние 24 часа нас посетили 17312 программистов и 1719 роботов. Сейчас ищут 950 программистов ...

PHP скрипт внутри PHP скрипта

Тема в разделе "PHP для новичков", создана пользователем Gabor, 9 мар 2008.

Статус темы:
Закрыта.
  1. Gabor

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

    С нами с:
    9 мар 2008
    Сообщения:
    18
    Симпатии:
    0
    Здравствуйте все!!

    Не казните меня пожалуйста если я вдруг задам вопрос о котором уже говорилось раньше, но я только несколько дней назад начал знакомиться с PHP и даже не имею представления о том что искать на данном форуме.

    Я начал учить PHP пользуясь вот этим туториалом: http://www.ibm.com/developerworks/ru/edu/os-phptut1/index.html но решил немного усложнить себе жизнь и поиграться с выводом результатов работы тестовых скриптов.

    В задании нужно написать страничку которая принимает переменные с HTML фотмы и вывести их на экран. Я решил что будет красивее если эти переменные (тоесть не они сами а их значения полученные из HTML фотмы) будут отображаться в табличке но тут я столкнулся с трудностью.

    Вот он собственно мой скрипт:
    Код (Text):
    1.  
    2. <?php
    3.     $form_names = array_keys($_GET);
    4.     $form_values = array_values($_GET);
    5.  
    6.     for ($i = 0; $i < sizeof($_GET); $i++)
    7.  
    8. {
    9. echo
    10.  
    11. '<DIV ALIGN="center">
    12.  <TABLE width="250" border="2" cellspacing="2" cellpadding="2">
    13.   <TR>
    14.     <TD>$form_names[$i]</TD>
    15.     <TD>$form_values[$i]</TD>
    16.   </TR>
    17.  </TABLE>
    18.  </DIV>';
    19. }
    20. ?>
    Проблема в том что в таком виде вместо того чтоб в табличке писались значения переменных, пишутся "$form_names[$i]" и "$form_values[$i]". Я думал что эти переменные нужно заключить между PHP тэгами таким образом:

    Код (Text):
    1.  
    2. <TD><?PHP $form_names[$i]?></TD>
    3. <TD><?PHP $form_values[$i]?> </TD>
    но в этом случае тэг ?> в первой строчке разпознавался как конец основного PHP скрипта... и вот дальше я незнаю что делать...

    Знающие люди! Подскажите в какую сторону дальше двигаться. Как правильно вписать в HTML табличку переменную?
     
  2. Elkaz

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

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Gabor
    '<DIV ALIGN="center">
    <TABLE width="250" border="2" cellspacing="2" cellpadding="2">
    <TR>
    <TD>$form_names[$i]</TD>
    <TD>$form_values[$i]</TD>
    </TR>
    </TABLE>
    </DIV>';

    Переменные нельзя оставлять в одинарных кавычках.
    Курите мануал.
    HTML:
    1.  
    2. '<TD>'.$form_names[$i].'</TD>
    3. <TD>'.$form_values[$i].'</TD>
    4.  
    ...
     
  3. Gabor

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

    С нами с:
    9 мар 2008
    Сообщения:
    18
    Симпатии:
    0
    Написал как указано но:

    Код (Text):
    1.  
    2. Parse error: parse error, unexpected '>' in w:\home\workflow\www\registration_action.php on line 21
    line 21 в данном случае это
    Код (Text):
    1.  
    2. '<TD>' . $form_names[$i] . '</TD>
     
  4. RomanBush

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

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Gabor
    домашнее задание тебе - найти ошибку и исправить. По выполнению - доложить.
     
  5. Elkaz

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

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Gabor
    Полный код приведите

    RomanBush
    :)
     
  6. Gabor

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

    С нами с:
    9 мар 2008
    Сообщения:
    18
    Симпатии:
    0
    Хм... спасибо за помощь...
     
  7. Gabor

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

    С нами с:
    9 мар 2008
    Сообщения:
    18
    Симпатии:
    0
    Elkaz

    Код (Text):
    1.  
    2. <HTML>
    3. <body bgcolor=ciane>
    4.  
    5. <DIV ALIGN="center">
    6. <h1>You entered:</h1>
    7.  
    8.  
    9.  
    10. <?php
    11.     $form_names = array_keys($_GET);
    12.     $form_values = array_values($_GET);
    13.  
    14.     for ($i = 0; $i < sizeof($_GET); $i++)
    15.  
    16. {
    17. echo
    18.  
    19. '<DIV ALIGN="center">
    20.  <TABLE width="250" border="2" cellspacing="2" cellpadding="2">
    21.   <TR>
    22.     '<TD>' .$form_names[$i]. '</TD>
    23.     <TD>' .$form_values[$i]. '</TD>
    24.   </TR>
    25.  </TABLE>
    26.  </DIV>';
    27.  
    28. }
    29.  
    30. ?>
    31.  
    32. </DIV>
    33. </body>
    34. </HTML>

    и вот страничка с html формой:
    Код (Text):
    1.  
    2. <html>
    3. <head><title>Worflow System</title></head>
    4. <body bgcolor=ciane>
    5.  
    6. <DIV ALIGN="right">
    7. <h1><B>Register for an Account:</B></h1>
    8.  
    9. <form action="registration_action.php" method="GET">
    10.  
    11.     Username: <input type="text" name="Username" /><br />
    12.     Email:    <input type="text" name="E-mail" /><br />
    13.     Password: <input type="password" name="Password" /><br />
    14.     <input type="submit" value="SUBMIT" />
    15. </form>
    16. </DIV>
    17.  
    18. </body>
    19. </html>
     
  8. Hawk

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

    С нами с:
    30 авг 2007
    Сообщения:
    201
    Симпатии:
    0
    Адрес:
    Беларусь
    Gabor
    Почитай для чего используются такие кавычки ' и для чего такие "
     
  9. Elkaz

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

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    заменить на
     
  10. Gabor

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

    С нами с:
    9 мар 2008
    Сообщения:
    18
    Симпатии:
    0
    Hawk Дети сначала тоже учаться говорить и лишь потом учат граматику. Я предпочитаю получить базовые понятия на практике и при этом прочитать минимальное количество литературы. Когда я уже буду немного ориентироваться в том что мне нужно то уже буду знать что читать.

    Elkaz Сработало. Спасибо!!
     
  11. RomanBush

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

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Дело в том, что та ошибка, про которую ты спросил (parse error, unexpected '>'...) относится к разряду детских. Ну, когда дитёнок вместо "р" говорит "л".
    Не могу сказать точно, но мне кажется, что твоё понятие "минимальное количество литературы" - немного ниже, чем требуется. Вообще-то на этом форуме собрались люди, которые дают/рекомендуют именно "минимальное кол-во лит-ры" для прочтения. Если тебе здесь порекомендовали почитать что-то - это значит, что это минимум, что ты должен знать на ту тему, про которую спрашиваешь.
     
  12. Gabor

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

    С нами с:
    9 мар 2008
    Сообщения:
    18
    Симпатии:
    0
    RomanBush

    Если Вы читали мое первое сообщение, то я там написал что я совсем недавно начал этим заниматься и я какраз что именно на том уровне сейчас как ребенок, который путает "р" и "л". Я понимаю что у Вас знания не маленькие, но прошу извинения что я не родился программистом.
     
  13. RomanBush

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

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Эти слова обозначают только то, что надо купить азбуку и прочитать её. А не приставать к взрослым с просьбой рассказать все буквы. Тем более, когда "взрослые" подсказывают, какую именно "азбуку" надо прочитать.

    А если ты собираешься не читать ничего, то програмистом ты не станешь никогда.
    А вот эти твои слова:
    обозначают, что ты не хочешь ничего читать, а хочешь, чтобы тебе всё разжевали и в рот положили.
    Чтобы стать нормальным програмистом, надо обладать весьма обширными знаниями в немалом количестве областей. Как правило, осознание, что ты хоть что-то начал понимать в програмировании, приходит после прочтения 20-30 книг формата А4, толщиной 500-700 страниц.
    А на то, чтобы выучить синтаксис языка с нуля, не зная других языков - нужно максимум 2 недели. Ошибка, про которую ты спрашивал, была как раз про незнание синтаксиса. Это даже не путание "р" и "л", а вообще детский лепет - "агу".
    Кстати, когда сталкиваешься с пятым-шестым новым языком, то его синтаксис учишь максимум за 2 дня.
     
  14. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
Статус темы:
Закрыта.