Когда не подключается библиотека, её либо нет по указанному пути, либо она не той версии. PHP к Apache подключается двумя способами, первый - как CGI-приложение, а второй - как модуль. Ну и настраивается это дело в разных секциях httpd.conf ... Всё это гемор тот ещё! В ранних версиях были некие заморочки с подключением MySQL к PHP. Тогда тоже сервер dll-ку не видел, её приходилось либо в переменную среды писать, либо кидать в системную папку. В твоём случае может быть просто версия не та. ИМХО лучше не париться, ибо есть как готовые сервера (если тебе нужно именно веб-сервер на своём компе поднять), так и готовые серверные пакеты для тестирования ресурса, например Denwer. В никсах, всё что нужно, ставится при установке ОС, если поставишь, где надо, галки в визарде. Но раз уж винда, так винда. Юзай лучше Денвер и не трать время создания сайта на изобретение велосипеда (читай "разборки с конфигами"). Денвер ты можешь найти заломившись в Матрицу.
el_barto
26.2.2008, 14:50
Цитата(daniil @ 26.2.2008, 14:10)
Но раз уж винда, так винда. Юзай лучше Денвер и не трать время создания сайта на изобретение велосипеда (читай "разборки с конфигами"). Денвер ты можешь найти заломившись в Матрицу.
Спасибо, очень помог! Скачал Денвер и установил, сейчас буду разбираться.
Там разбираться даж не придется
. Ставишь, он создаёт виртуальный диск. Например Z: В нем - есть папка Z:\home\localhost Которая прописана в httpd, теперь фича Денвера: если просто создать ещё вложенную папку Z:\home\localhost\example, то в неё можно пихать index.php и, перезапустив сервер, обращаться к тестируемому сайту так (в адресной строке браузера): "http://example.localhost/"
вах праграмисты блин, сервак для тестов не могут развернуть..... а что будет лет через 10..... страшно подумать :'(
Народ, у мну на сайте токой баг: не обновляется содержимое меню.
Ща расскажу. )) Исходник сюды писать я даж не знаю какой, хоть всё выкладывай.
Есть сайт, с индексом "index.php" Этот индекс имеет модульную структуру, подключен к нему заголовочный файл с описанием всех модулей (ну, функций просто php-шных, которые HTML верстают). И в ентом файле ниче, окромя вызовов модулей нету. Среди всех прочих модулей, есть модуль "меню".
Вот ща - самое интересное. Знаете, всякие разные выпадающие меню на CSS+JavaScript ? Так вот, я зделол всё на основе MySQL - базы с таблицой для каждого раздела сайта. Запись в таблице - это стаетйка на страничке. Но, когда обновляешь базу должно обновляться и меню, а не только контент сам по себе! Поэтому, дабы именно так все происходило, я и зделол модуль "меню", который рисует HTML-овский список (пункты меню) по значениям полей из БД. Все работает, все мне ндравится. Только один обидный баг:
Чтобы это "динамическое" выпадающее меню обновилось, надо чистить кеш или тыкнуть "обновить" в браузере (клиенте)! (( Чё там такое сохраняется в кеше от меню, что меню не обновляется само по базе данных? Ведь работает модуль, который читает базу и строит по ней меню. Из базы все удаляется с помощью PHPMyAdmin, я пока для удаления форму не зделал.
Тыкаешь "обновить" в браузере - и всё ништяк, но ежели просто, открыв браузер, грузишь страницу после предыдущей загрузки - выдает то же самое меню, не обновлённое.
Возможно просто браузер выдаёт страницу из своего кеша не запрашивая при открытии. Опера так любит делать чтобы не грузить все ранее открытые табы за раз. Если особо волнует эта проблема, то можно поиграться с E-Tag, вполне вероятно что браузер делает быстрый HEAD запрос, чтобы узнать не изменилась ли эта страница.
Получилось. Перед всем выводом скрипта (в заголовок html) дописал:
<? header("Cache-Control: max-age=60, must-revalidate"); ?>
Работает. Теперь выберу время для max-age побольше и все нормально )) И правда в кеше дело.
Ребят, а может кто-нить инфу подкинуть, как в PHP5 работать с XML?
Дело такое, я сайт сделал на MySQL заказчик против. Я в шоке, но делать дальше надо. Так вот, то, что написано для PHP 4 для пятого не катит. И в разных книках наисано хз что. Например, Джон Коггзолл в Полном Руководстве по PHP5 пишет, что "в 4 версии PHP модуль DOM XML был экспериментальным, а из пятой он исключён вовсе" (стр 215 "Использование модуля DOM в PHP 4 и XSLT") Однако, код на подобие:
Код
<? function textmodul()
{
$doc = new domDocument;
$doc -> load('articles.xml');
$automarks = $doc -> getElementsByTagName("article");
foreach ($automarks as $mark)
{
echo $mark -> nodeValue . "<br>";
}
}
?>
У меня прекрасно работает ( PHP 5 ! на сервере). Но это разве не работа с DOM моделью файла XML? Дык, не должен же.
И в то же время не работает то, что выложено в мануалах на официальном сайте проекта PHP.
Я имею ввиду код, на подобие (вникать не надо, просто я как-бы пример привел):
Код
<?
$dom = domxml_open_file("c:/xml/existing_file.xml");
$root = $dom1->document_element();
// Массив дочерних элементов корневого
$root_child = $root->child_nodes();
for ($i = 0; $i < sizeof($root_child); $i++)
print("$i. ". $root_child[$i]->node_type(). " ". $root_child[$i]->node_name().
"<br/>");
// первый и последний дочерние элементы
$first_child = $root->first_child();
$last_child = $root->last_child();
print($first_child->node_name()." и ".$root_child[0]->node_name()." - одно и то же
");
print($last_child->node_name()." и ".$root_child[sizeof($root_child)-1]->node_name().
" - тоже совпадают
");
// элемент, следующий за первым
// previous_sibling работает точно так же
$second_child = $first_child->next_sibling();
print($second_child->node_name(). " ". $root_child[1]->node_name(). "
");
?>
Видите? Другие функции, объекты, - всё другое.
Так вот я никак не могу въехать в реализацию DOM модели для XML в PHP 5, если таковая вообще есть (в чем я уже сомневаюсь, несмотря на то, что работает первый из приведённых примеров). Можно, наверное воспользоваться SimpleXML, но тогда я точно ограничусь только сервером с PHP5.
Реализаций как всегда много и каждая под свою задачу
Первый пример использует модуль dom и будет работать только в PHP5.
Второй пример использует модуль domxml, он устарел и из PHP5 исключен.
Если нужна обратная совместимость, то есть модуль xml, он поддерживается всеми версиями PHP начиная с 3, но синтаксис там туговат (смотри функции с префиксом xml_).
Но я бы не стал тащить за собой такой мусор как поддержка РНР4, тем более скоро РНР6 обещают, это никак неоправдано.
ЗЫ: Если заказчик отказывается от установки MySQL, то рекомендую обратить внимание на SQLite. Это легковесная БД, не требует установленного сервера для него и самое главное модуль sqlite встроен в PHP5 по умолчанию.
Они не от установки MySQL отказываются, а говорят типа, "тебе сказали, делай на XML - делай на XML" )) Вот я щас и думаю, какой такой технологией воспользоваться, чтобы везде работало. Не знаю, может и нет такой для XML.
А кто нибудь может подсказать, как правильно сделать форму отправки сообщений напрямую на Е-мейл?
Все! Разобрался. Лучше подскажите, к4ак встроить в страницу скрипт, который будет проверять, введены ли данные в полях формы?
ЭЭЭЙЙЙ! Чего, тема умерла чтоли?
вот так
Код
<form method="get" enctype="text/plain">
<input type="text" value="hello" id="tb" onclick="clearw();">
</form>
<script type="text/javascript">
function clearw()
{
var pusto=document.getElementById("tb").value;
if(pusto=='') alert("Пустое поле");
}
</script>
А как сделать запароленную страницу, если у меня не используется база данных. Все хранится в файлах.
Нужно закодировать пароль!
Средствами ПХП. Тоесть чтобы его можно было менять! И ПХП автоматически кодировал его и записывал в файл. Потом если надо, раскодировал иди хз!
Цитата(G@RFILD @ 29.3.2008, 0:21)
А как сделать запароленную страницу, если у меня не используется база данных. Все хранится в файлах.
Нужно закодировать пароль!
Средствами ПХП. Тоесть чтобы его можно было менять! И ПХП автоматически кодировал его и записывал в файл. Потом если надо, раскодировал иди хз!
не совсем понятно что ты имеешь в видну, но ...
кодировать пароль ты можешь функцией
$result = md5($password);
На счет авторизации страницы:
http://rus-phpnuke.com/php/http-auth.htmlhttp://www.softtime.ru/info/articlephp.php?id_article=34
Спасибо тебе большое. Благодарен безмерно.
Всем привет.
Вот ситуация. На сайте есть страница отчета. В нее постоянно добавляются данные самими пользователями. Надо чтобы при достижении определенного их количества скрипт создавал вторую страницу, третью и т.д. И как при этом сделать, чтобы это записывалось правильно. Работает без использования базы данных. Просто запись в файлы.
Заранее благодарен.
Цитата(G@RFILD @ 27.4.2008, 17:13)
Всем привет.
Вот ситуация. На сайте есть страница отчета. В нее постоянно добавляются данные самими пользователями. Надо чтобы при достижении определенного их количества скрипт создавал вторую страницу, третью и т.д. И как при этом сделать, чтобы это записывалось правильно. Работает без использования базы данных. Просто запись в файлы.
Заранее благодарен.
Не совсем понятна схема, по подробнее можно, что за файл, что за страницы.
Как данные из файла попадают на страницы .. и т.п.
ну смотри. Типа гостевая книга. Пишут какой нибудь текст в форму с несколькими полями. То что они написали, записывается в файл. А потом, когда открываешь страницу с сообщениями, если их например больше 10, то сони разбиваются на 2 страницы. если больше 20 - то на 3 страницы. И это организовано должно быть не через базу данных а все файлы должны храниться в файлах. В обычных файлах.
Цитата(G@RFILD @ 28.4.2008, 1:45)
ну смотри. Типа гостевая книга. Пишут какой нибудь текст в форму с несколькими полями. То что они написали, записывается в файл. А потом, когда открываешь страницу с сообщениями, если их например больше 10, то сони разбиваются на 2 страницы. если больше 20 - то на 3 страницы. И это организовано должно быть не через базу данных а все файлы должны храниться в файлах. В обычных файлах.
И что из этого уже реализовано, где запор ... в том что бы на страницы разделить?
Цитата(Deja Vu @ 28.4.2008, 2:07)
И что из этого уже реализовано, где запор ... в том что бы на страницы разделить?
Понимаешь в чем дело. Реализовано все. Только реализовано неправильно. Я записывал в файлы все, включая HTML-тэги. А они должны быть всегда на странице. только я не знаю, как правильно разделить текст в файле, чтобы он вставлялся правильно в страницу.
Цитата(G@RFILD @ 28.4.2008, 10:48)
Понимаешь в чем дело. Реализовано все. Только реализовано неправильно. Я записывал в файлы все, включая HTML-тэги. А они должны быть всегда на странице. только я не знаю, как правильно разделить текст в файле, чтобы он вставлялся правильно в страницу.
Пример записываемого файла(файлов) в студию.
А так же, того как это на странице выглядит.(Скринами вид в броузере покажи)
Цитата(Deja Vu @ 28.4.2008, 14:31)
Пример записываемого файла(файлов) в студию.
А так же, того как это на странице выглядит.(Скринами вид в броузере покажи)
Код
$tootch="<CENTER>
<table border='1' width=60%>
<TR>
<TD width=10%>
<B><CENTER><h1>$num</h1></center></b>
</td>
<TD width=90%>
$message
</td>
</tr>
</table>
</center><!--00000000000000000000000000000000--> ";
$fr = fopen("base.txt", "a+");
fwrite($fr, "$tootch");
fclose($fr);
Вот пример записи в файл. Вид в браузере, мне кажется ни к чему. Представь себе гостевую книгу, где данные хранятся в файлах. Вот и все. Только надо данные в файлах правильно структурировать.
Цитата(G@RFILD @ 28.4.2008, 16:45)
Код
$tootch="<CENTER>
<table border='1' width=60%>
<TR>
<TD width=10%>
<B><CENTER><h1>$num</h1></center></b>
</td>
<TD width=90%>
$message
</td>
</tr>
</table>
</center><!--00000000000000000000000000000000--> ";
$fr = fopen("base.txt", "a+");
fwrite($fr, "$tootch");
fclose($fr);
Вот пример записи в файл. Вид в браузере, мне кажется ни к чему. Представь себе гостевую книгу, где данные хранятся в файлах. Вот и все. Только надо данные в файлах правильно структурировать.
самое простое, можешь сделать 1 файл на страницу... и добавить блок, который будет просматривать каталог и искать файлы по такой примерно маске base.\d{3}.txt (base.001.txt).
И соответственно создаешь динамически ссылки на каждую страницу.
а при открытии странице, проверяешь id этой страницы и открываешь соответственный файл. (например страница 4, значит открываем base.004.txt)
так вот. а как в файле разделять сообщения разных пользователей и например имя-фамилию? и надо бы чтобы было в одном файле. иначе небезопасно как-то.
Цитата(G@RFILD @ 29.4.2008, 15:02)
так вот. а как в файле разделять сообщения разных пользователей и например имя-фамилию? и надо бы чтобы было в одном файле. иначе небезопасно как-то.
я тебе предложу лучше два таких подхода:
1) XML.
Вместо .txt файлов воздавать один XML файл и в нем хранить сообщения пользователей:Код
<?xml ?>
<pages>
<page id="1">
<message author="some user" > some text</message>
<message author="any user" > some text</message>
<message author="noone user" > some text</message>
</page>
<page id="2">
<message author="some user" > some text</message>
</page>
</pages>
Или так, но тогда ты должен будишь вытаскивать для 1 страницы записи с id от 1 до N, на второй от N+1 до 2N и т.д.:Код
<?xml ?>
<messages>
<message id="1" author="some user" > some text</message>
<message id="2" author="any user" > some text</message>
<message id="3" author="noone user" > some text</message>
<message id="4" author="some user" > some text</message>
</pages>
Если же тебе надо сделать форум линейный, тогда комбинируй 1вое и второе, только вместо pages у тебя будут теги тем -))
2) Сериализация.
Можешь создават обект и сериализовывать его ^_^ ... но тут проблема с асинхронным доступом, хотя если решишь эту проблему, то будет быстрее, но менее надежно.
Или же в ручную каждую запись представлять одной строкой, при том экранировать все знаки перехода и прочее, а при показе восстанавливать.Код
some user|this is my message:\nHello world!
any user|bla\nbla\nbla
noone user|тихо всем.
---
Первый вариант с XML лучше ;)
Слушай, а нормальный вариант с переносом и разделителями, с массивом. Есть такое? =)
Цитата(G@RFILD @ 29.4.2008, 22:31)
Слушай, а нормальный вариант с переносом и разделителями, с массивом. Есть такое? =)
а сериализация это разве не оно и есть? ^_^
но вообще смотри в сторону XML.
и работай через SimpleXML - будет легче.
Просто я пока далек от понимания XML. =(
Цитата(G@RFILD @ 30.4.2008, 16:14)
Просто я пока далек от понимания XML. =(
XML это плюша.. почитай про него 1-2 статьив интернете ... там все просто.
Очень похоже на HTML ;)
Как можно записать в xml файл новый элемент в php5. Я пробовал так
Код
$newNode = $root_element->createElement($name,utf8_encode($content));
$root_element->appendChild($newNode);
$text = $xml->dump_mem();
$fp = fopen($path,'w');
fwrite($fp,$text);
fclose($fp);
тут он ругается на createElement (
Fatal error: Call to undefined method DOMElement::createElement()) Пробовал как в php4 тоже не работает. Помогите, плиз
Цитата(Photon @ 30.4.2008, 23:04)
Как можно записать в xml файл новый элемент в php5. Я пробовал так
Код
$newNode = $root_element->createElement($name,utf8_encode($content));
$root_element->appendChild($newNode);
$text = $xml->dump_mem();
$fp = fopen($path,'w');
fwrite($fp,$text);
fclose($fp);
тут он ругается на createElement (
Fatal error: Call to undefined method DOMElement::createElement()) Пробовал как в php4 тоже не работает. Помогите, плиз
http://ru2.php.net/domxmlDOMElement НЕ ЕСТЬ DOMDocumentкак ты создал $root_element?
Цитата(Deja Vu @ 1.5.2008, 23:40)
http://ru2.php.net/domxmlDOMElement НЕ ЕСТЬ DOMDocumentкак ты создал $root_element? Спасибо за внимание к проблеме. Ну ее я уже решил. Возможно, кому-то будет интересно. Я сделал след. образом
Код
$xml = domDocument::load($path);
$root_element = $xml->documentElement;
$newNode = $xml->createElement('body', utf8_encode('Тело'));
$root_element->appendChild($newNode);
$newNode->setAttribute('attrib', utf8_encode('атрибут'));
$xml_result = $xml->saveXML();
Ну все таки! =) Если плюшка - разберусь! =) А с регулярными выражениями типо Foreach и explode. Вот бы узнать как это точно сделать!
Цитата(G@RFILD @ 3.5.2008, 22:42)
Ну все таки! =) Если плюшка - разберусь! =) А с регулярными выражениями типо Foreach и explode. Вот бы узнать как это точно сделать!
Регулярные выражения это вам мой друг отдельно учить надо...
+ Они долго работают ...
Лучше split использовать.
По-моему, все-таки для работы с XML лучше использовать Document Object Model (DOM), все предельно ясно. Хотя есть такой момент, что в php4 и php5 функции для работы с этой моделью сильно разлизаются.
А по XML который с PHP учебник есть? Лучше, чтобы и то и другое в одном учебничке. Ото либо XML, который в каждом утюге кроме ПХП используется, либо нет. =-)
Цитата(G@RFILD @ 5.5.2008, 12:00)
А по XML который с PHP учебник есть? Лучше, чтобы и то и другое в одном учебничке. Ото либо XML, который в каждом утюге кроме ПХП используется, либо нет. =-)
У меня есть пару толковых статей по работе с XML в php. Правда, одна на английском, но есть и на русском
А скинь на русском? =) Буду благодарен.
Цитата(G@RFILD @ 8.5.2008, 12:50)
А скинь на русском? =) Буду благодарен.
Вот сюда кинул
ftp://digital.kazandom.ru/incoming/php&xml_article/ пару статей (см. файл с окончанием rus)
Огромное спасибо. Действительно понятный текст! =) Вот пример того, какими должны быть учебники!
Цитата(G@RFILD @ 9.5.2008, 20:05)
Огромное спасибо. Действительно понятный текст! =) Вот пример того, какими должны быть учебники!
Всегда рад помочь
Понимаю, что не в тему, но вопрос такой. Как сделать в HTML, чтобы определенное поле формы было выделено сразу.
Ребята. Ну помогите уж кто нибудь. Мне кажется что кто-нить должен знать, как это сделать чисто HTMLом Без всяких JavaScript/
~ПозитиФФФ~
20.5.2008, 16:53
подскажит плиз какими программами редактировать php страницы? и по возможности киньте плиз на фтп
Цитата(~ПозитиФФФ~ @ 20.5.2008, 18:02)
подскажит плиз какими программами редактировать php страницы? и по возможности киньте плиз на фтп
Хоть в блокноте
На самом деле лучше, конечно, PHP Expert Editor. На артвиде есть. В поиск пиши php expert. Если не найдешь, кину на ftp.
Цитата(G@RFILD @ 18.5.2008, 3:14)
Понимаю, что не в тему, но вопрос такой. Как сделать в HTML, чтобы определенное поле формы было выделено сразу.
Что значит выделено, фокус ввода (курсор) что ли нужно установить в поле формы? Тогда просто html - ом не получится (на сколько я знаю). javascript не такой уж страшный используй его, все-таки. Пиши типа по событию onload установить фокус.
~ПозитиФФФ~
21.5.2008, 7:27
Цитата(Photon @ 20.5.2008, 23:09)
Хоть в блокноте
На самом деле лучше, конечно, PHP Expert Editor. На артвиде есть. В поиск пиши php expert. Если не найдешь, кину на ftp.
агась, спасибо, уже скачал с матрикс версию 3.1..жаль что на инглише, ну да ладно) а как отредактироват файл config.in.in пробовал на через блокнот, кодировка не та видимо, иероглифы всякие =(
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.