Help - Search - Member List - Calendar
Full Version: Программирование на PHP
Форум Империи Чёрных Клинков > Неигровой форум > Программирование
Pages: 1, 2
SLayer
если возникли какие-то вопросы или темы для обсуждения при использовании этого языка веб-программирования, то пишите в этой теме.
Чем смогу- помогу.smile.gif
MoN$TeR
Вопросов куча, т.к. я профан в этом деле. Начну сначала: Скачал PHP-Nuke 7.9Rus, прогу PhpMyAdmin 2.7-pl2. Что делать дальше, какие есть бесплатные хостинги с поддержкой PHP и нужно ли что-нибудь ещё для создания сайта на PHP. :mellow:
SLayer
Очень рад, что хоть кто-то заглянул в эту тему. Спасибо.smile.gif
Приступим. Буду отвечать по порядку.
Перво-наперво тебе надо было скачать локальный сервер Apache, который позволяет выполнять скрипты PHP на собственном ПК. Но поскольку настройка Apache очень сложна, то рекомендую скачать уже настроенный пакет Denwer 2, который включает в себя все необходимое. Дальше просто запихивай файлы Нюка согласно руководству в файле readme.txt, который есть в комплекте Денвера. Правда, могут возникнуть трудности, т.к. для ПХП Нюк нужна база MySQL, которую реально создать, если после установки и запуска Денвера набрать в строке браузера: сайт -localhost . Следуя инструкциям можно вполне быстро создать MySQL. Если в процессе будут вопросы- задавай.
Далее. Бесп хосты с поддержкой PHP есть, но многие из них вешают здоровую рекламу... Самый продвинутый, не вешающий рекламу и популярный пхп-хост является jino-net.ru . Мой сайт висел раньше на нем, поэтому я знаю все его косяки. Но главный косяк таков, что он жутко нестабилен. Доступ к любому сайту на этом хосте может быть недоступен день и больше. Форум хоста просто трещит от гневных сообщений. Так что рекомендую раскошелиться на платный хост, что б потом не мучаться...
Для создания ПХП сайта мне потребовалось: Блокнот, Apache и Браузер. Никаких нюков, пхпмайадминов и сикуелов я не юзал и юзать не собираюсь, т.к. неплохо знаю ПХП именно как язык программирования. Другими словами, все скрипты я пишу самостоятельно ;) Т.е., сайт сайт -spg.arbse.net сделан с помощью обычного блокнота и знаний. ;)
И ввобще, советую начать именно с изучения php. пусть он и покажется сложным мудреным, но в последствии жизнь облегчит неимоверно. Главное, понятное дело, стремление и желание. А остальное приложится.smile.gif
Будут вопросы, обязательно пиши.
MoN$TeR
QUOTE
Перво-наперво тебе надо было скачать локальный сервер Apache, который позволяет выполнять скрипты PHP на собственном ПК.Но поскольку настройка Apache очень сложна, то рекомендую скачать уже настроенный пакет Denwer 2

Кинь ссылочку, где скачать этот Denwer 2. :o И ещё скок он весит, у меня модем (мля, скоро я повешусь из-за него) :angry: :angry: :angry: !!!
SLayer
сайт -denwer.ru/dis/latest - денвер. весит не знаю скока, но где-то около 5 мегов... Кстати, если читаешь игроманию (я так понимаю, читаешь, т.к. у тя на сайте их реклама виситsmile.gif), то ищи денвера на июльском номере за 2004 год.
А вообще вся полезная инфа есть на сайт -denwer.ru/
MoN$TeR
Спасибо за ссылку, кстати весит 3.07 Мб. Пока не разобрался со всем, но если что походу дела напишу здесь. (Я ща php учитель качнул - набираюсь опыта).
SLayer
QUOTE
Я ща php учитель качнул

че за учитель? просто в нете по пхп в основном гавно такое...
MoN$TeR
QUOTE
че за учитель? просто в нете по пхп в основном гавно такое...

Да вроде ничё, я пока 2 главы прочитал, там про общую структуру и ветвления.Тока я не совсем догнал что такое elseif... Короче вот ссылка, там 400кб -
сайт -softtime.ru/files/bookphp.zip
SLayer
else и if- логические операторы... без них- вапще никуда...
if - если
else - иначе
так пишется:
if (условие)
{
действие
}
else
{
дествие
}
MoN$TeR
QUOTE
else и if- логические операторы... без них- вапще никуда...

Это я как раз понял, тока там есть такие операторы типа слитно пишутся (endif,elseif...) Endif это вроде конец ветвления, а вот elseif..? Иль я что не понял. <_<
SLayer
признаться, не встречался я с командой elseif... да и к чему она вопще?
Если научиться правильно использовать операторы if и else, то тебе и этого вполне хватит... можно крутые скрипты писать.
Кстати, оператор if независим от else, т.е. будет работать и без него, Но else зависим от if, оно и ясно, ведь else переводится как "иначе"...
И еще. Когда читаешь теорию, старайся одновременно применять знания на практике. Так будет продуктивнее.;)
MoN$TeR
QUOTE
И еще. Когда читаешь теорию, старайся одновременно применять знания на практике. Так будет продуктивнее.

Ток как ето применять-то??? Можно создать html, а в него пхп скрипт зафигачить??? Или нет???
SLayer
ставишь денвер, создаешь по инструкциям новый хост.
далее созаешь фалй с именем index.php напрмер. и пишешь скрипт, хоть такой же, какой указан для примера в учебнике. что б посмотреть на результат.
любые пхп скрипты начинаются с <? и заканчиваются ?>
MoN$TeR
QUOTE
ставишь денвер, создаешь по инструкциям новый хост.далее созаешь фалй с именем index.php напрмер. и пишешь скрипт, хоть такой же, какой указан для примера в учебнике. что б посмотреть на результат.любые пхп скрипты начинаются с <? и заканчиваются ?>

Ни хрена не понял!!! sad.gif Где создавать index.php??? <_< И ещё я пишу скрипт, а он отбражеает всё после else:
Пример:
if бла бла {faefaef}
else {и с этого места начинает все выводить в браузере, там всякие ковычки и ?> :blink: :angry: :blink: !!!
SLayer
Ты запустил денвер?
создай в директории виртуального диска/home/test2.ru/www/script.php к примеру.
далее пиши:
<?
if ($id == "")
{
print "Привет!";
}
else
{
print "Пока!";
}
?>
Если все правильно сделал, то при переходе по ссылке: сайт -test2.ru/script.php появится надпись Пока! без всяких других хреней.
и вообще, у тя localhost грузится???
MoN$TeR
Денвер запустил, локалхост работает, даже создал базу данных новую, правда пока не знаю зачем. smile.gif
QUOTE
создай в директории виртуального диска/home/test2.ru/www/script.php к примеру.далее пиши:<?if ($id == ""){print "Привет!";}else{print "Пока!";}?>

А это щас попробую. <_<
MoN$TeR
Создал все как ты и говорил. Пишу скрипт из учебника:

<?
define(CONSTANT1,15);
define(CONSTANT2,"\x20"); // код пробела
define(CONSTANT3,"Hello");
echo(CONSTANT1);
echo(CONSTANT2);
echo(CONSTANT3);
?>

Должно вывести: 15 Hello, а выводитsad.gifесли вводишь сайт -test2.ru/script
QUOTE
Notice: Use of undefined constant CONSTANT1 - assumed 'CONSTANT1' in z:\home\test2.ru\www\script.php on line 10
[Денвер: показать возможную причину ошибки]
Notice: Use of undefined constant CONSTANT2 - assumed 'CONSTANT2' in z:\home\test2.ru\www\script.php on line 11
Notice: Use of undefined constant CONSTANT3 - assumed 'CONSTANT3' in z:\home\test2.ru\www\script.php on line 12 15 Hello


а если сайт -test2.ru/script.php то такое:

QUOTE
Parse error: parse error, unexpected '{', expecting ',' or ';' in z:\home\test2.ru\www\script.php on line 15


Не знаешь в чем дело? sad.gif sad.gif sad.gif !!!
SLayer
хм, повидимому, ты в файле script.php кроме моего скрипта еще что-то оставил, т.к. он те говорит, типа ошибка на строке 15, а скрпит, который я те написал, состоит всего из 10 строк.smile.gif
удали все, кроме моего скрипта, перейди по ссылке еще раз и он те должен вывести Привет!.
а если перейдешь по ссылке
сайт -test2.ru/script.php?id=1
то выведет Пока!
MoN$TeR
Вроде заработало, хотя я не понял что сделал вроде немного правил, вместо == ставил просто =, вместо 1 ставил 0,100. Потом вернул обратно все и заработало!!! biggrin.gif biggrin.gif biggrin.gif
SLayer
Кстати, о такой хрени как:
<?
define(CONSTANT1,15);
define(CONSTANT2,"\x20"); // код пробела
define(CONSTANT3,"Hello");
echo(CONSTANT1);
echo(CONSTANT2);
echo(CONSTANT3);
?>
ты должен забыть как о страшном сне...
MoN$TeR
А че в нем плохого? smile.gif Кстати прочел уже всю училку ничего такого нет...надо другую почитать sad.gif
SLayer
смотри учебник здесь : сайт -web-mastering.ru

я, лично, даже не представляю, каким будет результат выполнения данного скрипта... но догадываюсь, что он будет выводить фразу: 15 Hello. Так вот, чувак, помни, такого же резалта можно добиться написав:
<?
print "15 Hello";
?>
чувствуешь разницу?smile.gif
будут еще вопросы- обязательно спрашивай.;)
MoN$TeR
QUOTE
я, лично, даже не представляю, каким будет результат выполнения данного скрипта... но догадываюсь, что он будет выводить фразу: 15 Hello. Так вот, чувак, помни, такого же резалта можно добиться написав:<?print "15 Hello";?>чувствуешь разницу?

Здесь дело не в результате, а в том что я учился задавать константы... smile.gif
SLayer
QUOTE
задавать константы...

тебе эти константы- как ежу футболка........... по такому прнципу, который ты указал с константами сейчас уже не пишется ни один нормальный скрипт... тем более, я подозреваю, что эта хрень с константами предназначена для ПХП ниже версии 4.0, а щаз есть уже 5.0
ZIRUS
5 хоть и есть, но лучше ориентироваться пока на 4. 5 версия далеко не на всех серверах, если не сказать, что её почти нету.
MoN$TeR
QUOTE
5 хоть и есть, но лучше ориентироваться пока на 4. 5 версия далеко не на всех серверах, если не сказать, что её почти нету.

Ну лучше сейчс начинать сразу с 5, чтоб потом когда он начнет активно поддерживаться уже его юзать... smile.gif
ZIRUS
Не советую, до того, как он получит распространение, получит стабильные версии ещё может пройти уйма времени.
MoN$TeR
Да но я про движок спрашиваю, как его сделать на своем компе. В инструкции движка написано что надо не которые файлы грузить на сервер + указывать какие-то данные серва, а мне-то как ето делать? Что куда копировать и писать?
SLayer
Тебе нужно на вирутальном диске перейти к папке home. В ней создаешь новую папку, например, monster.ru . В свою очередь внутри новой папки создаешь еще одну: www . В нее-то и надо пихать все файлы движка. Потом перезагружаешь локальный сервер и пишешь в браузере: monster.ru . С 99%-ной вероятностью, двиг тебе пожалуйется на глюки с SQL. Но ведь там вроде инструкция должна быть??? Если ты ее найдешь и внимательно прочитаешь, то проблем не будет...
ZIRUS
Материал по PHP-Nuke тут
сайт -phpnuke.ru/

И тут по установке
сайт -forum.ru-board.com/topic.cgi?forum=28&topic=1#1
SLayer
Э, народ, куда все делись? smile.gif
Если вы изучаете PHP, у вас возникают вопросы по нему, то обязательно пишите в эту тему. Обсудим, поможем.
Arschmann
SLayer если ты сюда еще заглядываешь, по присоветуй пожалуйста что-нибудь типа ПХП для чайникофф и т.п. Потому что я что-то совсем не втыкаю.
SLayer
Тебя именно процесс программинга смущает или собственно по пхп какие-то траблы ?
ПХП для чайников я не знаю и на своей практике не видел. Я сам-то как учился: качал какие-то скрипты бесплатные, пытался разобраться что там да как, функции глядел на php.net

Но для начала... ты HTML знаешь ?
Buka007
нихфига се тема популярна Ооооо
Arschmann
Ага, именно процесс программинга. Мне нужно побольше кода, побольше синтаксиса и внятное описание функций на русском. Собстно все. HTML знаю, это не проблема.
Arschmann
С объектно-ориентированными языками тоже знаком smile.gif
ZIRUS
Ларри Ульман "Основы программирования на php"
Ещё есть текст с описанием функций на русском. Если очень нужно - могу скинуть.
Arschmann
Кидай фсе, инфы мало небывает smile.gif
SLayer
QUOTE
Ага, именно процесс программинга.


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

phpclub.ru/talk/ - самый крупный русскоязычный форум по php. Пользуйся поиском на нем и найдешь все ответы.

codenet.ru - неплохой сборник материалов по многим языкам программирования, включая пхп

webscript.ru - материалы + горы бесплатных скриптов

spg.arbse.net/index.php?go=php_scripts&namep=list - мои скрипты :P Самые ранние трогать не советую, там жуть... вот что поновее, это пожалуйста, почти все на профессиональном уровне

QUOTE
С объектно-ориентированными языками тоже знаком


В пхп версиях 4.x.x и ниже ООП тебе не понадобится - там он убогий. Вот когда перейдешь на 5 и выше, тогда ООП пригодится.

2 Buka007:

Иди играй в Варкрафт.
SLayer
P.S. можешь попробовать зайти на irc.inattack.ru ; канал: php
я (и не только) там иногда сижу, смогу он-лайн поддержку оказать
ZIRUS
Вот список функций, там ещё есть небольшой учебник по php.
Arschmann
Всем спасибо за быстрое реагирование и ссылки. Буду заливать инфу в моск smile.gif, только времени сейчас мало да и ДР на носу smile.gif. Но как только вопросы появятся я сюда вернусь ;).
SLayer
ога
только вернуться не забудь)
Fenix
ВСё заработалло, СПАСИБО Те ОГРОМНОЕ!!!
SLayer
потому что у тебя на сервере включено экранирование кавычек
удаляй функцией stripslashes()
SLayer
З.Ы. Твой предыдущий пост перенесен сюда: сайт -forum.arbse.net/http://www.forum.arbse.net/index.php?showtopic=5572
Fenix
Проблема:
CODE
$fp = fopen("golos.txt", "r");
while (!feof($fp))
{
$bu = fgets($fp);
$w = strstr($bu, $ip );
}
if ( $w = false && !isset($_COOKIE['golos']))
fclose($fp);
{

Этот скрипт если $IP не существует в golos.txt
--------
А этот если существует:
CODE
$fp = fopen("golos.txt", "r");
while (!feof($fp))
{
$bu = fgets($fp);
$w = strstr($bu, $ip );
}

if (isset($_COOKIE['golos']) || $w != false  )
fclose($fp);
{

Почему это дело не работает???
SLayer
что именно не работает ?
вообще не понятно завершение скрипта - появляется условие, и если оно верно, то файл закрывается fclose()
+ ошибка в самом условии: $w = false - ты присваиваешь false, а сверяешь переменную. В данном случае нужен оператор ==
Fenix
Скрипт етот кусок голосования, проверяет юзера голосовал ли он....по кукаи и айпи...
-------------

CODE
$fp = fopen("golos.txt", "r");
while (!feof($fp))
{
$bu = fgets($fp);
$w = strpos($bu,$ip);
}
if ( $w == false && !isset($_COOKIE['golos']))//если не найден в golos.txt ip голосующего и у него нет кука
fclose($fp);
{
?>
// здесь html код голосования.
<?
}
?>

############################
CODE
$fp = fopen("golos.txt", "r");
while (!feof($fp))
{
$bu = fgets($fp);
$w = strpos($bu,$ip);
}

if (isset($_COOKIE['golos']) || $w !== false  )// если  найден в golos.txt ip голосующего или у него есть куки.
fclose($fp);
{
?>
//HTML код в котором написанно что юзер уже голосовал.
<?
}
?>

Этот хат не работает....чёта с $w
SLayer
хм
$ip ты как определяешь ?

$ip = getenv ("REMOTE_ADDR");

Далее. Если юзаешь все-таки strpos() , то у нее есть одна особенность - не считывает первый символ из строки. Так что необходимо так:

$w = strpos(" $bu", $ip);

И в условии не используй false, напиши проще:

if ($w && !isset($_COOKIE['golos']))

if (isset($_COOKIE['golos']) || $w)

Далее. Ты неправильно условие применяешь... у тебя если условие выполняется, то закрывается файл fclose() и ВСЁ. Переставь fclose() до условия
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.