Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
took1
Зарегистрирован: 26.02.2006 Сообщения: 11
|
Добавлено: Вс Фев 26 2006 20:12 Заголовок сообщения: php листалка фоток, попробовал написать первый раз код. |
|
|
начал изучать пхп, и захотел написать код:
вобщем цель такова: необходима страница на которой будет отображаться фотография с номером в самый первый раз 1.jpg, при нажатии на нее скрипт должен прибавить +1 чтобы в этой же странице на месте старой фотографии открылась фотография 2.jpg. понимаю что это впринципе вообще просто, но я запутался как сделать это. предположил что раз это в том же файле, значит должна работать передача данных в тотже файл $_ENV. и сама эта фотография должна работать как форма ввода (input type=image).
в итоге написал такую лажу и чето понимаю что полная фигня,
<?php $SCRIPT_NAME=$_ENV['SCRIPT_NAME']; ?>
<form action="<?=$SCRIPT_NAME?>">
<?$num=$num+1;?>
<input type="image" src="<?echo "$num.gif";?>"
</form>
<?
@$num=$_GET['num'];
if (isSet($num)) {
echo "$num"; //для проверки
}
?>
поругайте меня и направьте на путь истинный |
|
Вернуться к началу |
|
|
dipsy
Зарегистрирован: 26.01.2005 Сообщения: 424 Откуда: Н. Новгород
|
Добавлено: Пн Фев 27 2006 10:56 Заголовок сообщения: |
|
|
Вообще говоря код у тебя заранее выглядит ужасно. я его не читал.
надо писать, как минимум так (тоже плохой код, но уже чуть лучше):
Код: |
<?php
if ( $_GET["foto_name"] ){
$l_FotoName = $_GET["foto_name"];
} else {
$l_FotoName = 1;
}
$l_Result = "<html><head></head><body>";
$l_Result .= "<img src=\"".$l_FotoName .".jpg\"> ";
$l_Result .= "<a href=\"".$_SERVER["PHP_SELF"]."?foto_name=". ($l_FotoName + 1 ) ."\">Следующая</a>";
$l_Result .= "</body></html>";
echo $l_Result;
?>
|
Обращаю внимание, что
echo $l_Result;
пишется только один раз!
Этот код я тоже не проверял на работоспособность. |
|
Вернуться к началу |
|
|
Neeoon
Зарегистрирован: 19.11.2004 Сообщения: 173 Откуда: Ukraine
|
Добавлено: Пн Фев 27 2006 16:29 Заголовок сообщения: |
|
|
dipsy писал(а): | Вообще говоря код у тебя заранее выглядит ужасно. я его не читал.
надо писать, как минимум так (тоже плохой код, но уже чуть лучше):
Код: |
<?php
if ( $_GET["foto_name"] ){
$l_FotoName = $_GET["foto_name"];
} else {
$l_FotoName = 1;
}
$l_Result = "<html><head></head><body>";
$l_Result .= "<img src=\"".$l_FotoName .".jpg\"> ";
$l_Result .= "<a href=\"".$_SERVER["PHP_SELF"]."?foto_name=". ($l_FotoName + 1 ) ."\">Следующая</a>";
$l_Result .= "</body></html>";
echo $l_Result;
?>
|
Обращаю внимание, что
echo $l_Result;
пишется только один раз!
Этот код я тоже не проверял на работоспособность. |
Код проверен РАБОТАЕТ _________________ Всё, что ни делается, - всё к лучшему! |
|
Вернуться к началу |
|
|
took1
Зарегистрирован: 26.02.2006 Сообщения: 11
|
Добавлено: Пн Фев 27 2006 18:44 Заголовок сообщения: |
|
|
spasibo bolshoe, budu rabotat nad soboi |
|
Вернуться к началу |
|
|
dipsy
Зарегистрирован: 26.01.2005 Сообщения: 424 Откуда: Н. Новгород
|
Добавлено: Вт Фев 28 2006 13:28 Заголовок сообщения: |
|
|
В-общем, могу ещё немного описать "как надо писать", - опять-таки не строго (примерно)
Создаём файл
main_list.tpl
Код: | <html>
<body>
<img src="/ddd/<# NUMBER #>.jpg">
</body>
</html> |
открываем файл *.php
заводим какую-то переменную и записываем в неё содержимое файла.
пусть это была переменная $l_Result
$l_Num - пусть номер фотки
Потом делаем:
$l_Result = str_replace( "<# NUMBER #>", $l_Num, $l_Result );
а в самом конце уже ставим
echo $l_Result;
Таким образом код PHP будет избавлен от лишней тряхомудии <html>
а шаблон <html> от ненужного кода php
Теперь чел, который не знает PHP, но знает HTML вполне может менять внешний вид страниц (например, дизайнер), причём кода PHP это вообще никак не каснётся. |
|
Вернуться к началу |
|
|
|