Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.05;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.014 c
2-1242531018
Julia
2009-05-17 07:30
2009.07.05
Работа со стеком


2-1242638938
Цукор5
2009-05-18 13:28
2009.07.05
ADO &amp; FireBird


2-1242457342
Ramzzz
2009-05-16 11:02
2009.07.05
БД как осущестивить ....


15-1241642742
Юрий
2009-05-07 00:45
2009.07.05
С днем рождения ! 7 мая 2009 четверг


15-1240910214
БарЛог
2009-04-28 13:16
2009.07.05
Где хранятся записи о последнем запуске программ?