Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1241557755
Германн
2009-05-06 01:09
2009.07.05
Очередной дурацкий


15-1241296202
Юрий
2009-05-03 00:30
2009.07.05
С днем рождения ! 3 мая 2009 воскресенье


2-1242322213
DJ_UZer
2009-05-14 21:30
2009.07.05
Как поместить кнопку на вкладку PageControl?


15-1240243299
Smile
2009-04-20 20:01
2009.07.05
почему DMClient?


15-1241720907
@!!ex
2009-05-07 22:28
2009.07.05
Утилита для построения диаграмм.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский