PHP и с чем его едят....

Ashtaret

Филаретовый пизироq
да я какбы не спец в этих делах с базами, просто нужен был скриптик небольшой, а сержант кактотак подсказал мне что я должен был сначала похмелится , а патом садиться за такие дела...
 

m.a.n.d.y

New Member
У меня несколько вопросов по php & js.
В общем решил для собственных нужд написать легковесную CMS, если это так можно назвать. Вся data лежит в XML, есть контроллер который её парсит (simplexml) и в зависимости от входящих данных выдает нужный нам JSON.
И есть страница с якорной навигацией, которая получает JSON и генерирует на лету контент (тут jQuery).
Первый вопрос: как организовать кеширование распарсенного XML (трехмерный массив)? Правильно ли будет сериализовать все это и запихнуть в файл, имя которого привязать допустим к дате, и инклюдить его или парсить по-новому XML?
Второй: как правильно организовать кеширование полученных JSON данных на стороне клиента? Просто пихать в массив?
Третий: как все это потом подружить с поисковиками?
 
Останнє редагування:

akick

letter to god
У меня несколько вопросов по php & js.
В общем решил для собственных нужд написать легковесную CMS, если это так можно назвать. Вся data лежит в XML, есть контроллер который её парсит (simplexml) и в зависимости от входящих данных выдает нужный нам JSON.
И есть страница с якорной навигацией, которая получает JSON и генерирует на лету контент (тут jQuery).
Первый вопрос: как организовать кеширование распарсенного XML (трехмерный массив)? Правильно ли будет сериализовать все это и запихнуть в файл, имя которого привязать допустим к дате, и инклюдить его или парсить по-новому XML?
Второй: как правильно организовать кеширование полученных JSON данных на стороне клиента? Просто пихать в массив?
Третий: как все это потом подружить с поисковиками?
Про кеширование т.к. тип данных один - достаточно писать в файл 2 переменные первая оффсет времени, вторая сериализованные данные и если оффсет меньше текущего штампа времени обновляешь значения файла имя файла может быть как пример комбинация переменных $_GET в md5()
Кеширование в клиенте а это мил человек как ??? засовывать в куки браузера данные и при ф5 не грузить данные аджаксом а из куков ?? - бред !
Про сео тут имхо анриал, т.к. всё строится динамически.. только первичный вывод от сервера может информировать поисковик о типе контента...
 

dreamer

Member
У меня несколько вопросов по php & js.
В общем решил для собственных нужд написать легковесную CMS, если это так можно назвать. Вся data лежит в XML, есть контроллер который её парсит (simplexml) и в зависимости от входящих данных выдает нужный нам JSON.
Кстати зачем такой изврат? Если у вас данный в XML то и клиенту посылайте XML, вы знаете расшифровку AJAX? ;)
 

m.a.n.d.y

New Member
Кстати зачем такой изврат? Если у вас данный в XML то и клиенту посылайте XML, вы знаете расшифровку AJAX? ;)
2 dreamer: А в чем изврат то? В том, что бы работать на стороне клиента с родным для JS форматом данных? XML на сервере был выбран ради наглядности.

2 akick:
По поводу сео, есть одна схема, вероятно, вам знакома: ссылки выводить обычные и вешать на них обработчик с якорями, в случае HTTP_USER_AGENT выводить "lite" версию сайта с контентом. Дополнительный геморой, но все должно индексироваться.
 

akick

letter to god
2 akick:
По поводу сео, есть одна схема, вероятно, вам знакома: ссылки выводить обычные и вешать на них обработчик с якорями, в случае HTTP_USER_AGENT выводить "lite" версию сайта с контентом. Дополнительный геморой, но все должно индексироваться.
Эта схема очень хорошо банится поисковиками (лайт версия, диф. контента).
А дальше полнота индекса будет зависеть только от того как много грузится через ajax и как предусмотрена noscript навигация.

Моё маленькое imho: ajax штука конечно клацная но там где он пересекается с SEO ему места как и флешу нет т.к. врать поисковикам нельзя меняя выводы будете наказаны гораздо сильнее, так и получается что строить вывод на ajax нельзя - модифицировать можно догружая нужное по мере необходимости.. что не вредит никому ( рекламные ифреймы, обновление последних тем форума на главной и т.д.)
 

m.a.n.d.y

New Member
Эта схема очень хорошо банится поисковиками (лайт версия, диф. контента).
А дальше полнота индекса будет зависеть только от того как много грузится через ajax и как предусмотрена noscript навигация.

Моё маленькое imho: ajax штука конечно клацная но там где он пересекается с SEO ему места как и флешу нет т.к. врать поисковикам нельзя меняя выводы будете наказаны гораздо сильнее, так и получается что строить вывод на ajax нельзя - модифицировать можно догружая нужное по мере необходимости.. что не вредит никому ( рекламные ифреймы, обновление последних тем форума на главной и т.д.)
Этот момент я упустил, спасибо.
 
Помогите прикрутить мускул в пхп.
Значит установил мускул, по команде статус - все работает отлично.
Установил пхп, пхп инфо показывает полет номральный. Но ни слова о мускуле...
При проверке вот такая фигня:

Current PHP version: 5.2.1
Fatal error: Call to undefined function mysql_connect() in C:\Program Files (x86)\Apache Group\Apache2\htdocs\test\index2.php on line 11

Что сделал:
раскоментил в пхп.ини строку с екстенсион_мускул,
добавил ексенсион директори.
Скопировал библиотеку либмусклу в систем32.
Перезапустил апач...ничего.
 
Скрин и пхп.ини.

ах да, исходник того самого тест2.пхп

Код:
<?php
  print "Current PHP version: <b> ". phpversion() ."</b>";
  
  
  /*
  В этой строчке измените пароль доступа к mysql НА ТОТ, КОТОРЫЙ ВЫ ВВОДИЛИ ПРИ УСТАНОВКЕ MYSQL!!! 
  $link = mysql_connect("localhost", "root","YOURPASSWORD") or die("Could not connect");
  */
  
  
  $link = mysql_connect("localhost", "root","qwerty") or die("Could not connect");
  if( !$link ) die( mysql_error() );
  
  $db_list = mysql_list_dbs($link);
  
  while ($row = mysql_fetch_object($db_list)) 
  {
    echo "<h3>Database \"".$row->Database."\"</h3>\n";
    $result = mysql_list_tables($row->Database); 
    
    if(!$result) die( "DB Error, could not list tables\n MySQL Error: ".mysql_error() );
    else {
      while ($row = mysql_fetch_row($result))
      print "Table: $row[0]<br>";
      mysql_free_result($result);
    }
  }
  ?>
 

Вкладення

Зверху