Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - Алексей

Страницы: [1] 2
1
PHP / проблема с обработкой массива
« : 19 Июля 2005, 16:08:48 »
Пишу функцию, которая должна очищать POST:


<?
function 
clear_Post(&$in){
	
foreach(
$in as $key=>$value){
	
	
if(
is_array($value))
	
clear_Post($value);
	
	
else {
	
	
	
$value trim($value);
	
	
	
	
if(
get_magic_quotes_gpc())
	
	
	
	
	
$value stripslashes($value);
	
	
$in[$key] = $value;
	
	
}
	
}
}

if(
$_SERVER["REQUEST_METHOD"]=="POST"){
echo 
"<pre>";
print_r($_POST);
echo 
"\\n\\n======================\\n\\n";
clear_Post($_POST);
print_r($_POST);
echo 
"</pre>";
}
?>

<form action="" method="post">
	
<input type="text" value="       12" name="text">

	
<select name="sel[]" multiple>
	
	
<OPTION value="   1">1
	
	
<OPTION value="2">2
	
	
<OPTION value="   3   ">3
	
</select>
	


	
<textarea name="ta">       ddddddddd ddddddd [B]dd[/b]d     [b][/b]     </textarea>

	
<input type=submit>
</form>


только результат такой получается:

Array
(
    [
text] => 12
    
[sel] => Array
        (
            [
0] =>    1
            
[1] => 2
            
[2] =>    3   
        
)

    [
ta] => ddddddddd ddddddd [B]dd[/b]d
)


т.е. массив $_POST[\'sel\'] не обрабатывается (пробелы не вырезались). где и что я путаю??

3
PHP / Показ изображения через скрипт
« : 18 Июля 2005, 18:56:47 »
Скажите пожалуйста, антикеширующие заголовки здесь реально помогут?:


$fop 
fopen("file.gif""rb");
$str fread($fopfilesize ("file.gif"));
fclose($fop);

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
header("Content-type: image/gif");
echo 
$str;



4
PHP / Как сделать дерево?
« : 12 Июля 2005, 14:29:17 »
Раздел 1
_Раздел 1.1
__Раздел 1.1.2
__Раздел 1.1.3
___Раздел 1.1.3.1

сабж. такого типа, неограниченной вложености?

5
Привет.
Вообщем, проблема возникла после переустановки - виртуальные хосты, где лежат файлы хтацесс, неработают. Пишет:
Цитировать

Forbidden
You don\'t have permission to access /admin/ on this server.

Apache/1.3.31 Server at cms Port 80


на сайте прочел, что такие ошибки возникают тогда, когда что-то в хтацесс не правильно.. хотя вроде бы 500 ошибка показатель ОШИБКИ? Ну вот, зашёл в phpinfo(), а Loaded Modules для Апача просто нет ничего - типа не один апачевский модуль не подключен, хотя подключен реврайт 100%.

Вот. как с этим бороться?..

6
У меня имеется класс DB, для работы с БД.
Есть другой класс, который в данный момент является extends по отношению к DB:

class DB{
...
}

class OUTPUT extends DB{
...
}

Вот. Почему extends? потому, что в классе OUTPUT (это форматирование информаци перед разного рода выводом) имеется 1 метод из класса DB.

Получается, что в своих сценариях я запускаю либо DB, либо OUTPUT, в зависимости от того, нужно ли будет данные перед отправкой клиенту форматировать или нет.

Вот я и не уверен, правильно ли я делаю.. Может какие-нибудь другие способы есть вызвать метод класса DB из класса OUTPUT? Хотя с другой стороны, удобно инициализировать лишь OUTPUT

$myDB = new OUTPUT();

а не вызывать сначала класс DB, а потом и OUTPUT... Вобщем не знаю...

7
PHP / Парсер на пхп - как?
« : 27 Апреля 2005, 11:18:07 »
Эх, помнится в институте учили парсить... на С. Тогда я ничего не понимал, как и большинство моих одногрупников.

А сейчас вот просто возникло желание вернуться к азам программирования, чисто для себя попробовать научиться парсить чего-нибудь, хотя бы BB_теги какие-нибудь.. Очевидно на PHP надо это делать, т.к. кроме него и JS  я больше никаких языков так хорошо не знаю.
Видел статью на деталях, "Парсер на пхп - это возможно!", но ничего не понял :)
Может у кого есть примеры/статьи про конечные автоматы?
Спасибо.

8
Ilya Shuma
напиши для начала регистрацию пользователей, что б люди могли регистрироваться, вводить какие то свои данные, а ты через специалный веб-интерфейс мог бы с ними что-угодно делать - блокировать, удалять и т.д.
когда напишешь это - допиши к этому всему гостевую, ленту новостей редактор страниц и... будет тебе цмс. а вообще, тема обширная. ИМХО более или менее хорошую цэмку можно написать раза так с 3-го, когда ты поймёшь досконально все подводные камни пхп. У меня более или менее что-то качественно и структурированно начало получаться только после написания 2 cms... а в целом всё от опыта зависит, да...

хотя моя первая цэмка кривонаписанная до сих пор работает - аш 13 000 посетителей за месяц :)

9
PHP / Создание модуля "страниц" в цмс
« : 14 Апреля 2005, 12:43:21 »
Здравствуйте.
Возникла необходимость создать модуль, который бы обеспечивал бы создание разделов и страниц как подчинённых к какому то определённому разделу.
Хочется поинтересоваться у гуру, как это лучше осуществить, интересует реализация подобного.

Есть идея создавать сначала некий "индексной файл", который бы отображал как название раздела, так и его какие то элементы, вроде содержание до и после списка подчинённых страниц, но эта схема меня не устраивает т.к. хочется сделать всё по принципу неограниченного дерева, что бы к одной странице можно было бы сделать Н-ное количество подчинённых страниц.... не совсем понятно наверно?... Ну вот так например:

Раздел "PHP"

Основы
--Работа с куки
--Работа с сессиями
Приёмы
--Обработка данных
--Обработка формы
Практика
--Написание госевой
------Зачем нужна гостева?
------Кому нужна госевая?

и т.д..

Всё это ест. должно работать через адм. интерфейс, легко и понятно.

10
Сабж. С коллегой искали-искали, пытались настроить что бы не кракозябры вместо русского текста показывались, да не получилось ничего. $cfg[\'DefaultCharset\'] ставили в windows-1251 - никакого результата.:confused:

11
Привет!
Я что-то не пойму - в мускуле нельзя удалить записи из 2 таблиц чтоли?

Нужно удалить записи из 2 таблиц, где дата в NULL и не позже 2005-03-01.

Делаю так:
DELETE  FROM user_main
,  user_data 
WHERE user_main
.user_visiting IS  NULL 
AND user_main.user_id user_data.user_id 
AND user_main.user_registration <  \'2005-03-01\'


но это не работает :((

12
Базы данных / структура таблицы...???
« : 12 Января 2005, 11:46:21 »
вообщем, представьте, есть таблица юзеров - имя, фамилия и т.д. С этим всё понятно. Таблица как таблица.

НУЖНО сделать отдельную(е) таблицу(поля) для хранения данных, которых может не быть, а именно - предупреждения модератора ресурса за плохое поведение.
Предупреждений может быть например до 10. Т.е. 10 столбцов нужно.

вот как правильно сделать? Объеденить всё в одну таблицу:

user_id | user_name | .....  | preduprejdenie_1 | preduprejdenie_2 | .... | preduprejdenie_N

или же создать отдельную таблицу preduprejdeniya, и пополнять её только в случае, если предупреждения появляются.



Мне вообще то симпотизирует 1 вариант, т.к. он и для досье лучше подходит - не нужно говородить массу запросов и SQL легче будет. Но сомневаюсь в обилии пусых полей preduprejdenie_*, которые будут существовать в каждой записи из БД пользовательских данных. Ведь не каждый пользователь себя будет настолько плохо себя вести, что бы все 10 полей предупреждений модератор заполнил!

13
PHP / регулярные выр. помогите.
« : 28 Декабря 2004, 14:59:47 »
мля.. мне тут тестовое задание прислали, а я как лох, не знаю, как правильно сделать :(((

. написать regexp, возвращающий минимальную часть строки, заключенную в тэги “” и “”.

Пример:

Строка:  
somemoreyet another text text text
Результат:
“yet another text”


просто интересно, как такое можно осуществить?
ничего кроме preg_match ("#<text>([^</>]+?)</text>#i"$str$ar);
echo 
$ar[0]."
"
;

в голову не приходит :(((

я лох :((

14
PHP / extendes && OOP
« : 20 Декабря 2004, 18:31:57 »
Правило для PHP 4: Если класс не имеет конструктора, вызывается конструктор базового класса.

У меня есть главный класс DB:

DB
{
   function 
DB(){
   
//инициализация, соеденение с бд, выбор БД   
   
}
}


и есть:

class pages extends DB{
//....
}

без конструктора.

Работаю:
$myDB 
= new DB;
//....
$pgs = new pages();


Исходя из вышепредставленного правила, получается, что у меня класс DB 2 раза инициализируется! Недавно эту ошибку обнаружил, хотя никаких реальных ошибок до этого нет и не было...
Очевидно, я не совсем до конца понял суть extends..

Правильно ли я понимаю, что теперь, когда мне нужно использовать в сценарии класс БД и класс отстраничиватель pages, то достаточно вызвать один раз pages и работать только с ним, т.к. он наследует от главного класса все функции и переменные этого класса и pages не имея конструктора сам инициализирует класс DB? Или же существует како-нибудь другое решение?
Просто у меня в классе pages используются методы из класса БД, в частности  - запросы к базе.

15
PHP / деструкторы
« : 01 Декабря 2004, 10:46:35 »
я наверно не понимаю принципа, теории, но всё же - можно ли сделать деструктор, который закрывал бы соеденение с БД по окончанию работы сценария?
Или нужно тупо писать $DB->my_destructor(); ??

Страницы: [1] 2