PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (56): В начало « ... 44 45 46 47 [48] 49 50 51 52 ... » В конец

> Найдено сообщений: 830
White Отправлено: 08 Июля, 2011 - 20:18:52 • Тема: Обновление страницы • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28441
Евгений 777 пишет:
формы надпись "Комеент добавлен"


а можно "Комеент добавлен. Нажмите здесь если ваш браузер не поддерживает переадресацию"

а в таблице юзеров например добавить поле `lastsubmit`, куда во время добавления в базу записывать time(), и перед записью проверять если разница между $user['lastsubmit'] и time() меньше скажем 30(время в секундах делать die('отправка сообщения возможна через'.(30-(int)$user['lastsubmit']-time()))
(Добавление)
Евгений 777 пишет:
То что при попытке обновления страницы вручную вылетает окно "отправить заново". Может это и не во фреймворке дело, но лично я на многих сайтах такое наблюдаю


ну и пусть себе вылетает, если юзеру делать нечего на refresh жать пусть жмет. Главное чтобы данные повторно не записывались.
White Отправлено: 08 Июля, 2011 - 20:06:16 • Тема: Обновление страницы • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28441
Евгений 777 пишет:
P.S. На многих фреймворках даже такая же проблема, хоть я сам их ненавижу, никогда не использовал, но знакомые говорят что часто такая недоделка в них есть.


какая именно проблема? не доконца понял
White Отправлено: 08 Июля, 2011 - 19:46:27 • Тема: Обновление страницы • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28441
Евгений 777 пишет:
Так вот, видно придётся в 5-й раз переделывать код, хотя уже не знаю как его ещё делать


может вы просто ищете слишком сложные пути? почему не использовать JS? вы планируете поддержку мобильных браузеров, или расчитываете на то, что сайтом будут пользоваться параноики которые его специально выключают?
а ведь так просто window.location.href и все...
White Отправлено: 08 Июля, 2011 - 19:36:07 • Тема: Обновление страницы • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28441
ob_start() в самом начале кода(перед любым выводом)
$buffer=ob_get_clean() перед условием определяющим надо отправлять header или нет. Если надо, header(), если нет echo $buffer;

P.S. Это чтобы заработало, но использовать такую кострукцию не рекомендую, лучше сделать рефакторинг кода
White Отправлено: 08 Июля, 2011 - 13:47:07 • Тема: Установка Apache+php на windows XP • Форум: Apache и другие веб-серверы

Ответов: 6
Просмотров: 556
ViT-Vetal- пишет:
Fatal error: Call to undefined function mysql_connect()

в php.ini раскомментируйте строку extension=php_mysql.dll
и перезапустите php
White Отправлено: 08 Июля, 2011 - 13:32:00 • Тема: Прошу оценить скрипты • Форум: Вопросы новичков

Ответов: 3
Просмотров: 215
собственно оба можно сделать меньше с функцией glob()
в первом неплохо бы добавить рекурсию, чтобы копировались не только файлы а и папки
White Отправлено: 08 Июля, 2011 - 12:08:49 • Тема: Передача данных между страницами. • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 45
PHP:
скопировать код в буфер обмена
  1. /*создаю масивы*/
  2. $fld = array($tf1, $tf2, $tf3, $tf4);
  3. $val = array($sh, $s2, $s3, $s4);
  4.  
  5. $_SESSION["fld"]=$f;
  6. $_SESSION["val"]=$v;
  7.  
  8. if (isset($_GET["page"]))
  9.     {
  10.                 $f = $_SESSION["f"];
  11.                 $v = $_SESSION["v"];
  12.         }
  13.  


может так:
PHP:
скопировать код в буфер обмена
  1.  
  2. if (isset($_GET["page"])) {
  3.   $fld = $_SESSION["fld"];
  4.   $val = $_SESSION["val"];
  5. } else {
  6.   $fld = array($tf1, $tf2, $tf3, $tf4);
  7.   $val = array($sh, $s2, $s3, $s4);
  8.   $_SESSION['fld'] = $fld;
  9.   $_SESSION['val'] = $val;
  10. }
  11.  
White Отправлено: 08 Июля, 2011 - 11:37:10 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3697
fid пишет:
ну скорее всего он доступен внутри всего класса получается

доступен как $this->alist[его порядковый номер] внутри, и даже за пределами класса, но как $article только внутри функции add()
White Отправлено: 08 Июля, 2011 - 11:23:39 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3697
CODE (htmlphp):
скопировать код в буфер обмена
  1. function add(Article $article)


в инициализации функции вы говорите что объект $article новый экземпляр класса Article, он будет доступен только внутри функции, далее

CODE (htmlphp):
скопировать код в буфер обмена
  1. $this->alist[] = $article


вы записываете этот объект в массив который принадлежит ArticleList, для вызова этого обьекта внутри класса используйте $this->alist[номер статьи];

P.S. Не понятно зачем так извращаться, можно было просто в классе Article создать свойство
CODE (htmlphp):
скопировать код в буфер обмена
  1. private static $alist=array();

и функции
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. public function Article($id, $title, $content) {
  3.   $this->id = $id;
  4.   $this->title = $title;
  5.   $this->content = $content;
  6.   self::$alist[]=$this;
  7. }
  8. public function viewAll() {
  9.   foreach(self::$alist as $article) {
  10.     $article->view();
  11.   }
  12. }
  13.  
White Отправлено: 08 Июля, 2011 - 11:10:33 • Тема: Скрипт не работает на php 5 • Форум: Вопросы новичков

Ответов: 18
Просмотров: 734
kypok пишет:
Саныч, если бы мне эти подсказки помогли, больше вопросов не задавал бы, а выложил готовое решение.


Может вы их просто не услышали?
White Отправлено: 08 Июля, 2011 - 10:58:12 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3697
$article в данном случае не переменная, а экземпляр объекта класса Article. Точно таким же образом можно было бы дать ему другое имя
White Отправлено: 08 Июля, 2011 - 10:43:15 • Тема: php • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 550
window.location.href=''

только аякс тут не при чем
White Отправлено: 08 Июля, 2011 - 10:15:51 • Тема: Разрешения • Форум: Вопросы новичков

Ответов: 7
Просмотров: 334
grefon пишет:
С помощью класса можно определить тип браузера и в зависимости от этого разрешать дальнейшие действия или нет.


даже проще, отредактировать userdata.ini, убрав оттуда все ненужные браузеры, и упростить класс
PHP:
скопировать код в буфер обмена
  1.  
  2. class UASparser
  3. {
  4.         public $cache_dir       = null;
  5.         public $useragent       = null;
  6.  
  7.         private $_data                  = array();
  8.         private $test                   = null;
  9.        
  10.         public function __construct() {
  11.         }
  12.  
  13.         public function Parse($useragent = null) {
  14.                 $match=false;
  15.                 $this->useragent = $_SERVER['HTTP_USER_AGENT'];
  16.                 $_data = $this->_loadData();
  17.                 if($_data) {
  18.  
  19.                         // crawler
  20.                         foreach ($_data['robots'] as $test) {
  21.                                 if ($test[0] == $useragent) {
  22.                                         $match=true;
  23.                                 }
  24.                         }
  25.                        
  26.                         // browser
  27.                         foreach ($_data['browser_reg'] as $test) {
  28.                                 if (@preg_match($test[0],$useragent)) {
  29.                                         $match=true;
  30.                                         break;
  31.                                 }
  32.                         }
  33.                 }
  34.                 return $match;
  35.         }
  36.  
  37.         private function _loadData() {
  38.                 if (file_exists($this->cacheDir.'/uasdata.ini')) {
  39.                         return @parse_ini_file($this->cacheDir.'/uasdata.ini', true);
  40.                 }
  41.                 else {
  42.                         die('ERROR: No datafile (uasdata.ini in Cache Dir), maybe update the file manually.');
  43.                 }
  44.         }
  45.  
  46.         public function SetCacheDir($cache_dir) {
  47.                 if (!is_writable($cache_dir)) {
  48.                         die('ERROR: Cache dir('.$cache_dir.') is not writable');
  49.                 }
  50.                 $cache_dir = realpath($cache_dir);
  51.                 $this->cacheDir = $cache_dir;
  52.         }
  53. }
  54.  
White Отправлено: 08 Июля, 2011 - 09:03:50 • Тема: Разрешения • Форум: Вопросы новичков

Ответов: 7
Просмотров: 334
grefon пишет:
Если нужно, распишу более подробно с примером

любопытно, хотелось бы взглянуть
grefon пишет:
эта штука есть на очень ограниченном количестве хостингов

интересно, с чем связаны такие ограничения?
White Отправлено: 08 Июля, 2011 - 08:48:35 • Тема: проблема с function • Форум: Объектно-ориентированное программирование

Ответов: 5
Просмотров: 2038
garvey пишет:
сохраняйте значение в свойстве объекта

например:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. class global_vars {
  3.     public static $var;
  4.     private global_vars()
  5. }
  6.  
  7. function foo() {
  8.     global_vars::$var['some']='text';
  9. }
  10.  
  11.  
  12. function poo() {
  13.     echo global_vars::$var['some'];
  14. }
  15.  
  16. foo();
  17. poo();
  18.  

Страниц (56): В начало « ... 44 45 46 47 [48] 49 50 51 52 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB