Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: Вопросы по PHP (для новичков)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> RE: Вопросы по PHP (для новичков)
Имя
Сообщение << Старые топики   Новые топики >>
RE: Вопросы по PHP (для новичков) - 2008-09-27 15:24:39.840000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
2 brtn:

не пойму - тебе снифануть надо или что? Если или что, то примерно так:
&lt;?php // set the cookies setcookie("cookie[three]", "cookiethree"); setcookie("cookie[two]", "cookietwo"); setcookie("cookie[one]", "cookieone"); // after the page reloads, print them out if (isset($_COOKIE['cookie'])) { foreach ($_COOKIE['cookie'] as $name =&gt; $value) { echo "$name : $value &lt;br /&gt;\n"; } } ?&gt;
Post #: 121
RE: Вопросы по PHP (для новичков) - 2008-09-28 17:36:37.943333   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
brtn, возможно это ты имел в виду? http://ru2.php.net/manual/ru/function.parse-str.php
Post #: 122
RE: Вопросы по PHP (для новичков) - 2008-09-28 21:28:02.890000   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
quote:

ORIGINAL: AdReNaL1Ne

http://ru2.php.net/manual/ru/reserved.variables.cookies.php если я правильно понял

не, не прально ) всё сделал с помощью рег выражений, по другому никак видимо
Post #: 123
RE: Вопросы по PHP (для новичков) - 2008-09-28 21:50:45.040000   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
quote:

ORIGINAL: Pashkela

2 brtn:

не пойму - тебе снифануть надо или что? Если или что, то примерно так:
&lt;?php // set the cookies setcookie("cookie[three]", "cookiethree"); setcookie("cookie[two]", "cookietwo"); setcookie("cookie[one]", "cookieone"); // after the page reloads, print them out if (isset($_COOKIE['cookie'])) { foreach ($_COOKIE['cookie'] as $name =&gt; $value) { echo "$name : $value &lt;br /&gt;\n"; } } ?&gt;

нет, здесь ставит куки сервер, а мне нужно поймать куки , который мне шлёт сервер,
т.е. у меня есть скриптик, который имитирует браузер и делает некую рутину на сервере, но сервер  требует куки, которые он мне при авторизации прислал, я, на данный момент, вылавливаю эти куки с помошью рег. выражений. а вопрос состоял в том КАК по-другому можно это реализовать.
quote:

&nbsp;brtn, возможно это ты имел в виду? http://ru2.php.net/manual/ru/function.parse-str.php

сомневаюсь что это что мне поможет )
Post #: 124
RE: Вопросы по PHP (для новичков) - 2008-09-28 22:31:17.150000   
Сhaos_Сode

Сообщений: 1049
Оценки: 0
Присоединился: 2006-01-12 11:54:12
Смотри в сторону curl. Разбить это строку можно и без регов. С помощью строковых функций. Надо вырезать Set-Cookie, например через substr, и дальше резать по '=', и ';' через explode
Post #: 125
RE: Вопросы по PHP (для новичков) - 2008-09-28 22:36:34.480000   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
quote:

ORIGINAL: Сhaos_Сode

Смотри в сторону curl. Разбить это строку можно и без регов. С помощью строковых функций. Надо вырезать Set-Cookie, например через substr, и дальше резать по '=', и ';' через explode

зачем так усложнять себе жизнь?, с рег выражениями всё куда проще получается  =) я имел ввиду есть ли более рациональное решение
Post #: 126
RE: Вопросы по PHP (для новичков) - 2008-09-28 22:45:54.763333   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
ну незнаю… помоиму эксплодом самое оно… оч удобно, хотя курлом не пользовался, так что утверждать небуду ничего, но просто эксплод работает без подключения доп библиотек
Post #: 127
RE: Вопросы по PHP (для новичков) - 2008-09-28 22:53:52.690000   
Сhaos_Сode

Сообщений: 1049
Оценки: 0
Присоединился: 2006-01-12 11:54:12
реги работают гораздо дольше чем строковые функции, если тебе важна производительность.
В данном случае CURL оптимальный вариант. Если хочешь без геммора, рационально, и чтобы быстро работало.


quote:

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


2magistr_bender:
curl для работы с HTTP протоколом удобней, у него единственное "но", у некоммерческой реализации нет поддержки SOCKS 5 Proxy. А так он специально под это заточен.
Post #: 128
RE: Вопросы по PHP (для новичков) - 2008-09-28 23:05:35.256666   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
quote:

ORIGINAL: Сhaos_Сode

реги работают гораздо дольше чем строковые функции, если тебе важна производительность.
В данном случае CURL оптимальный вариант. Если хочешь без геммора, рационально, и чтобы быстро работало.

вот боюсь что этот curl гемор ещё тот )


ну ладно, вопрос исчерпан , ответ получен , всем спасибо =)
Post #: 129
RE: Вопросы по PHP (для новичков) - 2008-09-28 23:13:09.260000   
Сhaos_Сode

Сообщений: 1049
Оценки: 0
Присоединился: 2006-01-12 11:54:12
http://ru2.php.net/manual/ru/book.curl.php

Уточнение. Полазил по CURL еще. Разбирать куки и с помощью curl тебе всетаки придется ручками. Он упрощает отправку запроса серверу.

Чтобы результат запроса возвращался а не выводился надо прописать перед curl_exec() следущее

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //где $ch дескриптор сеанса curl

чтобы возвращались заголовки:

curl_setopt($ch,CURLOPT_HEADER,1);
Post #: 130
RE: Вопросы по PHP (для новичков) - 2008-09-28 23:34:40.533333   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
quote:

ORIGINAL: Сhaos_Сode

http://ru2.php.net/manual/ru/book.curl.php

Уточнение. Полазил по CURL еще. Разбирать куки и с помощью curl тебе всетаки придется ручками. Он упрощает отправку запроса серверу.

Чтобы результат запроса возвращался а не выводился надо прописать перед curl_exec() следущее

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //где $ch дескриптор сеанса curl

чтобы возвращались заголовки:

curl_setopt($ch,CURLOPT_HEADER,1);

за инфу благодарен, посмотрю на свежую голову, а вот смысла менять регулярные выражения на curl не вижу, ибо мне не нужно разбивать куки, они отсылаются склееными
Post #: 131
RE: Вопросы по PHP (для новичков) - 2008-09-28 23:36:51.283333   
Сhaos_Сode

Сообщений: 1049
Оценки: 0
Присоединился: 2006-01-12 11:54:12
Дык, если тебе нада просто выдрать из заголовка куки и отправить в том же виде, то тада юзай канешн fsockopen() =) Или сокеты. Удобней и гибче получится
Post #: 132
RE: Вопросы по PHP (для новичков) - 2008-09-28 23:40:22.363333   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
quote:

ORIGINAL: Сhaos_Сode

Дык, если тебе нада просто выдрать из заголовка куки и отправить в том же виде, то тада юзай канешн fsockopen() =) Или сокеты. Удобней и гибче получится

вот я к чему и клонил )
всё вопрос не актуален, разобралися)
Post #: 133
RE: Вопросы по PHP (для новичков) - 2008-09-29 11:38:54.846666   
жжж^слоник^жжот

Сообщений: 1806
Оценки: 10
Присоединился: 2008-05-20 11:08:35.946666
Спешил фо ми объясните ;)
1. Как убрать огромный заголовок Joomla и вместо него повесить нужный.
2. Внизу страницы убрать
quote:

© 2008 Joomla
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - CMS Joomla в России
Страница сгенерирована за 0.065042 секунд


Post #: 134
RE: Вопросы по PHP (для новичков) - 2008-09-29 13:32:12.046666   
AdReNaL1Ne

Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
Так наверно правильнее будет поискать ответ на этот вопрос на форуме Джумлы?:) С учётом того, что она бесплатная.

http://joomlaforum.ru/index.php/topic,9103.0.html
Post #: 135
RE: Вопросы по PHP (для новичков) - 2008-10-03 01:44:55.400000   
natzy

Сообщений: 112
Оценки: 0
Присоединился: 2008-09-26 17:49:19.680000
Ребят помогите решил сделать такой скрипт чтобы на одной странице по разным ссылкам включались разные документы
но почему то правильно не работает отображает один только один из документов:(
&lt;a href="infa.php?link=1"&gt;Статья1&lt;/a&gt; &lt;a href="infa.php?link=3"&gt;Статья2&lt;/a&gt; &lt;?php if ( $link = 1 ) { $name ='./docs/1.txt'; } if ( $link = 3 ) { $name ='./docs/2.txt'; } require ($name); ?&gt;
Post #: 136
RE: Вопросы по PHP (для новичков) - 2008-10-03 01:51:38.873333   
AdReNaL1Ne

Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
http://ru2.php.net/register_globals
Post #: 137
RE: Вопросы по PHP (для новичков) - 2008-10-03 02:09:43.083333   
natzy

Сообщений: 112
Оценки: 0
Присоединился: 2008-09-26 17:49:19.680000
прочитал но не понял как чего и куда :(
Post #: 138
RE: Вопросы по PHP (для новичков) - 2008-10-03 07:19:14.076666   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
ну что у тебя за переменная $link? где ей присваивается значение? мы так поняли, что она глобальная… то есть в сессии к примеру хранится или что-то такое… скажи, откуда она берется…
Post #: 139
RE: Вопросы по PHP (для новичков) - 2008-10-03 08:21:15.333333   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
фу блин.. регистр глобал дрчо… отрубать его надо))
попробуй так это если без регистр глобал… а если всётаки хочеш свою реализацию то ты просто вместно знака сравнения в if поставил знак присвоения, по этому у тебя всегда только первая и высвечивается… надо заменить = на == или === но в данном случае именно на ==
&lt;a href="infa.php?link=1"&gt;Статья1&lt;/a&gt;
&lt;a href="infa.php?link=3"&gt;Статья2&lt;/a&gt;
&lt;?php
$link=$_GET['link'];
if ( $link == 1 )
{
$name ='./docs/1.txt';
}
if ( $link == 3 )
{
$name ='./docs/2.txt';
}
require ($name);
?&gt;
Post #: 140
RE: Вопросы по PHP (для новичков) - 2008-10-03 08:27:11.070000   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
народ помогите, вопрос по пхп 5
есть 2 класса tpl и db
как мне сделать наследование методов от обоих классов классу auth
как сделать наследование от одного класса знаю, а как чтоб от двух классов сразу? думаю както просто, но непойму как)
Post #: 141
RE: Вопросы по PHP (для новичков) - 2008-10-03 10:24:03.970000   
Панда

Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000
никак. В php неразрешено множественное наследование.
Post #: 142
RE: Вопросы по PHP (для новичков) - 2008-10-03 11:22:49.260000   
natzy

Сообщений: 112
Оценки: 0
Присоединился: 2008-09-26 17:49:19.680000
2 magistr_bender спасибо большое теперь все работает ;)
Post #: 143
RE: Вопросы по PHP (для новичков) - 2008-10-03 18:31:17.340000   
ASiraev

Сообщений: 2
Оценки: 0
Присоединился: 2008-10-03 18:16:13.063333
Почему, когда пытаешься создать базу данных с помощью конструкции вида
mysql_query("CREATE DATABASE Artur")
 or die("Could not create: " . mysql_error());
 
Браузер выдает ошибку
Could not create: Access denied for user ''@'localhost' to database 'artur'
 
И что делать?!
Post #: 144
RE: Вопросы по PHP (для новичков) - 2008-10-03 18:52:06.256666   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
подключиться к базе как ни странно…
Post #: 145
RE: Вопросы по PHP (для новичков) - 2008-10-03 20:23:34.196666   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
2 Панда
а какой тогда выход предолжиш для наследования?
мож можно както сделать промежуточный класс через который будет наследоваться?
просто я щас сдеал у себя так…
клсаа db наследует методы от класса tpl далее класс auth наследует методы от класса db соответственно клас auth получает все необходимые методы, но мне эта реализация ненравится.. может есть ещё какиенить предложения?
Post #: 146
RE: Вопросы по PHP (для новичков) - 2008-10-03 20:41:49.750000   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
quote:

может есть ещё какиенить предложения?

Да. Сделать 1 класс, который будет являться предком для классов tpl, auth, db. И хранить в этих классах ссылку на предка. Это позволит получать доступ к методам других объектов подоюным способом: $this->ancestor->db или $this->ancestor->tpl
Post #: 147
RE: Вопросы по PHP (для новичков) - 2008-10-03 23:38:37.130000   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
ну дык в том то и вопрос.. как сделать? дайте хоть линк на статью или пример
Post #: 148
RE: Вопросы по PHP (для новичков) - 2008-10-03 23:51:19.573333   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
Предок, в моих словах, использовался не как субъект учавствующий в классическом процессе наследования, а в другом плане.
писал "на коленке"
class coreClass { var $db; function coreClass() { $this-&gt;db = new dbClass($this, ...); } } class dbClass() { var $ancestor; function dbClass($ancestor) { $this-&gt;ancestor = $ancestor; } function foo() { $this-&gt;ancestor-&gt;tpl-&gt;load(); // спокойно обращаемся к методам нужного нам объекта через предка. } }
Post #: 149
RE: Вопросы по PHP (для новичков) - 2008-10-04 00:37:42.373333   
ZloScript

Сообщений: 72
Оценки: 0
Присоединился: 2008-09-17 01:33:59.556666
как сделать чтобы определеный файл сохранялся каждый раз под разным именем
например log1.txt log2.txt
к примеру при выполнение каждого запроса http://localhost/file.php?log=1
открытый до этого файл log.txt должен сохранится под именем log1.txt
и при следущем запросе http://localhost/file.php?log=1 уе сохранялся под именем log2.txt
$file = fopen("log.txt","r+"); fclose($file); if($HTTP_POST_VARS['log'] == 1) { ??????????? }


я пробывал вставлять цикл но у меня скрипт пытался сразу сохранить несколько файлов log1.txt log2.txt …. log100.txt
Post #: 150
RE: Вопросы по PHP (для новичков) - 2008-10-04 00:40:48.093333   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
хм… вроди бы всё просто, только немогу понять как работает скрипт.. можно описать поподробнее в каком месте что происходит?

и ссылочку какуюнить хорошую про ооп в пхп5 неплохо бы тать)
Post #: 151
RE: Вопросы по PHP (для новичков) - 2008-10-04 08:10:01.356666   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
if ($_GET['log']) { $i = 0; while (file_exists('log' . $i . '.txt')) { $i++; } $file = fopen('log' . $i . '.txt', 'w'); fclose($file); } вообще программирование не мешало бы подучить…
Post #: 152
RE: Вопросы по PHP (для новичков) - 2008-10-04 15:46:52.513333   
ASiraev

Сообщений: 2
Оценки: 0
Присоединился: 2008-10-03 18:16:13.063333
quote:

подключиться к базе как ни странно…

quote:

ORIGINAL: Parano1d

подключиться к базе как ни странно…


К базе данных подключается! Я просто код не сначала выложил!)))
mysql_connect() возвращает True!
Ошибка возникет, когда пытаешься выбрать базу данных, либо пытаешься создать базу данных!
"Access denied for user ''@'localhost' to database 'artur' "
Пишет типа что нет доступа для Юзера '@'localhost
Post #: 153
RE: Вопросы по PHP (для новичков) - 2008-10-04 17:18:51.830000   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
2 ASiraev
тебя мама не учила что врать нехорошо?
тебе ж сервер родным аглицким языком написал "Access denied for user ''@'localhost' to database 'artur' " ты бы хоть ради прикола бы попытался б перевести что за ошибка и тогда бы понял в чём дело.. при чём сразу.. а всё потому что тут написанно:
доступ запрещён для этого юзера… при чём с пометкой именно к базе данных 'artur'
mysql_connect() возвращает True только лиш потому что к серверу мускла действительно есть у тебя право доступа, твоя конкретная база данных (artur) скорее всего тож под паролем
а если пароля на базе таки нет, то mysql_connect() просто неможет возвращать тру
Post #: 154
RE: Вопросы по PHP (для новичков) - 2008-10-07 19:11:30.793333   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
подскажите плз как правильно  словить ответ сервера.
думал так, но нулевой результат возвращает
$fp=fsockopen('www.site.ru',80); if($fp != ''){ &nbsp;&nbsp;&nbsp; while (!feof($fp)){ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;preg_match("/.+/",$fp,$fox); &nbsp;&nbsp; &nbsp;} &nbsp;&nbsp; &nbsp;print_r($fox); &nbsp;&nbsp; &nbsp;} &nbsp;&nbsp;&nbsp; fclose ($fp);

Post #: 155
RE: Вопросы по PHP (для новичков) - 2008-10-07 19:45:38.196666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
2brtn
$fp = fsockopen($ip, $port, $errno, $errstr); $content = ""; if($fp) { $headers = "GET / HTTP/1.1\r\n". "User-Agent: Opera/9.27 (Windows NT 6.0; U; en-us)\r\n". "Host: ".$domain."\r\n". "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n". "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n". "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n". "Connection: Close\r\n\r\n"; fwrite($fp, $headers); $response while(!feof($fp)) { $response .= fgets($fp, 1024); if(strpos(response, "\r\n\r\n")) break; } echo $response; fclose ($fp); } ps: Ты не понял сути протокола HTTP. Пржде чем получить ответ, нужен запрос. Да и в пхп нужно получше разобраться, тк и там ошибок хватает.
Post #: 156
RE: Вопросы по PHP (для новичков) - 2008-10-07 21:16:29.980000   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
2Orb, спасибо, я только учучь )
только что значит  $response в 11 строке,
может   $response = ""; ?
и if(strpos(response, "\r\n\r\n")) непонял смысла response

Post #: 157
RE: Вопросы по PHP (для новичков) - 2008-10-07 21:20:27.950000   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
опс, это я лоханулся) замени на
$response = "";
Post #: 158
RE: Вопросы по PHP (для новичков) - 2008-10-07 21:23:27.373333   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
опять этот респонсе всплыл )
Notice
: Use of undefined constant response - assumed 'response' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test1.php on line 21

всё понял , ещё раз спс
Post #: 159
RE: Вопросы по PHP (для новичков) - 2008-10-08 17:22:59.846666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
Ну сори, просто переписывал тебе кусок своего скрипта, не тестил
Post #: 160
Страниц:  1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
Все форумы >> [Веб-программинг] >> RE: Вопросы по PHP (для новичков)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.