[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разбор кода, помощь
Guest_я
Здравствуйте. Читаю книгу Энди Харриса "PHP/MySQL для начинающих". Есть пара вопросов, что бы в дальнейшем изучении языка не возникли проблемы, помогите разобраться.
Вот код программы:

<html>
<
head>
<
title>Petals Around the Rose</title>
</
head>

<
body bgcolor = "tan">

<
center>
<
font face = "Comic Sans MS">
<
h1>Petals Around the Rose</h1>

<?php

printGreeting();
printDice();
printForm();

function printGreeting() {
global $guess, $numPetals;

if (empty($guess)) {
print "<h3>Welcome to Petals Around the Rose</h3>";
} else if ($guess == $numPetals) {
print "<h3>You Got It!</h3>";
} else {
print <<<HERE
<h3>from last try: </h3>
you guessed:
$guess<br>
-and the correct answer was:
$numPetals petals around the rose<br>
HERE;
} //end if.
} //end printGreeting function.

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);
} //end printDice function.

function showDie() {
print <<<HERE
<img src = "die$value.jpg"
height = 100
width = 100>

HERE;
} //end showDie function.

function calcNumPetals($value) {
global $numPetals;

switch ($value) {
case 3:
$numPetals += 2;
break;
case 5:
$numPetals += 4;
break;
} //end switch.
} //end calcNumPetals function.

function printForm() {
global $numPetals;

print <<<HERE

<h3>How many petals around the rose</h3>

<form method = "post">
<input type = "text"
name = "guess"
value = "0">
<input type = "hidden"
name = "numPetals"
value = "
$numPetals"
<br>
<input type = "submit">
</form>
<br>

<a href = "petalHelp.html"
target = "helpPage">
give me a hint</a>

HERE;
} //end printForm function.

?>
<font>
</
center>

</
body>
</
html>


Скажите мне пожалуйста на местах ли стоят ф-ии showDie и calcNumPetals ?
И я не могу понять как сделать что бы картинки выводились на экран "die$value.jpg", у меня есть 5 картинок с названиями "die1.jpg"..."die5.jpg"



Спустя 10 минут, 35 секунд (26.02.2012 - 17:27) Krevedko написал(а):
1) местонахождение функций в коде не имеет значения
2) передавай в функцию значение $value

Спустя 31 минута, 5 секунд (26.02.2012 - 17:58) Guest_я написал(а):
Krevedko
В новую ф-ию, или в какую из уже существующих?

Спустя 12 минут, 7 секунд (26.02.2012 - 18:10) Krevedko написал(а):
function showDie()
{
print <<<HERE <img src = "die$value.jpg" height = 100 width = 100>
HERE;
}

откуда он возьмет $value, если в функцию она не передана. внутри функции локальные переменные не видны

Спустя 1 минута, 59 секунд (26.02.2012 - 18:12) Guest написал(а):
Krevedko
global $value так сделать?

Спустя 1 минута, 14 секунд (26.02.2012 - 18:13) Krevedko написал(а):
function showDie($value)

Спустя 9 минут, 41 секунда (26.02.2012 - 18:23) Guest_я написал(а):
Вот же блин! Это все моя не внимательность, в книге $value на своем месте.
Krevedko Спасибо!

Спустя 4 часа, 25 минут, 20 секунд (26.02.2012 - 22:48) Анон написал(а):
Здравствуйте!
Изучаю эту же книгу, и в этой программе вот какая штука.
В случае, если количество лепестков = 0, в поле ввожу "0" и программа перебрасывает на приветствие, т.е. результат, когда количество лепестков = 0, обрабатывается как "empty".
Возможно, кто-нибудь знает, как сделать, чтоб и нулевой результат обрабатывался так же, как и все остальные?

Спустя 3 минуты, 45 секунд (26.02.2012 - 22:52) Krevedko написал(а):
что ж все так эту книгу изучают. по тому говнокоду, что я увидел, эту книгу нужно сжечь

Спустя 17 минут, 40 секунд (26.02.2012 - 23:10) Анон написал(а):
Цитата (Krevedko @ 26.02.2012 - 19:52)
что ж все так эту книгу изучают. по тому говнокоду, что я увидел, эту книгу нужно сжечь

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

А какую литературу вы можете посоветовать?
Понятно, что умения и навыки достигаются только посредством практики, но и теоретическую базу нужно знать.

Спустя 20 минут, 53 секунды (26.02.2012 - 23:31) Krevedko написал(а):
По книгам не могу ничего сказать, уже не помню ))
Но по меому мнению код, представленный здесь - это ужас ужас

Спустя 8 часов, 43 минуты, 21 секунда (27.02.2012 - 08:14) alexbel2404 написал(а):
лучше по Котерову и Костареву учиться)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.