За последние 24 часа нас посетили 61110 программистов и 1744 робота. Сейчас ищут 1096 программистов ...

Вопросы от чайника

Тема в разделе "Прочее", создана пользователем WOLF009, 19 июн 2009.

  1. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    Есть пример кода из книги php для начинающих (наконец то ИГА в технаре сдал и диплом получил) Так вот, не пойму в чем ошибка жалуется на синтаксическую ошибку в 28 строке.
    PHP:
    1.  
    2. <?php                
    3. print verse(1);      
    4. print chorus();      
    5. print verse(2);      
    6. print chorus();
    7. print verse(3);
    8. print chorus();
    9. print verse(4);
    10. print chorus();
    11.  
    12. function verse($stanza){
    13.  switch ($stanza) {
    14.     case 1;
    15.      $place = "thumb";
    16.      break;
    17.     case 2;
    18.      $place = "choe";
    19.      break;
    20.     case 3;
    21.      $place = "knee";
    22.      break;
    23.     case 4;
    24.      $place = "door";
    25.      break;
    26.     default;
    27.       $place = "БЛА БЛА БЛА";
    28. } // the end switch
    29.  $output = <<<HERE
    30.  ТИПА ТОТ ЖЕ ПЕРВЫЙ КУПЛЕТ
    31. HERE;
    32.   return $output;
    33. } // the end verse
    34.  
    35. function chorus(){
    36.   $output = <<<HERE
    37. ТИПА ПРИПЕВ
    38. HERE;
    39.   return $output;
    40. } //the end chorus
    41. ?>
     
  2. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Не пиши <<<, используй простую строку:
    PHP:
    1. <?
    2. $output = 'ТИПА ТОТ ЖЕ ПЕРВЫЙ КУПЛЕТ';
    3. $output = 'ТИПА ПРИПЕВ';
    Строка с <<< (не помню названия этой конструкции) редко когда используется. А когда используется надо думать как её не использовать. :) В будущем благодаря этой конструкции из кода сделаешь кашу.

    И после case expr должен стоять знак двоеточия :)), а не точки с запятой (;):
    PHP:
    1. <?
    2. case 1:
    3.     $place = "thumb";
    4. break;
     
  3. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    Большое спасибо. короче книжку в сторону в перед манаул по php юзать.
     
  4. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    http://php.net - действительно лучше и удобнее.

    Но книжки откидывать вряд ли нужно: в интернете много статей разного качества. На этом форуме где-то было собрание сочинений на тему чё бы почитать для обучения. Посмотри, может найдёшь что-то полезное.

    P.S. Ещё можно порыться на архивах вроде woweb.ru. Там много скриптов не самых сложных и по ним можно понять синтаксис, увидеть новые конструкции и по-тихоньку запомнить Nое кол-во полезных функций. :)
     
  5. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    большое спасибо.
     
  6. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Книжки есть нормальные, но есть и аля Попов..
     
  7. Jensi

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

    С нами с:
    9 апр 2009
    Сообщения:
    299
    Симпатии:
    0
    Тссс..., только не надо Попова и тут
     
  8. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    Юзая PHP для начинающих))
     
  9. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Heredoc лучше использовать, когда нужно присвоить большой кусок хтмл. А то запаришься кавычки экранировать...
     
  10. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    ЗЫ. PHP для чайников!!
     
  11. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1.  
    2. <?php
    3. if (....)
    4. {
    5. ?>
    6. HTML КАКОЙ хочу :))
    7. <?php
    8. }
    9. ?>
    А так не проще? для кусков кода, больших
     
  12. TheShock

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

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    Nemo
    а как присвоить значение переменной? хотя я и не представляю таких примеров.
     
  13. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    кстати книжка называется PHP и MySQL для начинающих. Плюс в ней в том что в каждой главе есть от трех заданий на разработку так называемых мини программ. короче домашнее задание по которым можно проверить как ты усвоил материал.
     
  14. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    кстати такие примеры вроде то же есть. но там из формы задается значение переменной. что то вроде генератора страницы.
     
  15. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    Короче есть два кода на PHP и HTML.
    HTML:
    1.  
    2. </head>
    3. Введите параметры для страницы
    4. <form METHOD="POST" ACTION="1.php">
    5. Введите заголовок страницы:<br><input type = "text"
    6.                                 name = "title"><br>
    7. задайте цвет фона:<br> <select name = "foncolor">
    8.    <option value = "red">Красный</option>
    9.    <option value = "yellow">Желтый</option>
    10.    <option value = "black">черный</option>
    11.    <option value = "green">зеленый</option>
    12.    <option value = "white">белый</option>
    13. задайте цвет шрифта: <br><select name = "fontcolor">
    14.    <option value = "red">Красный</option>
    15.    <option value = "yellow">Желтый</option>
    16.    <option value = "black">черный</option>
    17.    <option value = "green">зеленый</option>
    18.    <option value = "white">белый</option>
    19. Введите текст:<br>
    20. <textarea rows = "5"
    21.       name = "text1"
    22.       whith = "100"
    23.       hight = "100"></textarea>
    24. <input type = submit
    25.       value = "пошли">
    26. </form>
    27. </body>
    28. </html>
    29.  
    и

    PHP:
    1.  
    2. <?php
    3. $foncolor = $_POST['foncolor'];
    4. $fontcolor = $_POST ['fontcolor'];
    5. $title = $_POST['title'];
    6. $text1 = $_POST['text1'];
    7. $theStyle = "background: $foncolor;
    8. font-size: 19pt; color: $fontcolor";
    9.  
    10. print "<div style = $theStyle>";
    11. print $title;
    12. print "<br>";
    13. print $text1;
    14. print "</div>";
    15. ?>
    из формы значения не передаются в CSS стиль.
    PS: $_REQUEST заменил на $_POST. с цветом фона разобрался остался цвет шрифта
     
  16. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Просто реквест - это и сессии, и куки и гет и пост вместе, на сколько я знаю и, следовательно, снижается безопасность и глючность (например одинаковые переменные в куки и пересылке пост) :))))
     
  17. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    буду знать)) спс))
     
  18. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Есть и такая, а я имел ввиду - PHP 5 для чайников.
     
  19. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    такую то же начинал читать))) много лишней инфы в ней. поэтому после прочтения 5 страниц. сразу с компа удалил:)
     
  20. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    вопрос на счет передачи значений из формы в css стиль остался в силе.
     
  21. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    Вопрос снят, разобрался.
     
  22. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    А первый 5 страниц читать не обязательно :)
     
  23. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    Это образно говоря))))
     
  24. WOLF009

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

    С нами с:
    16 апр 2009
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Челябинск
    PHP:
    1. <html>
    2. <head>
    3. <style rype = "text/css">
    4. body {
    5.   background: green;
    6.   color: tan;
    7. }
    8. </style>
    9. </head>
    10. <body>
    11. <center>
    12. <h1>Poker Dice</h1>
    13. <form>
    14. <?php
    15. $die = $_POST['die'];
    16. $secondRoll = $_POST['secondRoll'];
    17. $keepIt = $_POST['keepIt'];
    18. //смотрим впервые ли запущена программа
    19. if (empty($cash)){
    20.   $cash = 100;
    21. } //the end
    22.  
    23. rollDice();
    24.  
    25. if ($secondRoll == TRUE){
    26.   print "<h2>Программа запущена в первые</h2>\n";
    27.   $seconRoll == False;
    28.   evaluate();
    29. } else {
    30.   print "<h2>программа запущена уже была</h2>\n";
    31.   $secondRoll == true;
    32. } // the end
    33. printStuff();
    34.  
    35. function rollDice(){
    36.   global $die, $secondRoll, $keepIt;
    37.   print "<table border = 1><td><tr>";
    38.   for ($i = 0; $i < 5; $i++){
    39.    if ($keepIt[$i] = ""){
    40.     $die[$i] = rand(1,6);
    41.    }else{
    42.      $die[$i] = $keepIt[$i];
    43.    } // the end
    44.   $theFile = $die[$i];
    45. print <<<HERE
    46. <td>
    47. $theFile
    48. HERE;
    49.  if($secondRoll == FALSE){
    50.   print <<<HERE
    51.    <input type = "checkbox"
    52.           name = "keepIt[$i]"
    53.           value = $die[$i]>
    54. </td>
    55. HERE;
    56. } // завершение if
    57. } //завершение цикла for
    58. //вывести кнопку submit
    59. print <<<HERE
    60. </tr></td>
    61. <tr><td colspan = "5">
    62. <center>
    63. <input type = "submit"
    64.        value = "roll again">
    65. </center>
    66. </td>
    67. </tr>
    68. </table>
    69. HERE;
    70. // завершение функции rollDice
    71. function evalution(){
    72.  global $die, $cash;
    73. // обнуляем
    74.  $pyaof = 0;
    75. // вычитаем
    76.  $cash -=2;
    77. //считаем кости
    78. $numValue = array(6);
    79. for ($theVal = 1; $theVal <=6; $theVal++){
    80.  for ($dieNum = 0; $dieNum < 5; $dieNum++){
    81.   if ($die[$dieNum] == $theVal){
    82.    $numVals[$theVal]++;
    83.   } // завершение if
    84.  } // завершение цикла for для dieNum
    85. } // завершение цикла for для theVal
    86. // выводим результат
    87. //for ($i = 1; $i <= 6; $i++){
    88. //print "$i"; $numVals[$i];
    89. //} //завершение цикла for
    90. $numPairs = 0;
    91. $NumThrees = 0;
    92. $numFours = 0;
    93. $numFives = 0;
    94.  
    95. for ($i= 1; $i <= 6; $i++){
    96.  switch ($numVals[$i]){
    97.   case 2:
    98.    $numPairs++;
    99.    break;
    100.   case 3:
    101.    $numThrees++;
    102.    break;
    103.   case 4:
    104.    $numFours++;
    105.    break;
    106.   case 5:
    107.    $nuFives++;
    108.    break;
    109.   } //завершение switch
    110.  } //завершение цикла for
    111. //проверяем есть ли две пары
    112. if ($numThrees == 2){
    113.   print "bla bla bla<br\n>";
    114.   $payoff = 1;
    115.  }
    116.  if ($numThrees == 1){
    117.   if ($numPairs == 1){
    118.   print "chto to tam eche";
    119.   $payof = 5;
    120.   }else{
    121.   print "blu blu blu";
    122.   $spayoff = 2;
    123.   } // завершение if для пары
    124.  } //заверщение if для трех
    125.  if ($numFours == 1){
    126.   print "ugu";
    127.   $payoff = 5;
    128.   } //завершение if
    129.   if ($numFives == 1){
    130.   print "You got five of a kind<br>\n";
    131.  }//завершение if
    132. //тщем стрит
    133. if (($numVals[1]) == 1)
    134.  && ($numVals[2]) == 1)
    135.  && ($numVals[3]) == 1)
    136.  && ($numVals[4]) == 1)
    137.  && ($numVals[5]) == 1)
    138. print "You have a straight<br>\n";
    139.  $payoff = 10;
    140. }
    141.  
    142. if (($numVals[2]) == 1)
    143.  && ($numVals[3]) == 1)
    144.  && ($numVals[4]) == 1)
    145.  && ($numVals[5]) == 1)
    146.  && ($numVals[6]) == 1)
    147. print "You have a straight<br>\n";
    148.  $payoff = 10;
    149. }
    150.  
    151. print "you bet 2<br>\n";
    152. print "Payoff is $payoff<br>\n";
    153. print += $payoff;
    154.  
    155. }
    156.  
    157. function printStuff(){
    158.  global $cash, $secondRoll;
    159.  
    160.  print "Cash: $cash";
    161.  
    162.  print <<<HERE
    163.  <input type = "hidden"
    164.         name = "Secondroll"
    165.         value = "$secondroll">
    166.  <input type = "hidden"
    167.         name = "cash"
    168.         value = "$cash">
    169. HERE;
    170. }
    171. ?>
    172. </body>
    173. </html>
    174.  
    а вот почему то результат(((
    HELP
     
  25. Volt(220)

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

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Строки 133-137 (и кстати 142-146)
    PHP:
    1. <?php
    2.  if (($numVals[1]) == 1)
    3.    && ($numVals[2]) == 1)
    4.    && ($numVals[3]) == 1)
    5.    && ($numVals[4]) == 1)
    6.    && ($numVals[5]) == 1)?>
    Открывающих скобок - 6
    Закрывающих скобок - 10
    Думаю должно быть:
    PHP:
    1. <?php
    2.  if (($numVals[1] == 1)
    3.    && ($numVals[2] == 1)
    4.    && ($numVals[3] == 1)
    5.    && ($numVals[4] == 1)
    6.    && ($numVals[5] == 1))?>