# Компьютеры, телекоммуникации, ПО... > Программирование >  Введение в PHP, MySQL

## Anonymous

ребята, а можите мнепомочь с конкретной задачей :smileflag:  Это создание базы данных в php я сам пытался разобраться, тно так ничего и не понял... каким образом и где ее создовать, нужны ли дополнительные программы... ну и соответственно как их (базы данных) изменять и дополнять... да и вообще все что можно с ними делать? т.к. javascript с которым я сам вроде разобрался никаких таких возможностей не предусматривает :smileflag:

----------


## iFog

Если ты ещё совсем не знаком с пхп - объяснять что-либо бесполезно.
тебе сначала нужно многое самому прочитать, так как правильно ответить на вопрос можно только если вопрос правильно поставлен, а чтобы правильно поставить вопрос, нужно на 60% знать ответ.

Читай пока это
http://detail.phpclub.net/article/phpintro

----------


## Anonymous

Как я понимаю, MySQL это отдельный продукт, необходимый для установки, можно ли узнать: 1. Что входит в него; 2. Где это взять; 3. Как правильно его устанавливать.

fog, большое спасибо, за ссылку, очень полезной оказалась та информация. Про php знаю и в принципе читал, но все дело в том, что сам все читал и не многое понял. А самое сложное для меня, это когда практически нет примеров. Если ты можешь, то помоги с примерами, мог бы ты привести пример форума? В котором было бы расписано что к чему? т.е. каким образом поисходит сохранение текста, его последующая запись?.
В принципе я могу показать, что я хочу сделать на php... для начала. Это обычные тесты.

----------


## Anonymous

Вот пример тестов которые написаны: http://testinvisible.narod.ru/
и которые мне необходимо изобразить в php, если есть конкретные соображения то прошу написать о них или если можите выслать на e-mail [email protected]

----------


## Даниил

:smileflag:  Только что зарегистрировался. Теперь я буду не invisible

----------


## iFog

Примеров в интернете - завались. Достаточно у Яндекса спросить.
Если ты только начал - попробуй написать сначала что-то попроще чем форум, гостевую книгу например =)

скриптов можно взять например тут

----------


## iFog

и вообще http://www.php.net/manual/ru/getting-started.php

----------


## insane

Я так и не пробовал PHP, хотя многие советуют. Люблю PERL. Пока слазить с него не собираюсь.

----------


## iFog

*insane*, перл тоже хороший язык, но если написать нужно систему управления контентом - пхп на мой взгляд гораздо удобнее.
Вообще-то код на перле считается одним из самых трудночитаемых :)

----------


## Даниил

У меня есть вопрос... если есть форма:
<FORM ACTION="townon.php" METHOD="POST"> 
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"> 
<INPUT TYPE="password" NAME="pass" SIZE="20" MAXLENGTH="30">
... (и много много таких к примеру штуки 4 или более вниз)

Можно ли написать функцию или можт уже что есть, которая бы сама присваивала значение NAME="name" опред. переменной, кроме как каждый раз прописывать $name=$_POST['name'] ?
Если что есть, то буду очень рад... с ув.

----------


## iFog

А что тебе мешает и дальше работать с масивом $_POST ? Это вполне корректно.
Можно, конечно, использовать extract($_POST);

----------


## atomizer

помнится переменная name сама создается после отправки формы!

----------


## Даниил

У меня есть глупый вопрос, а как в php открыть новое окно при нажатии ссылки, передав туда часть введеной в форме информации, при этом не используя ссылку в виде "viewtopic.php?p=1111#1111", а просто "viewtopic.php"?

----------


## iFog

*atomizer*, это если в настройках стоит register_globals = 1, то не рекомендуется, в целях безопасности, и по умолчанию отключено, если я не ошибаюсь.

----------


## iFog

*Даниил*, как-то ты не понятно вопрос задал.

----------


## iFog

*Lord of rings*, а ты мог бы дать эту книгу почитать? Не на долго, кое-что посмотреть в ней хочется.

----------


## Lord of rings

Даниил, поищи лучше на книжке что-то вроде: Д. Котеров "Самоучитель по ПХП"... Она мне в свое время очень помогла понять основы, потом я уже начал лазить на специализированные сайты... 
И постарайся читать её не кусками, которые тебе прямо сейчас нужны, а подряд. Причем так - прочитал пару страниц - сел за комп и прогнал скриптик... И так по порядку... Многие общие вопросы у тебя со временем сами отпадут. А частные уже не стыдно задавать.  

Да, не забудь поставить какой-нибудь текстовый редактор, чтоб номера строк показывал. Aditor прекрасно подойдет...

----------


## iFog

Lord of rings, куда же ты пост удалил? :)

----------


## Lord of rings

А... уже вернул... после такого количества накануне выпитого, я не на те кнопки иногда попадаю
можешь этот пост удалить...

----------


## iFog

=)) так как с книгой?

если интересно, могу дать почитать "PHP4 - разработка web-приложений", хэто не учебник по программированию на PHP, а теория по созданию web-проектов, с использованием PHP.

----------


## Даниил

Мне бы кто что дал почитать :smileflag:  
*Lord of rings*, а мне не стыдно задавать глупые вопросы, потому как я знаю, что по большому счету ничего не знаю, но хочу узнать. Я очень благодарен за ответы :smileflag:  даже если я ничего не понял и меня не поняли... то я черпаю новую информацию и далее учусь ставить правильные вопросы :smileflag: 

У меня есть новый вопрос (если я надоел с вопросами можно просто не отвечать, я ведь просто любопытный человек):
Есть координаты x и y,  как правильно организовать чтение и запись их в файл? Так чтобы при добавлении новой пары старые не исчезали?

----------


## Lord of rings

> Есть координаты x и y, как правильно организовать чтение и запись их в файл? Так чтобы при добавлении новой пары старые не исчезали?


 Даниил, ты бы хоть вопросы научился правильно ставить. Какие координаты, откуда они берутся и т.д.???? Если это для ПХП, то там есть набор функций для работы с текстовыми файлами...

----------


## Даниил

*Lord of rings*, Набор функций есть везде. А вопрос правильный. Есть координаты x и у --- это переменные значения, которые необходимо сохранять и затем читать, при необходимости. А какие функции и как их правильнорасположить скажи.

----------


## Lord of rings

> Lord of rings, Набор функций есть везде. А вопрос правильный. Есть координаты x и у --- это переменные значения, которые необходимо сохранять и затем читать, при необходимости. А какие функции и как их правильнорасположить скажи.


 Не скажу - изыщи гривен 30 на учебник по ПХП и проштудируй... А то хочешь всё и сразу... В том учебнике, что я сказал есть раздел "Работа с файлами". Если денег совсем нету, полезай хоть на www.citforum.ru.

----------


## iFog

Какой Ситифорум =)
первым делом сюда http://www.php.net/manual/ru/ref.filesystem.php

----------


## Lord of rings

> Какой Ситифорум =) 
> первым делом сюда http://www.php.net/manual/ru/ref.filesystem.php


 Какая разница куда, если человек не может понять, что переходят от общего к частному, а не наоборот

----------


## Даниил

Привет всем, я снова с вопросами.
Когда я выполняю:
$x00=fopen("counter.php","r+");
fputs($x00,$x02);
fclose($x00);
и (или)
$x01=fopen("base.php","w");
fputs($x01,$x06);
fclose($x01);}
у себя на компе, то все нормально.
А когда гружу на хостинг: ruwh.com и запускаю сайт http://testinfo.ruwh.com/admin.php он выдает ошибку?
С уважением...

----------


## Lord of rings

Даниил, а ты литературой обзавелся????

----------


## Даниил

Нет. Ті помочь можешь или не хочешь?

----------


## Даниил

Всем спасибо вроде как разобрался :smileflag:

----------


## Lord of rings

> Нет. Ті помочь можешь или не хочешь?


 Чем помочь??? Материально?

----------


## Даниил

Ты действительно такой... или притворяешься?

----------


## Lord of rings

> Ты действительно такой... или притворяешься?


 Какой?

----------


## iFog

*Даниил*, 
phpclub.ru
php.spb.ru
webscript.ru
cgi.myweb.ru

всё что тебе нужно

----------


## Lord of rings

Вот еще один:
http://www.citforum.ru/internet/php.shtml

----------


## iFog

Ой, нет, Вебскрипт не читай =)
там такое http://www.webscript.ru/stories/03/04/11/6874707 можно найти :-/
Ещё прочтёшь что-нибудь вредное :) Хотя хорошие статьи там тоже есть.

Можно ещё почитать статьи Спектатора http://spectator.ru

----------


## Даниил

fog обязательно зайду, спасибо :smileflag: 
Lord of rings, спасибо, ты уже давал эту ссылку, я там уже был. И кое что читал :smileflag:  (А на счет "такой" -- властительный? не пойми это как оскорбление, просто не часто мне встречается такой темперамент людей как у тебя)
С уважением, Я  :smileflag:

----------


## Lord of rings

> fog обязательно зайду, спасибо
> Lord of rings, спасибо, ты уже давал эту ссылку, я там уже был. И кое что читал (А на счет "такой" -- властительный? не пойми это как оскорбление, просто не часто мне встречается такой темперамент людей как у тебя)
> С уважением, Я


 А что ты хотел??? Я же ВЛАСТЕЛИН КОЛЕЦ...

----------


## iFog

> просто не часто мне встречается такой темперамент людей как у тебя


 Ты, видимо, ещё небыл на форумах где сталкиваются про-программеры и ламеры :/

----------


## Даниил

"Ты, видимо, ещё небыл на форумах где сталкиваются про-программеры и ламеры :/ " я вообщередко бываю на форумах...
Я снова тут чтобы надоедать...
1. Вопрос, есть ли в php функция, которая позволяет происходить событиям по истечению времени... (если есть то как она действует)? 
и 2. возможно ли нажатие кнопки по истечению времени?

----------


## Lord of rings

> "Ты, видимо, ещё небыл на форумах где сталкиваются про-программеры и ламеры :/ " я вообщередко бываю на форумах...
> Я снова тут чтобы надоедать...
> 1. Вопрос, есть ли в php функция, которая позволяет происходить событиям по истечению времени... (если есть то как она действует)? 
> и 2. возможно ли нажатие кнопки по истечению времени?


 Думаю - лучше обратиться к старому доброму Java Script....

----------


## iFog

ты путаешь серверный(PHP, etc) и клиентский(JS, VB) скрипты.
Почитай тут http://faq.phpclub.net/

особенно там, где про "самые основы"

А функция которая тебе нужна - setTimeout() (JS)

----------


## Даниил

Я не путаю, я спрашиваю... т.к. для меня это существенно :smileflag:  А сколько не перерых литературы там такого нет... вот хотел квалифицированое мнени узнать.
А функцию я знаю... мне надо организовать по завершению времени переход на другую страницу с соранением выбраных ответов :smileflag: 
Как лучше в JS єто организовать?

----------


## Lray

*Даниил*, ну советуют тебе люди - полазь по правильным сайтам, почитай *тру* книжки - и все тебе станет понятно :)

----------


## Lord of rings

*Даниил*, Ну возьми таки пойди почитай чего-нибудь... Я кстати на твои вопросы не могу ответить конкретно - Я НЕ ЗНАЮ... Когда у меня возникают подобные вопросы - я лезу куда-нибудь (в Инет или в книгу какую-нибудь и читаю) - а ради тебя лезть и выискивать формат твоей функции  JS - ты уж извини.
А насчет - "как лучше организовать" - а ты попробуй потыкаться САМ, САМ потом и поймешь, как чего лучше организовать... Кстати, если ты не можешь сходу организовать свою задачу - попробуй по-институтски  - алгоритм изобразить или блок-схему, может поможет
Помню только года 2 назад я подобную проблему (с задержкой закрытия окна) я решил при помощи JS... 
Вот тебе еще одна ссылка:
http://www.citforum.ru/internet/javascript/

----------


## Lord of rings

Метод setTimeout
Выполняет выражение по истечении установленного количества миллисекунд. 
Синтаксис:

timeoutID=setTimeout(expression, msec)


timeoutID идентификатор, который используется только для окончания выполнения, используя метод clearTimeout. 
expression строковое выражение или свойство существующего объекта. 
msec числовое значение, числовой ряд или свойство существующего объекта в миллисекундах.

Метод:
frame, window 
Описание:
Метод setTimeout выполняет выражение после установленного количества времени. Он не выполняет выражение многократно. Например, если метод setTimeout установлен на 5 секунд, то выражение выполнится через 5 секунд, но не каждые 5 секунд. 
Смотрите также:
метод clearTimeout.

----------


## iFog

Не можешь найти - потому что не там ищешь :)
Я же говорю путаешь серверную часть с клиентской.
То что ты хочешь - должно выполняться у юзера на машине.
А PHP отрабатывает на сервере.

----------


## Lord of rings

> Не можешь найти - потому что не там ищешь 
> Я же говорю путаешь серверную часть с клиентской.
> То что ты хочешь - должно выполняться у юзера на машине.
> А PHP отрабатывает на сервере.


 Ну где-то да...

----------


## Даниил

Скажите я правильно понял, что  rand выдает произвольное число только в целых значений???

----------


## iFog

если тебе нужны случайные числа - почитай комментарии вот тут

http://www.php.net/manual/ru/function.rand.php

там есть примеры на все случаи жизни.

----------


## BellRinger

*Даниил*, Случаем не планируется создание автофлудера, который закидывает сообщениями подобный форум, скажем? Нажатие кнопки (вернее отправки формы) по истечении времени - сие произходит на тачке клиента, а не сервака.

Наводящий вопрос: Где крутится PHP - на серваке или у клиента?

----------


## Jeno

Да, такая функция есть , только это не функция php  а функция “Apache” (веб сервер), там есть такая штука как “kron”, пишешь в специальном файле: функцию, и в какое время ее запустить, и все .

----------


## Nightman

Всем привет!
У меня такой вопрос. На локальной машине стоит Apache 2.0.52, PHP 4.3.10, MySQL 4.1.10. Создал базу данных из консоли, оттуда же наполнил её пробными данными. Теперь при попытке соединиться с этой базой из программы на PHP он выдаёт такую ошибку:

Error 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client

И что теперь делать? Я уже целый день просидел, кучу документации перечитал, по два раза всё переустановил, а бестолку.
Заранее спасибо  :smileflag:

----------


## Lord of rings

Поставь MYSQL 3-й версии - 3.23.56 или возьми свежий РНР, но первый вариант - лучше. тебе кстати, английским языком написали, в чем проблема...

----------


## Nightman

По-английски понял конечно. Только я думал, что они всё-таки могут работать вместе, а это что-то недописано в файлах конфигурации.
Кстати, а почему первый вариант лучше? Мне проще сделать второе.

----------


## Inferno

На какой ос поднимал связку?

----------


## Nightman

WinXP SP-2. А это имеет значение?

----------


## Nightman

Ещё один вопрос. Поставил PHP 5.0.4, остальное без изменений. Базы данных начал видеть, извлекать данные, всё как надо. Появилась другая проблема - не воспринимаются переменные, которые передаются в URL, наподобие

http://localhost/site/page.php?param=value

На прошлой версии PHP с этим проблем не было. Подскажите, плиз, что делать. В хелпах ничего не нашел (

----------


## Яр

Наверное причина в register_globals?

можно делать так:
$value = $_GET['value']

или в php.ini, по-моему, поставить
register_globals = on
, что не реккомендуется в целях безопасности :)

----------


## Nightman

Спасибо, помогло. Это в PHP4 не требовалось, я и запутался.

----------


## Inferno

Угу, глобальные переменные. Научи человека плохому. Если они выключены, то наверное не просто так.
Апач 2 застрели. Если апач 2.x, то это не значит что он новее 1.х- это разные ветки. Юзай 1.3.33

----------


## Nightman

Спасибо, я знаю что 2.х - это другая ветка. Они это на своём сайте на каждой странице большими буквами пишут  :smileflag:  А register_globals всегда ставлю в OFF, они же (авторы) орут истерически что это опасно для вашей жизни  :smileflag: )) Я воспользовался первым вариантом.

Если вас не затруднит, ещё один вопрос. При сохранении данных в таблице русские буквы превращаются в знаки вопроса. При том что кодировку Win-1251 выбрал при установке MySQL, написал как default_charset в PHP и в Apache. На каждой странице тоже в тэге meta установлена такая же кодировка.

----------


## Tigra

Угу, бывает такой проблем с этой версией мускула и пхп))

http://phpclub.ru/talk/showthread.php?s=&postid=422313

----------


## Penguen

Хакеры, програмеры Хэльп. Как мне страничку вэб защитить от копирования.
Рассказываю. Написаль свою галерею посвященную Аватарам. Портал крутится в локалке, тобишь в сети городской. Дык пиплы зае.... скопировали все 5 страничек сайта и забили на мой портал. А так была б защита от сохранения и копировали себе только интересующие их аватары, а не как охапкой. Думаль как всю эту маму реализовать и них... я не надумал кроме как добавить в боди джава код oncopy='return false'. Дык этотджава только текст запрещает копировать. Видел в нете сайты защищенные от копирования. Типа страничку начинаешь сохранять. Доходит сохранения до 20 левелов и облом. Ошибка при сохранении. Мне вот нуна такое сделать. Можно и с помощью джава реализовать. Типа убрать нах... пункт сохранить и запрет пользоваться правой кнопокй но это не выход. Выручайте.

----------


## Falcon

*Даниил*, тут лучший справочник функций из всех виденых мною ;) http://web.php.net.ua/

----------


## Яр

*Penguen*, Вряд ли можно запретить копирование картинок ) Если они загрузились бравзером, значит уже по-любому можно найти даже в тех же папках кеша. Или какой то качалкой просто выкачать все картинкиы.
Можно, конечно поколдовать с Ява-апплетами, но далеко не у всех пользователей JRE установлен.

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

%)

----------


## Penguen

Вы че смеётесь. Нах... картинки еще уменьшать, если они и так маленькие 100*100. По поводу защиты от сохранения. Я говорил не о сохранении картинок, а о странице вообще. 
Пиплы сохраняю страницы. На каждой странице по 30 аватаров. Мне нужно защитить именно страницы. По поводу это нельзя сделать. Люди ж как-то сделали???

----------


## Slaventius

*Penguen*, думаю все что можно загрузить - можно сохранить. Максимум что можно добится - невозможность сохранения в браузере, тем самым отсекая большую часть глазетелей сторинки  :smileflag:

----------


## Penguen

> *Penguen*, думаю все что можно загрузить - можно сохранить. Максимум что можно добится - невозможность сохранения в браузере, тем самым отсекая большую часть глазетелей сторинки


 Не понял вас??? А ну по подробнее. Как это осуществить. Лично я не вьехал в эту фишку. Максимум что я сделал, это откл. контексного меню и в меню файл=>сохранить как.

----------


## Slaventius

Что именно поподробнее? Как скачать и сохранить? Или как перекрыть кислород в браузере? Если второе, то я в веб программинге не особо специалист. 
А вобще встречный вопрос: а в каких целях идет борьба за несохраняемость?

----------


## Inferno

1) Ставишь рисунок в бекграунд, наверху его закрываешь растянутым рисунком из прозрачного пиксела. (как вариант можно целиком страницу залить)
2) Используешь рисунки с одинаковыми именами, но лежащие в разных папках. Неинформативные рисунки должны быть последними.
3) Используешь хидеры нопрагма, нокэш

----------


## Inferno

1) Ставишь рисунок в бекграунд, наверху его закрываешь растянутым рисунком из прозрачного пиксела. (как вариант можно целиком страницу залить)
2) Используешь рисунки с одинаковыми именами, но лежащие в разных папках. Неинформативные рисунки должны быть последними.
3) Используешь хидеры нопрагма, нокэш

----------


## Livesms

Может кто из "присутствующих" знает / имеет на примете простой бесплатный (или доступный) вариант шаблона для построения системы учета финансов с использование Web-интерфейса (PHP, MySql) и т.д. 
Нужно простая система для учета расхода по каждой "ситуации". Для одной ситуации (например "дата-машина-водитель-груз") есть ряд расходов (виды расходов повторяются в разных комбинациях). 
Ищется что-то такое, что бы можно было быстро закинуть на веб-сервер, настроить поля, закинуть названия расходов в базу и т.д., создать пользователей и пускай набивают (один добавляет "ситуацию", другие набивают расходы под "ситуацию"). Задача - вести учет "ситуаций", расходы по каждой "ситуации", вести поиск по параметрам  дата/машина/водитель/груз.



  *Показать скрытый текст* *Вот примерная схема БД*

Уверен есть что-то такое готовое или такое, что можно быстро "подрихтовать" под задачу...

Может кто подскажет/ поделится...

----------


## aVOVello

а ведь этот пост 9 лет покоился в мире! 
Что вам мешает потратить неделю на изучение php?

----------


## Livesms

> а ведь этот пост 9 лет покоился в мире! 
> Что вам мешает потратить неделю на изучение php?


  Гм. Не обратил внимания. Поиском нашел подходящую тему... 
PHP "вспомнить" не помешает...  :smileflag:  
Думал может есть готовый "скелет". Пока решили "строить" на базе 1С с подключенным web интерфейсом  :smileflag:

----------


## aVOVello

может так и правда будет проще,   всегда от 1С  бегал как от огня,   не владею вопросом  <-- я не знал что мой любимый смайлик здесь выглядит так.    как вы набираете жовто-блакытный?

----------


## Livesms

> может так и правда будет проще,   всегда от 1С  бегал как от огня,   не владею вопросом  <-- я не знал что мой любимый смайлик здесь выглядит так.    *как вы набираете жовто-блакытный?*


  С 1С я тоже не особо. Но там гораздо проще с интерфейсом, формами, списками сохраняемых повторяемых величин и т.д. 

Смайлик - обычные два символа : и ) -  :smileflag:

----------


## Прим Палвер

Тут есть ещё кто?

Вопрос о реальности/нереальности.

Хотлинкинг. Есть ли возможность вставить в их img src какой-то работоспособный код?

----------


## dron007

> Тут есть ещё кто?
> 
> Вопрос о реальности/нереальности.
> 
> Хотлинкинг. Есть ли возможность вставить в их img src какой-то работоспособный код?


 Смотря как обрабатывается URL картинки на сервере при генерации HTML страницы. Если вообще никак, то конечно можно запустить любой js-код у клиента, открывшего страницу (выделено то, что будет вставлено вместо url):

<img src="*http://some_img.jpg"><script>alert('hi')</script><img src="*">

Если же обрабатывается (экскейпятся кавычки, скобки и т.д.), то можно уже исследовать насколько корректно это делается и что там можно воткнуть. Например, если невозможно выбраться за пределы тега, можно использовать события onload или ещё что-то. В результате можно найти XSS-уязвимость и угнать аккаунт пользователя, зашедшего на страницу, к примеру.

----------


## Прим Палвер

Нет, так точно не пойдёт.
Для чистоты эксперимента уже попробовал:
/img/pic.jpg" alt="привет" /><img src="
В src адрес уже стоит, он же не ожидает от меня буковок.

Это же не mysql-инъекция.

Имел в виду выдавать код в составе самого файла рисунка )))

Пока тупо выдаю эту же картинку, но с водяным знаком имени сайта.

Но вопрос гложет мой мозг.

----------


## dron007

*Прим Палвер*, если в составе рисунка, то ничего не сделаешь, разве что уязвимости какие-то в браузерах имеются. Sql-инъекцию я не имел в виду. Думал, есть возможность задавать свои URL картинок и они будут в итоговом HTML. В вопросе же про тег img речь шла, а не про файл картинки.

----------


## Прим Палвер

В вопросе речь шла о *хотлинкинге*.
Это когда владельцы других сайтов вставляют в свой код <img> с src, указывающим на другой домен. Т.е. устраивают паразитный трафик донору картинки. Давно описаны приёмы кода .htaccess для выдавания чужим сайтам картинки-пустышки или просто пустого результата. Раньше я сам перенаправлял на картинку "но-но-но, нехорошо так делать", но сейчас (если это не поисковик) направляю на файл php, который создаёт такой же файл с водяным знаком имени сайта (если его ещё нет), помещает в другую папку, отдаёт этот файл:

```

$gis = getimagesize ($_SERVER['DOCUMENT_ROOT'].$url);header('Content-type: ' . $gis['mime']);readfile($_SERVER['DOCUMENT_ROOT'].$url); 


```

 Тут ещё вопрос возникает, насколько getimagesize и readfile грузят сервер, но пока и десятой части лимитной нагрузки нет.

----------

