Преглед на урок

Вграждане на PHP в HTML

Вграждане на PHP в HTML




Код
<html>
<head><title>Example 1</title></head>
<body>
<?php
/* Ако е 7-ми януари, показваме цитат  */
if (date('md')=='0107') {
	echo 'Днес е 7-ми януари'.'<i>Време за спорт</i>';
}else{
	echo 'Добро утро!';
	}
?>
</body>
</html>
С <? започва PHP секцията, вградена в HTML кода; редът ?> приключва PHP секцията.
С echo се извежда даденият резултат.В примера са написани два echo елемента за извеждане, но само един от тях ще се изведе в зависимост
от условието по горе.Ако датата е 7-ми януари ще ни изведе първото echo, ако е различна от 7-ми ще изведе второто "Добро утро!".

Този вид код е малко разхвърлян ето още един вид на същия код но с променлива:

Код
<?php
/* Ако е 7-ми януари, показваме цитат  */
if (date('md')=='0107') {
	$SuX = 'Днес е 7-ми януари'.'<i>Време за спорт</i>';
}else{
	$SuX = 'Добро утро!';
	}
?>
<html>
<head><title>Example 2</title></head>
<body>
<?php echo $SuX; ?>
</body>
</html>
Във втория пример съхраняваме текста в променлива ($SuX) и после отпечатвме тази променлива пак с echo.

Автор: SuX

Ако урокът ви допада, споделете го в Twitter и Facebook или го запазете в Delicious.




Урокът е добавен от: e!ns7e!n

Коментари

sizif

Струва ми се по уместното определение е вграждане на ХТМЛ в РНР, а примера (особено първия) бих нарекъл мацаница...

За принтиране на низ (за парсера ХТМЛ-таговете са точно това), съдържащ кавички или други специални знаци се налага кодиране иначе ще получите грозно съобщение "Парс Ерор".
Пример за кодиране (използва се обратна наклонена черта пред знака, в случая кавичките, с които е ограден низа):

<?
echo "<TABLE><TR><TD CLASS=\"red\">\"Някой бърка операторa за изпъление\"</TD></TR></TABLE>";
?>

Съществува обаче по-елегантна конструкция (заради к дадох по-горния пример), с която да се ибегне кодирането и евентуалното недоглеждане, което би довело до неизпълнение на кода, Пример:

<?
echo <<< SIZIF
<TABLE><TR><TD CLASS="red">"Някой бърка операторa за изпъление"</TD></TR></TABLE>
SIZIF;
?>

Тук ДВОЙНИТЕ кавички, с които се означава началото и края на низа са заменени от <<< SIZIF и SIZIF;
Сизиф е избрано произволно, може да е и SuX или IVAN.

Наблегнах на ДВОЙНИ кавички, защото ЕДИНИЧНИТЕ (' '), използвани в урока, в РНР представляват Оператор за изпълнение (при това единствения, к съществува в РНР). Разликата е, че резултатът от променливата, чиято стойност (низ) се задава по този начин по подразбиране не се включва директно в ХТМЛ-страницата, а се използва за обработка на данните и при по-сложен код може и да не получите желания резултат.

При горния пример (.) използвана за конкатениране на двете части на низа (защо ли?!): "Днес е 7 януари..." при определени обстоятелства в единични кавички би могла да изиграе същата роля, въпреки, че сте я сложили като препинателен знак в низа. Още по-голямо объркване бихте получили ако в низа имате променливи или сте решили да обяснявате математически операции :) Ако използвате оператора за изпълнение в цикъл или съвместно с други оператори също бихте имали доста нерви...
При някои по-стари версии на РНР може да минете метър, но по-често объркания резултат не ви мърда :)

Моят съвет (ако си позволя такъв) е за присвояване на сойност, която е низ или за листване на низове да използвате двойни кавички. Това не ви пречи да добавяте променливи директно в низа или да листвате променливата в кавички:

<?
echo "$SuX";
echo "Дрън дрън $SuX Дрън дрън";
echo "Дрън дрън. $SuX. Дрън дрън.";
echo <<< ABC
Дрън дрън. $SuX. Дрън дрън.
ABC;
?>

Иначе на автора браво за старанието! Нито един материал на БГ за РНР не е излишен!

Успех на всички, които навлизат в РНР! Езикът е много по-опростен за разлика от други, без обаче да им отстъпва по възможности!

e!ns7e!n

Да признавам, че трябва да е с довойни кавички просто за момента съм решил за добре да е така.
По принцип е хибаво и да има и скоби след echo но и това съм пропуснал ;)

Хубаво е да има още някой който да поправя такива грешки за да не объркваме тези, които все пак се опитват да учат.

damu

мерси , ако някой иска да ми помогне да направя един сайт да се обади... на skype wolwerine3
и на MSN Messenger dami_ele@gbg.bg

благодаря

Добави коментар

Трябва да сте регистиран потребител за може да оставяте коментари! Направете своята безплатна регистрация още сега.