PDA

View Full Version : Вопросы и ответы по PHP



PGArchangel
11-04-2007, 20:25
Думаю, тема пригодится. :) Хотя бы мне может. :)

Вообще мне интересно, кто тут знает PHP?

Crisis
11-04-2007, 20:33
PGArchangel, ну знают, и что? Вопрос конкретный задавай, тогда быстрее получишь конкретный ответ.

з.ы. я не знаю PHP. Если где задаешь общий вопрос по определенной тематике, то в лучшем случае тема окажется в корзине.

Digger
11-04-2007, 20:47
Согласен с Crisis. По идее, эта тема должна была бы носить название типа "Мое отношение к PHP" и обсуждать преимущества и недостатки PHP. А в открытое голосование вынести вопрос - знаю и использую; знаю, но нафиг надо; не знаю, но очень выучить хочу; нет, нафиг надо

PGArchangel
11-04-2007, 21:11
Преимущества и недостатки - не надо, я вообще интересуюсь совсем другим. :) Вообще, когда создавал тему, вопрос был, но решение само пришло, потому сделал общую )))

Хотелось бы узнать у кого-нибудь есть статьи по производительности в PHP, как лучше кодить, чтобы уменьшить время выполнения скипта?

Ещё вот вопросик:
В мануале по PHP есть описание PREG-функций, например, preg_replace, но там не сказано, какой функцией обрабатываются при использовании модификатора e в строке замещения ссылки типа \1 и т.д. Я так полагаю, что это функций addslashes. Хотел бы знать, знает ли кто точно это она?

Ещё вот вопрос есть.
Как можно объединить 2 массива(с помощью встроенных функций) так, чтобы все значения первого шли первыми, а значения второго - за ними, но чтобы, значения не повторялись, если в массивах есть одинаковые.

TijAY
11-04-2007, 23:24
Я немного похозяйничал в предыдущем посте. Не обижайтесь, новый участник! ;)

У меня возникли встречные вопросы: производительность php? что скрывается за этим вопросом? в сравнении с чем? уточните.

Следующее: электронный журнал php club вам знаком?

PGArchangel
12-04-2007, 00:23
Тидж, а без "вы" можно? :) Вроде знакомы уже давно )))

Насчёт произодительности - имеется в виду стиль написания кода, при котором будет наивысшая производительность. Например, известно, что использование переменных внутри строк, заключённых в двойные кавычки значительно затратнее, чем соединение строк("."). По типу такого нужна инфа, в частности, может, тесты какие-то проводились, любительские, не любительские.... :) Сам когда-то проводил, но всего не проверишь. :)

php club - не знаком. :) Пока единственное, что я читал - PHP Manual официальный. :) Пара учебников в начале не считается ))

PGArchangel
17-04-2007, 21:08
Что-то тут затихло как-то... вопросы так без ответов и остались. :) Мож кто знает, какие схемы вывода картинок для подтверждения ввода бывают? :) C технической точки зрения. :) Один в инете нашёл, но он мне не понравился, - через сессии который. :)

ray315
05-10-2007, 22:07
Посоветуйте, кто знает как сделать кнопки на PHP?

МакарЧег
05-10-2007, 23:47
Посоветуйте, кто знает как сделать кнопки на PHP?
На PHP никак, только на html:

<input type=button name=knopka1 value="Моя кнопка" >

shultz
06-10-2007, 01:40
На PHP никак, только на html:

<input type=button name=knopka1 value="Моя кнопка" >
а в пхп это будет выглядеть типа echo('<input type=button name=knopka1 value="Моя кнопка" >') или сначала закрыть тег php '?>' вставить хтмл-код кнопки и опять открыть тег <?php

Digger
06-10-2007, 02:24
А можно еще через шаблонизатор.

2PGArchangel: я видел два пути. Первый - генерация картинки по заданной формуле. Типа:
<IMG SRC='confirmimage.php?random=13232'><INPUT TYPE='text' NAME='conftext'><IMG TYPE='hidden' NAME='random' VALUE='13232'>
а в пхп-скрипте идет кодирование 13232 в то, что представлено на картинке и сравнение с этим содержимого conftext.
Второй вариант - кодирование на строне сервера и картинка:
<IMG SRC='confirmimage.php?hash=hd123ab231ca....'><INPUT TYPE='text.... далее аналогично предыдущему примеру.
В соответствующую базу данных при выводе картинки помещается случайный код и его сложный хэш. При поступлении формы сравнивается text и hash.

PGArchangel
06-10-2007, 10:46
2Digger
Да я уже попроще вариант нашёл, хотя немного и неправильный. Я создаю файл, название которого IP-адрес. И туда вношу код на картинке. После проверки файл удаляется. Правда вот не решил, как удалять файл, если проверки не произошло... :)

Digger
06-10-2007, 11:35
Это проще? :-) Можно раз в 10 минут удалять все, которые старше 10 мин.

Crisis
06-10-2007, 14:48
Можно раз в 10 минут удалять все, которые старше 10 мин.
Старше?? ;-)))

PGArchangel
06-10-2007, 17:25
Это проще? :-) Можно раз в 10 минут удалять все, которые старше 10 мин.
Раз в 10 минут удалять - это надо в индексный файл вносить лишнюю проверку, метод простой, но лишняя проверка - это лишняя проверка....

Digger
06-10-2007, 17:52
Почему обязательно в индекс? Можно повесить на крон. Но обращение к файлам - это слишком сложно. Разве не проще сделать аналогичную MySQL-таблицу с тремя (четырьмя) полями - (ключ), айпи, время, код? А при вызове скрипта (или снова крон) - delete from checkimages where время<$btime, где $now = time()-[постоянный интервал в секундах].

PataFromOzz
13-11-2009, 00:12
При создании администраторского блока возник вопрос, можно ли напрямую из PHP скрипта создать базу данных в MySQL, таблицы и поля. Если кто знает как, пожалуйста разместите образцы запросов или кодов осуществяющих данную возможность.

Digger
13-11-2009, 02:10
1. Create database: http://ru2.php.net/manual/en/function.mysql-create-db.php
2. Use Mysql Query: http://ru2.php.net/manual/en/function.mysql-query.php
3. Create table: http://dev.mysql.com/doc/refman/5.1/en/create-table.html

PGArchangel
13-11-2009, 11:26
или зайти в phpMyAdmin. там при создании таблиц/БД и т.п. всегда выводится SQL-запрос.

nemozar
28-02-2010, 16:01
для авторизации уже давно придуманы рекапчи (остальное легко обходят боты). Хранение на стороне клиента код подтверждения для сравнения тоже не айс (я все про тех же ботов) на мой взгляд, если уж делать то:
1. создать таблицу id, code, time, hash
2. когда юзер генерит картинку геренить по тип <img src='gener_code.php?hash=15sadf12asdf'> и сравнивать AJAX запросом на сервер, выборкой по хешу и сравнением code поля. А все остальное обойдут боты. (ну и поправка на "испорченность" изображения)

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