Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Открыть новую тему     Написать ответ в эту тему

karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пытаюсь разобраться с примером работы в Zend Framework, который устанавливается вместе с Netbeans. Он называется Rent-A-Flat. Apache выдаёт такие ошибки при обращении к файлу index.php:

Цитата:
 
Warning: require_once(Zend/Loader/Autoloader.php): failed to open stream: No such file or directory in /var/www/rentaflat/public/index.php on line 62 Fatal error: require_once(): Failed opening required 'Zend/Loader/Autoloader.php' (include_path=':.:/usr/share/pear:/usr/share/php') in /var/www/rentaflat/public/index.php on line 62  
 

 
В системе такие файлы не установлены, проверил командой из корневого каталога

Цитата:
 
find . -type f -name "Autoloader.php"
 

 
Тем не менее, phpinfo() выдаёт, что он видит Zend Framework:

Цитата:
 
PHP API     20090626
PHP Extension     20090626
Zend Extension     220090626
Zend Extension Build     API220090626,NTS
PHP Extension Build     API20090626,NTS  
 

 
Я ошибаюсь насчёт наличия Zend Framework и его надо добавлять в систему?

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 21:03 15-10-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2

Цитата:
include_path=':.:/usr/share/pear:/usr/share/php'

скорее всего неполный.

Цитата:
В системе такие файлы не установлены

значит установлено неправильно.
http://stackoverflow.com/questions/1658908/cant-get-the-zend-loader-to-load-classes-only-under-wamp

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:37 15-10-2012
ShafMAN

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте
У меня вопрос по стандарту PSR-0 .
 
Допустим у нас следующая структура:

Код:
\Zend\Mail\Message => /path/to/project/lib/vendor/Zend/Mail/Message.php

 
Значит имя класса в Message.php будет Message:

Код:
 
class Message
{
    // code
}
 

 
 
Второй вариант:

Код:
\namespace\package\Class_Name => /path/to/project/lib/vendor/namespace/package/Class/Name.php

 
Здесь в файле Name.php имя класса получается должно быть Class_Name :

Код:
 
class Class_Name
{
    // code
}
 

 
Т.е. во втором варианте у нас название класса не совпадает с именем файла. Судя по стандарту я правильно понял, так и должно быть?

Всего записей: 125 | Зарегистр. 09-01-2005 | Отправлено: 14:42 17-10-2012
sasha_hard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добый день, помогите реализовать задуманное.
Имеется модуль для Джумлы, как только я захожу на страницу модуля, то он сразу выводит все данные из БД, а я хочу что бы человек сначала выбрал селекты и только потом выводились данные. Соответственно сначала должна быть пустая страница.
 
Скрипт обработчик
Код:
<?
defined( '_JEXEC' ) or die( 'Restricted access' );
 
$db =& JFactory::getDBO();
 
 
$query="SELECT DISTINCT gruppa FROM #__test ORDER BY gruppa";
$result = $db->setQuery($query);
$gruppa_filter =$db->loadResultArray();
 
$query="SELECT DISTINCT prepod FROM #__test ORDER BY prepod";
$result = $db->setQuery($query);
$prepod_filter =$db->loadResultArray();
 
$query="SELECT gruppa, prepod";
$query.=" FROM #__test WHERE 1 ";
 
  if($_POST['prepod_f'])$query.=" AND prepod='".$_POST['prepod_f']."'";  
      $result = $db->setQuery($query);
      $rows =$db->loadObjectList();  
 
?>
 

 
Форма с кнопкой
Код:
<form onsubmit="javascript: document.filter.submit();" action="" method="post" name="filter">
    <td>
        <select  style="width:200px" name="gruppa_f" size="1">
            <option value="">Все группы</option>
            <?
            foreach ($gruppa_filter as $f)
            {
              if($f==$_POST['gruppa_f'])$sel=' selected="selected" ';
              else $sel='';
              print '<option '.$sel.' value="'.$f.'">'.$f.'</option>';
            }
            ?>
        </select>
    </td>
     <td>
        <select style="width: 200px" name="prepod_f" size="1">
            <option value="">Преподаватель</option>
    
            <?
            foreach ($prepod_filter as $f)
            { if($f==$_POST['prepod_f'])$sel=' selected="selected" ';
              else $sel='';
              print '<option '.$sel.' value="'.$f.'">'.$f.'</option>';
            }
            ?>
        </select>
    </td>
 
    <input type="submit" value="Отправить">
    
 </form>
 

 
А вот так вывожу данные
Код:
 
<tr>
    <td style="width: 200px"><?php=$row->gruppa  ?></td>
    <td style="width: 200px"><?php=$row->prepod  ?></td>
</tr>
 

Всего записей: 44 | Зарегистр. 01-03-2011 | Отправлено: 19:53 26-10-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sasha_hard
а при чем тут "основы"??
идете в тему по Joomla и спрашиваете

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:33 26-10-2012
sasha_hard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так меня PHP интересует. "Модуль" самописный.

Всего записей: 44 | Зарегистр. 01-03-2011 | Отправлено: 22:10 26-10-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sasha_hard

Цитата:
Так меня PHP интересует. "Модуль" самописный.

вас интересуют особенности связанные с данной CMS
код зависит от API CMS, поэтому его надо знать, а это уже вопрос для темы о данной CMS, не для "основ PHP"
 
вам сюда Портал Joomla (часть 2)

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:12 26-10-2012 | Исправлено: Cheery, 22:13 26-10-2012
ra1n



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Пишу сюда, что бы темы не плодить. Система Амиро, modRewrite на их серверах не поддерживается.
 
Тех.поддержка прислала пример скрипта, но разобраться в нём не получилось, не хватает знаний.
 
Кусок кода который добавляем в существующий файл:
 

Код:
class CST_Redirector{
protected static $wwwPath;
 
    public static function init(){
        AMI_Event::addHandler('custom_on_system_start', array(CST_Redirector, 'handleSystemStart'), AMI_Event::MOD_ANY);
        self::$wwwPath = $GLOBALS['ROOT_PATH_WWW'];
        }
 
    public static function handleSystemStart($name, array $aEvent, $handlerModId, $srcModId){
       // $aEvent['url'] - содержит запрошенный URL сайта
       // self::$wwwPath - WWW-путь до корня сайта
       // здесь можно делать перенаправление
 
       return $aEvent;
       }
   }
 
define('AMI_FIRE_ON_SYSTEM_START', TRUE);
CST_Redirector::init();

Вопрос - как с его помощью задать перенаправление?
В каком месте указывать запрошенный URL, в каком путь до корня (его что, повторно надо указывать?) и где указывать URL на который перенаправляем?

Всего записей: 328 | Зарегистр. 22-12-2006 | Отправлено: 21:31 05-11-2012 | Исправлено: ra1n, 21:31 05-11-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ra1n

Цитата:
Вопрос - как с его помощью задать перенаправление?  
В каком месте указывать запрошенный URL, в каком путь до корня (его что, повторно надо указывать?) и где указывать URL на который перенаправляем?

там же все указано
 

Цитата:
    public static function handleSystemStart($name, array $aEvent, $handlerModId, $srcModId){  
       // $aEvent['url'] - содержит запрошенный URL сайта  
       // self::$wwwPath - WWW-путь до корня сайта  
       // здесь можно делать перенаправление  
 
       return $aEvent;  
       }  

 
смотрите массив $aEvent и меняйте нужный элемент массива (скорее всего тот же url) как вам хочется

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:32 05-11-2012
ra1n



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
как раз прочитал что array это массив и судя по всему перенаправление надо как то так задавать:

Код:
$array = [
    "foo" => "bar",
    "bar" => "foo",
];

Но php темный лес... Как просмотреть массив и изменить нужный элемент? Или долго объяснять всё это?

Всего записей: 328 | Зарегистр. 22-12-2006 | Отправлено: 21:40 05-11-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ra1n

Цитата:
Как просмотреть массив и изменить нужный элемент? Или долго объяснять всё это?

var_dump($aEvent);
изменить
$aEvent['url'] = 'какой то URL';

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:41 05-11-2012
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне нужно отобразить результаты работы программы на html-странице. Ранее был написан прототип кода, который вызывает программу для сложения чисел. Это решение успешно работало. Сейчас переделал эту страницу для вызова реального приложения,  и ничего не отображается. Можете подсказать, в чём здесь проблема?

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 10:11 17-11-2012 | Исправлено: karakurt2, 10:13 17-11-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2

Цитата:
и ничего не отображается

лог ошибок php смотрели? или сделали вывод всех сообщений об ошибках php?
сколько времени выполняется код?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 10:35 17-11-2012
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, Cheery
 
Да, в журналах я нашёл подсказку

Цитата:
 
/var/www/cgi-bin/SimOne: error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
 

 
В сессии Apache не были прописаны пути к динамическим библиотекам. Я пересобрал исполнимый файл со статическими библиотеками и теперь всё работает как и ожидалось.

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 03:20 19-11-2012
OnePrg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Братья и сестры!
 
Поделитесь опытом, кто какими инструментами делает отладку на PHP.

Всего записей: 450 | Зарегистр. 25-10-2007 | Отправлено: 12:51 21-12-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OnePrg

Цитата:
кто какими инструментами делает отладку на PHP.

зависит от сервера и возможностей. можно выполнять прямо в IDE (тот же nuSphere, к примеру) - встроенный дебаггер. если установлено расширение xdebug, то можно удаленно.
но я делаю в самом коде - просто вывожу var_dump где нужно и смотрю переменные.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 22:07 21-12-2016
fararara

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, что можно изучить в области PHP применительно к верстке шаблонов.  
Конкретно: как создать файлы шаблонов для CMS, как их подгружать, как подгружать виджеты. Без влезания в дебри.

Всего записей: 243 | Зарегистр. 19-03-2010 | Отправлено: 19:26 14-01-2017
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу совета, итак у нас есть:
 
$s=date("d.m.y.H.i"); // предположим это 20.02.16.17.20
 
setcookie("test","$s",time()+ 36000);
 
 
как сделать проверку по дате ($s)   если прошло более 24 часов с  момента установки (например уже 21.02.16.18.55, то
 
 {header('Location:2.html');}  если же менее 24 часов,  то {header('Location:1.html');}
 
в каком направлении копать? вариант просто прописать срок жизни куки в 24 часа не подходит.
 
 

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 16:41 20-02-2017
Kaber



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88
Так не работает?

Код:
<?php
$s=date("d.m.y.H.i"); // предположим это 20.02.16.17.20
 
setcookie("test","$s",time()+ 10); // если сутки, то 86400
 
if(isset($_COOKIE['test']))
{
    header('Location: cookie.php');  //Куки задана  
} else  
{
    header('Location: cookie_die.php');  // Куки кирдык
}

Всего записей: 1356 | Зарегистр. 14-03-2014 | Отправлено: 17:43 20-02-2017
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо за участие, но этот вариант не походит.
 
1. setcookie("test","$s",time()+ 3600000);  // не скопировались несколько ноликов.  Кука должна долго жить, по ней отслеживается время первичного захода.  Как вариант можно конечно поставить две куки, по одной отслеживать первый заход по второй отсчитывать 24 часа.
 
2. куки можно легко редактировать.  Идея была записать дату установки в имя и уже по ней вести отсчет.

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 18:15 20-02-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru