вот, собственно говоря и код:
<html>
<head>
<title>Petals Around the Rouse</title>
</head>
<body bgcolor="tan">
<center>
<font face="Comic Sans MS">
<h1>Petals Around the Rouse</h1>
<?
printGreeting();
printDice();
printForm();
function printGreeting()
{
global $guess, $numPetals;
if (empty($guess))
{
print "<h3>Welcom to Petals Around the Rouse</h3>";
}
else if ($gues==$numPetals)
{
print "<h3>You Got It!</h3>";
}
else
{
print "<h3>from last try: </h3>
you guessed: $guess<br><br>
-and the correct answer was: $numPetals petals around the rouse<br>";
}
}
function printDice()
{
global $numPetals;
print "<h3>New Roll:</h3>";
$numPetals=0;
$die1=rand(1,6);
$die2=rand(1,6);
$die3=rand(1,6);
$die4=rand(1,6);
$die5=rand(1,6);
showDie($die1);
showDie($die2);
showDie($die3);
showDie($die4);
showDie($die5);
print "<br>";
calcNumPetals($die1);
calcNumPetals($die2);
calcNumPetals($die3);
calcNumPetals($die4);
calcNumPetals($die5);
}
function showDie($value)
{
print <<<HERE
<img src="$value.jpg">
HERE;
}
function calcNumPetals($value)
{
global $numPetals;
switch ($value)
{
case 3:
$numPetals +=2;
break;
case 5:
$numPetals +=4;
break;
}
}
function printForm()
{
global $numPetals;
print <<<HERE
<h3>How many petals around the rouse?</h3>
<form method="post">
<input type="text" name="guess" value="0">
<input type="hidden" name="numPetals">
<br>
<input type="submit">
</form>
HERE;
}
?>
</font>
</center>
</body>
</html>
вот адрес сервера, куда я залил файл для теста
Спустя 4 минуты, 20 секунд (29.04.2011 - 12:52) waldicom написал(а):
Разве закрывающий "тег" не должен стоять с самого начала строки (и больше ничего в этой строке)?
Спустя 3 минуты, 25 секунд (29.04.2011 - 12:55) 2fed написал(а):
незнаю... я позавчера начал учить php... напечатал код в точности, как в книге...
Спустя 1 минута, 48 секунд (29.04.2011 - 12:57) Arni написал(а):
<? ?> попробуйте заменить на <?php ?>
Учить пхп по книжкам не советую. Издания выходят с опозданиями. Пока напишут и напечатают уже много воды уходит. Основы да, можете почитать. Но вас ждет много очень много подводных камней. Если на книжке чето там про пхп4, будет чем костер поджечь.
Учить пхп по книжкам не советую. Издания выходят с опозданиями. Пока напишут и напечатают уже много воды уходит. Основы да, можете почитать. Но вас ждет много очень много подводных камней. Если на книжке чето там про пхп4, будет чем костер поджечь.
Спустя 1 минута, 21 секунда (29.04.2011 - 12:58) 2fed написал(а):
нет... тоже самое выходит...
Спустя 25 минут, 9 секунд (29.04.2011 - 13:23) Arni написал(а):
Уважаемый, вы тратите наше и свое время. Книжку подарить врагу а самому научиться использовать оператор echo.
HERE это очень капризная штука которая не хочет работать внутри функции, чувствительна к пробелам до и после, и просто как по мне бесполезная штука.
И вот это вот "$value.jpg" отучить себя делать в корне, я понимаю что приколько когда пхп интерпретатор сам себе находит что это переменная, и не нужно париться вам. Но это признак плохого кода и ненужные тормоза. Потому что интерпретатор в двойных кавычках ищет переменные, на что уходит время.
А этот ваш пример надо повесить в раздел как нельзя писать пхп программы.
+ скачайте себе редактор пхп с подстветкой синтаксиса и проверкой на ошибки в синтаксисе. У вас в строке 70 и начались проблемы. Пхп посчитал что все что идет ниже это строка.
HERE это очень капризная штука которая не хочет работать внутри функции, чувствительна к пробелам до и после, и просто как по мне бесполезная штука.
И вот это вот "$value.jpg" отучить себя делать в корне, я понимаю что приколько когда пхп интерпретатор сам себе находит что это переменная, и не нужно париться вам. Но это признак плохого кода и ненужные тормоза. Потому что интерпретатор в двойных кавычках ищет переменные, на что уходит время.
А этот ваш пример надо повесить в раздел как нельзя писать пхп программы.
+ скачайте себе редактор пхп с подстветкой синтаксиса и проверкой на ошибки в синтаксисе. У вас в строке 70 и начались проблемы. Пхп посчитал что все что идет ниже это строка.
Спустя 3 минуты, 9 секунд (29.04.2011 - 13:27) waldicom написал(а):
Цитата (2fed @ 29.04.2011 - 10:55) |
незнаю... я позавчера начал учить php... напечатал код в точности, как в книге... |
Просто поставьте HERE в самом начале строки и всё (без пробелов)
Спустя 4 минуты, 24 секунды (29.04.2011 - 13:31) 2fed написал(а):
Цитата |
HERE это очень капризная штука которая не хочет работать внутри функции, чувствительна к пробелам до и после, и просто как по мне бесполезная штука. |
а как тогда обойтись без неё? в данном случае?
Цитата |
Просто поставьте HERE в самом начале строки и всё (без пробелов) |
тоесть вот так вот?
function showDie($value)
{
echo <<<HERE
<img src="$value.jpg">
HERE;
}
Спустя 30 секунд (29.04.2011 - 13:31) waldicom написал(а):
Цитата (2fed @ 29.04.2011 - 11:31) |
тоесть вот так вот? |
да. Точка с запятой не обязательна.
Спустя 2 минуты, 22 секунды (29.04.2011 - 13:34) 2fed написал(а):
спасибо...
Цитата |
И вот это вот "$value.jpg" отучить себя делать в корне, я понимаю что приколько когда пхп интерпретатор сам себе находит что это переменная, и не нужно париться вам. Но это признак плохого кода и ненужные тормоза. Потому что интерпретатор в двойных кавычках ищет переменные, на что уходит время. |
вот так вот надо?
<img src="img/$value.jpg">
или следует создать цикл... или условие?