Форум: "Прочее";
Текущий архив: 2009.07.05;
Скачать: [xml.tar.bz2];
ВнизPHP и параметры строки Найти похожие ветки
← →
antonn © (2009-04-29 22:36) [40]
> А делать
> дизайн средствами PHP, а не например Дрим + HTML – это неудобно.
>
вот отсюда начнутся недопонимания :)
На ПХП не делают дизайн, дизайн верстают в ХТМЛ (макромедии, картинкой в пайнте и тп), а вот сам хтмл - результат работы ХТМЛ. Честно не знаю, как нужно начинающим начинать, сам диз (хтмл) я тренировался делать в блокноте для narod.ru, ну и на пхп перешел с тем же блокнотом, для меня это проще.
По поводу ссылок и их формирования, вот пример, об чем я говорил:<?
function isNum($value) {
return (preg_match("/^[0-9]+$/", $value));
}
$arr=array();
$arr["1"]["name"]="gal1";
$arr["1"]["0"]="pic0.jpeg";
$arr["1"]["1"]="pic0.png";
$arr["1"]["2"]="pic0.bmp";
$arr["2"]["name"]="gal2";
$arr["2"]["0"]="pic1.jpeg";
$arr["2"]["1"]="pic1.png";
$arr["2"]["2"]="pic1.bmp";
$arr["3"]["name"]="gal3";
$arr["3"]["0"]="pic2.jpeg";
$arr["3"]["1"]="pic2.png";
$arr["3"]["2"]="pic2.bmp";
if(isset($_GET["cat"]) && isNum($_GET["cat"]) && isset($_GET["pic_id"]) && isNum($_GET["pic_id"])){
if($_GET["cat"]>0 && $_GET["cat"]<4){
if($_GET["pic_id"]>=0 && $_GET["pic_id"]<3){
echo "picture: ".$arr[$_GET["cat"]][$_GET["pic_id"]];
}
}
}elseif(isset($_GET["cat"]) && isNum($_GET["cat"])){
if($_GET["cat"]>0 && $_GET["cat"]<4){
for($i=0; $i<3; $i++){
echo "<a href=\"?cat=".$_GET["cat"]."&pic_id=".($i)."\">".$arr[$_GET["cat"]][$i]."</a><br>";
}
}
}else{
for($i=0; $i<count($arr); $i++){
echo "<a href=\"?cat=".($i+1)."\">".$arr[($i+1)]["name"]."</a><br>";
}
}
?>
а то что делается с записью в сессию, да еще через куки - это костыль. И язык и хтмл придется учить, иначе ничего хорощего (в плане дизайна и кода) врядли получится.
PS Дримвивер - зло, в принципе :)
PSS А еще придется разбираться с вебсервером (апач или iis, с первым ессно придется столкнуться с юнихом) и его настройкой, потом базы (я бы даже сказал это отдельный "абзац" :)), да и в самом пхп будут встречаться довольно мозгоимеющие вещи (регулярки, например :)). Итого, для написания сайтика придется узнать сразу дофига всего нового :(
← →
antonn © (2009-04-29 22:36) [41]
> а вот сам хтмл - результат работы ХТМЛ
результат работы ПХП :)
← →
dmk © (2009-04-29 23:02) [42]antonn © (29.04.09 22:36) [40]
Этот код у меня работает без проблем.
Просто идеально работает, но чтобы совсем просто понять проблему,
приведу сильно сокращенную версию своего кода:
Это test.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
Hello world - PHP include next<BR>
<!--#include virtual="test.php" -->//Никаких параметров не передается
<BR>
that was the PHP include output
<BR>Now include php with a fixed parameter ...<BR>
<!--#include virtual="test.php?a=1" -->//Передается параметр a=1
</script>
</body>
</html>
и test.php
<?php
$a=htmlspecialchars($_REQUEST["a"]);
echo "value of parameter a=".$a;
?>
Когда задаешь параметр в теле HTML, то все прекрасно.
Параметры через SSI передаются нормально.
Вот теперь как средствами HTML заменить строку
<!--#include virtual="test.php?a=1" -->
на
<!--#include virtual="test.php?a=2" --> и т.д.
← →
dmk © (2009-04-29 23:07) [43]Через JS не выходит. Apache не понимает внутри поля <script> ничего.
Поэтому формирование строчки
sURL = "test.php?a="+index;
s = "<"+"!"+"--"+"#"+"include virtual="+sURL+" -->";
document.write(sURL);
что в итоге дает правильную строку, но ничего не дает.
← →
dmk © (2009-04-29 23:09) [44]извиняюсь, правильно document.write(s);
Все равно ничего не выводится, хотя в Алерт показывается правильно
сформированная строка.
← →
antonn © (2009-04-30 00:23) [45]ниче не понял :)
но возможно, что яваскрипт выполняется на клиенте, а страница уже сформировалась на сервере.
← →
dmk © (2009-04-30 01:27) [46]В общем SSI это лажа. Прочитал руководство от разработчиков.
Сделать нельзя ничего, только редирект в зависимости от данных сервера.
Логин Пароль Время и т.д. и т.п. Придется делать все на PHP.
А как же делают дизайн в HTML, а потом выводят средствами PHP?
Если у меня объем HTML страницы скажем килобайт 500. Это же такую
массу руками перелопачивать! А если исправить чего надо? В таком коде вообще запутаться можно. Как в этом случае быть?
← →
antonn © (2009-04-30 01:41) [47]юзают шаблонизаторы, при этом конечно страничку нужно нарисовать, сверстать, а потом уже бить на подшаблоны :) Я делаю тупо - в переменную загоняю кусок HTML (если надо - заменяю внутри некоторые подстроки через strereplace), а потом делаю echo этому куску, он уходит в ответ :)
получается примерно так:$T_SMPL="<TR><TD>@text@</TD><TD>@tuxt@</TD></TR>";
function parse_string($template, $array_const, $array_replaces){
return str_replace($array_const, $array_replaces, $template);
}
//делаю вывод
$pre="переменная, Два";
echo parse_string($T_SMPL,array("@text@","@tuxt@"),array("раз",$pre));
в браузер выведутся ячейки с данными, которые подставил код. Грубо - но работоспособно :)
да и 500кб - это пипец как много.
← →
dmk © (2009-04-30 01:51) [48]Это кошмар! У меня почти мегабайт HTML сделано и куда его теперь.
Там одних JS куча. Что же теперь всю логику на сторону сервера
переносить? Жуть!!! Да и не все перенесется.
В общем массив с URL буду сразу в JS передавать. Вариантов просто нет.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2009.07.05;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.006 c