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

m0Hze
31.03.2010, 19:24
Добрый вечер :)
Есть такая таблица

CREATE TABLE `transitions` (
`id` int(10) unsigned NOT NULL auto_increment,
`idsite` int(11) NOT NULL default '',
`url` varchar(100) NOT NULL default '',
`out` int(5) unsigned default '0',
`all_out` int(8) unsigned default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


как определить существует ли у idsite = 2 в колонке url например запись google.ru? :rolleyes:

$query = mysql_query("SELECT * FROM transitions WHERE idsite='2' AND url='google.ru'");
if(mysql_num_rows($query) > 0){
echo 'Существует!';
}else{
echo 'Нет такой';
}

DeMoN_2009
31.03.2010, 20:32
Pashkela

PHP код:
<?php
$w = array('Камень','Ножницы','Бумаг ');echo $w[array_rand($w)];
?>
а можно чтобы человек мог выбирать что-нибудь, а потом рандомно и сообщение "Вы победил, ропиграли или ничья)???

Pashkela
31.03.2010, 20:38
можно

Redwood
31.03.2010, 21:23
Pashkela


а можно чтобы человек мог выбирать что-нибудь, а потом рандомно и сообщение "Вы победил, ропиграли или ничья)???


<form action = '' method = 'post'>
<h2>Выберите значение</h2></br>
<font color = 'blue'>Камень</font>&nbsp<input type = 'checkbox' name = 'check1'></br>
<font color = 'blue'>Ножницы</font>&nbsp<input type = 'checkbox' name = 'check2'></br>
<font color = 'blue'>Бумага</font>&nbsp<input type = 'checkbox' name = 'check3'></br></br>
<input type = 'submit' value = 'Поехали'></br>

<?php
if (isset ($_POST['check1']) || isset ($_POST['check2']) || isset ($_POST['check3']))
{
$array = array('Вы выиграли!','Вы проиграли!','Ничья!');
echo $array[array_rand($array)];
}
?>

phpdreamer
31.03.2010, 21:57
Redwood, ты забыл 2 isset'a
if (isset ($_POST['check1']) || ($_POST['check2']) || ($_POST['check3']))

imajo.ati
31.03.2010, 22:03
безопасно ли это?

if ( isset($_GET["s"]) )
@session_id((string)$_GET["s"]);
@session_start();

Redwood
31.03.2010, 22:50
Redwood, ты забыл 2 isset'a
Исправил :)

GreenBear
31.03.2010, 22:52
imajo.ati, так посмотри что делает (string) и какие входные параметры session_id, будет полезнее, чем узнать да или нет.

GreenBear
31.03.2010, 23:01
<?php
$fname="test.txt"; // файл
$write="ololo";/// что писать
$fdstr=1; // Строку которую удалить
$ftext=file($fname);
$fnew=array();
for($i=0;$i<count($ftext);$i++)
{if($i!=$fdstr) {$fnew[]=$ftext[$i];}
else {}}
$fdes=fopen($fname,"w");
for($i=0;$i<count($fnew);$i++)
{fputs($fdes,$fnew[$i]);}
fclose($fdes);
file_put_contents('test.txt',"\r\n$write", FILE_APPEND);
?>


$a = file('text.txt');
unset($a[0]);
$a[10] = 'new string';
file_put_contents('text.txt', implode("\n", $a));

ZnikiR
01.04.2010, 06:10
Короче никак не могу найти ответ на вопрос.
Решил задать
как при приеме post и get запросов в обработчике исключить возможность пхп инъекции
просто где-то слышал что в htmlspecialchars есть какая-та дырочка.

warlok
01.04.2010, 08:35
Короче никак не могу найти ответ на вопрос.
Решил задать
как при приеме post и get запросов в обработчике исключить возможность пхп инъекции
просто где-то слышал что в htmlspecialchars есть какая-та дырочка.
вообще не очень понятно что ты хочеш и зачем там htmlspecialchars, может ты xss имел ввиду ?
один из примеров защиты от php inj

$page = $_GET['page'];
switch ($page) {
case "1.html":
include("1.html");
break;
case "2.html":
include("2.html");
break;
case "3.html":
include("3.html");
break;
}

еще как пример можно вырезать опасные символы через str_replace() .
----------------------------------
Как можно набить массив по циклу, т.е. чтобы после выполнения оказалось не только последнее значение как например в таком случае

for ($i=0;$i<=5;$i++) {
$a = array($i);
}
var_dump($a);

а полностью со значениями 1,2,3,4,5.

krypt3r
01.04.2010, 08:57
for ($i = 0; $i <= 5; $i++) {
$a[] = $i;
}
var_dump($a);

DeMoN_2009
01.04.2010, 09:12
Pashkela
спасибо)

Komyak
01.04.2010, 09:27
До смешного, но не получается реализовать перебор всех дат рождения. Хотел чтоб перебирались, допустим, с 01.01.1970 до 01.01.2010, но в итоге получается или только месяцы или только года. Помогите пожалуйста.

general.fox
01.04.2010, 10:21
Не получается прочитать CSV-файл.
<?php
$f=fopen("csv.txt","a");
while(($d=fgetcsv($f))!==false){$mas[]=$d;}
print_r($mas);
?>
Вчом проблема, где ошибка?

krypt3r
01.04.2010, 10:29
Komyak, к примеру

$start = mktime (0, 0, 0, 1, 1, 1970);
$end = mktime (0, 0, 0, 12, 1, 1970);
for ($i = 0; $i <= $end; $i += 24 * 3600) {
echo strftime ("%Y-%m-%d", $start + $i), "\n";
}

general.fox, вот это

$f=fopen("csv.txt","a");

не чтение файла

Komyak
01.04.2010, 16:26
не чтение файла
И не CSV файл.
general.fox

$line=file("file.csv");
$c=count($line);
$i=0;
while($i<=$c){
$toline[]=explode(";",$line[$i]);
$i++;
}
print_r($toline);

general.fox
01.04.2010, 16:31
Комяк, спасибо.

DeMoN_2009
02.04.2010, 10:13
echo 'text($name) text';
не вставляеться переменная?

warlok
02.04.2010, 10:24
echo 'text'.$name.'text';

мм ?

Ins3t
02.04.2010, 10:25
<?php
$name = "lololo";
echo "text($name) text";
?>

DeMoN_2009
02.04.2010, 10:36
warlok
оно) спасибо)

Gin
02.04.2010, 13:13
Есть ф-ция на php ftp_exec($fp,$command)
где $fp -идентификатор подключения(он же ресурс)
$command команда для исполнения на ftp.

Внимание вопрос какой командой запустить php скрипт на хостинге т.е. что должно содержаться в $command.

Dr.Brain
02.04.2010, 13:58
Есть ф-ция на php ftp_exec($fp,$command)
где $fp -идентификатор подключения(он же ресурс)
$command команда для исполнения на ftp.

Внимание вопрос какой командой запустить php скрипт на хостинге т.е. что должно содержаться в $command.
Через ftp запустить скрипт нереально...

Если хочешь запустить скрипт, то пробуй :
file_get_contents()
curl()
fsocketopen()

В крайнем случае, руками или кроном(Если у тебя на серве)

mailbrush
02.04.2010, 14:05
curl()
fsocketopen()
Что это? :D

krypt3r
02.04.2010, 15:10
Это PHP-гуру делится с новичками своим громадным опытом :)

phpdreamer
02.04.2010, 16:22
Есть ф-ция на php ftp_exec($fp,$command)
где $fp -идентификатор подключения(он же ресурс)
$command команда для исполнения на ftp.

Внимание вопрос какой командой запустить php скрипт на хостинге т.е. что должно содержаться в $command.
по идее путь к интерпритатору пхп, пробел, путь к скрипту.

JnK
02.04.2010, 16:57
Есть ф-ция на php ftp_exec($fp,$command)
где $fp -идентификатор подключения(он же ресурс)
$command команда для исполнения на ftp.

Внимание вопрос какой командой запустить php скрипт на хостинге т.е. что должно содержаться в $command.

Если скрипт как консольное приложение.
$command = 'Скрипт как консольное приложение.exe';
иначе, узнаем путь до PHP.exe (php-win.exe) и делаем следующее:
$command = "Путь до php.exe Путь до скрипта.php";
Пример:
$command = "c:\appserv\php\php.exe c:\appserv\www\files\reports\game_servers.php";

Сайт откуда взято (http://harpywar.com/?a=articles&b=3&c=1&d=32)

DiSi
02.04.2010, 22:13
как сделать так чтобы "если ип есть в списке то ничего не делаем, если ип в списке нету то выполняем код (список небольшой 4 ипшника)"

Konqi
02.04.2010, 22:29
if ($_SERVER['REMOTE_ADDR']!=$your_ip[])
{
do something
}

warlok
02.04.2010, 23:47
Что то я туплю =\
Загружаю страницу курлом, паршу данные к капче и после чего загружаю к себе на сервер, дальше вывожу форму с этой капчей и ставлю проверку на нажатие этой кнопки в итоге получается так что перегружается страница и вылезает новая капча. Как мне получается неперегружая страницу отправить мои данные с этой капчей ?
Код типа такого:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://ste.ru/reg');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'regcook');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'regcook');
$answer = curl_exec($ch);
preg_match("#/captcha/(.*?).jpg#",$answer,$out);
curl_setopt($ch, CURLOPT_URL, 'http://site.ru/'.$out[0]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'regcook');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'regcook');
$answer = curl_exec($ch);
$fp=fopen('captcha.jpg','r+');
fputs($fp,$answer);
fclose($fp);
echo '<img src="captcha.jpg" /><br />
<form name="captcha_form" action="#" method="POST">
<input type="text" name="captcha" value="" /><br />
<input type="submit" value="ok" />
</form>';
... // тут инфа о заполняемой форме
if(!$_POST['captcha']) {
curl_setopt($ch, CURLOPT_URL, 'http://site.ru/reg');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'regcook');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'regcook');
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata);
$answer = curl_exec($ch);
}

olishort
02.04.2010, 23:54
как сделать так чтобы "если ип есть в списке то ничего не делаем, если ип в списке нету то выполняем код (список небольшой 4 ипшника)"

$my_ip = $_SERVER['REMOTE_ADDR'];

/* Разрешенные IP адреса */
$ips = array(
'127.0.0.1',
'127.0.0.2',
'127.0.0.3',
'127.0.0.4'
);

if(in_array($my_ip, $ips)){
print 'Пользователь '.$my_ip.' найден!';
}else{
print 'Пользователь '.$my_ip.' не найден!';
}

phpdreamer
03.04.2010, 00:24
warlok,
файл regcook создается?

и дай ссылку на сайт где капча

warlok
03.04.2010, 00:31
phpdreamer, да создается. сайт digg.com/register

Tesson
03.04.2010, 01:41
Ищу скрипт закидать окнами
может у кого есть? :)

phpdreamer
03.04.2010, 01:51
warlok, вот это близко к правде... но думаю, я не заметил еще какую-то проверку( завтра попробую еще поковырять

<?php

#---------------------------------------------------------------------------
function noPost($url)
{
$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_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;
}
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_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;
}
#---------------------------------------------------------------------------

$first = noPost('http://digg.com/register/','','http://digg.com/register/');
preg_match("#/captcha/(.*?).jpg#",$first,$capcha);
//адрес картинки
$Capch = 'http://digg.com' . $capcha['0'];
//получаем картинку
$img = noPost($Capch,'','');
//сохраняем в файл
file_put_contents('captcha.jpg',$img );

#---------------------------------------------------------------------------

if(isset($_POST['captcha']))
{
echo post('http://digg.com/register/',$_POST['captcha'] ,'http://digg.com/register/');
}
else
{
echo '<img src="captcha.jpg"> <br />
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="captcha[input]" id="captcha[input]" />
</label>
<input type="hidden" id="captcha[id]" name="captcha[id]" value="'.$capcha['1'].'" />
<label>
<input type="submit" name="button" id="button" value="Отправить" />
</label>
</form>';
}

?>


Tesson, пробей в гугле "javascript создание окон"

Опухоль
03.04.2010, 01:52
<?

$fo= fopen("1.txt", "a+");

$file_array_dic = file( "slov.txt" ); // перевод строк в массив
$file_array_basa = file( "basa.txt" );





$s_s = count($file_array_dic); //кол-во строк
$s_b = count($file_array_basa);




for($d=0; $d <= $s_s; $d++) { // пробегаем по словарю



for ($b=0; $b <= $s_b; $b++){ // пробегаем по базе

$var=strpos($file_array_basa[$b], $file_array_dic); // проверка принадлежности подстроки к строке

if ($var > 0)
fwrite($fo, $file_array_basa[$b]. "PASS: ". $file_array_dic[$d]. "\r\n" ); // если есть совпадение записывает в файл эти элементы




}

}

?>
Суть проблеммы в том, что программа видит совпадения только в последней строке словоря(судя по тому что она выводит в текстовой документ), если выводить весь лог операций видно что цикл построен правильно. тоесть программа способна увидеть совпадения только с последней строкой словоря. Я уже 4ый день туплю. буду очень благодарен тому кто поможет дописать\исправить программку что бы та проверяла на совпадение каждую строку базы с каждой строкой словоря.

phpdreamer
03.04.2010, 10:38
1)$var=strpos($file_array_basa[$b], $file_array_dic);
счетчик по file_array_basa используется, а счетчик по file_array_dic - нет
как оно будет искать массив в строке?

2)если искомое будет в начале строки, то $var будет 0 и условие не выполнется.
можно сделать так:
strpos('##' . $file_array_basa[$b], $file_array_dic[$d], 2);
(если у тебя не будет нигде строки, начинающейся с ##)

3)переменная var не нужна...
if( strpos('##' . $file_array_basa[$b], $file_array_dic[$d], 2) )
fwrite($fo, $file_array_basa[$b]. "PASS: ". $file_array_dic[$d]. "\r\n" );

phpdreamer
03.04.2010, 11:34
warlok, получай ручной авторегер

<?php
#-----------------------------------------
# Полуавтоматический авторегер digg.com
# Автор phpdreamer
# 03.04.10
#-----------------------------------------

function noPost($url) //для получения данных по кукисам
{
$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_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
function post($url,$post,$refer) //для отправки post
{
$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_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}

function generate($number) //для генерации случайных строк
{
$arr = array('a','b','c','d','e','f','g','h','i','j','k', 'l','m','n','o','p','r','s','t','u','v','x','y','z ',
'A','B','C','D','E','F','G','H','I','J','K','L','M ','N','O','P','R','S','T','U','V','X','Y','Z',
'1','2','3','4','5','6','7','8','9','0');
$pass = '';
for($i = 0; $i < $number; $i++)
{
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}

#---------------------------------------------------------------------------

if(isset($_POST['captcha']) && isset($_POST['mail']))
{
$user = generate(10);
$password = generate(12);
//$email = $user '@gmail.com'; //мыла можно сочинять на ходу, вводить каждый раз, брать из файла или прикрутить авторегер мыл
$email = $_POST['mail'];

$postQ = 'username=' . $user . '&password[a]=' . $password . '&password[b]=' . $password . '&email=' . $email . '&newsletter=on&bestofdiggweekly=on&birthday[Month]=01&birthday[Day]=02&birthday[Year]=1970&captcha[input]=' . $_POST['captcha'] . '&captcha[id]=' . trim(file_get_contents('captcha.txt.tmp') );
$res = post('http://digg.com/register/',$postQ ,'http://digg.com/register/');
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/cook.txt','');//чистка кукисов
if(strpos($res,'Now, please check your email'))
{
$fo = fopen("accounts.txt", "a+");
fwrite($fo, "$user;$password;$email\n" );
fclose($fo);
echo 'Успешно! <a href="'.$_SERVER['PHP_SELF'].'">нажмите для продолжения.</a>';
}
else
{
die($res);
}
}
else
{
$first = noPost('http://digg.com/register/','','http://digg.com/register/');
preg_match("#/captcha/(.*?).jpg#",$first,$capcha);
//адрес картинки
$Capch = 'http://digg.com' . $capcha['0'];
//получаем картинку
$img = noPost($Capch);
//сохраняем в файл
file_put_contents('captcha.jpg',$img );

///test - вторая картинка
$img = noPost($Capch);
file_put_contents('captcha2.jpg',$img );
//записываем id капчи
file_put_contents('captcha.txt.tmp',$capcha['1'] );
#---------------------------------------------------------------------------


echo '<img src="captcha.jpg"> <br /><img src="captcha2.jpg"> <br />
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="captcha" />
</label>
<label>
<br />email<input type="text" name="mail" value="'.generate(10).'@gmail.com" />
</label>
<label>
<input type="submit" name="button" id="button" value="Отправить" />
</label>
</form>';
}

?>

Файлы:
в accounts.txt будут записываться учетки (логи;пароль;мыло)
captcha.jpg и captcha2.jpg - будет 2 экземпляра капчи (если на одной какой-то символ плохо видно, то его видно на другой)
captcha.txt.tmp - временный файл с id капчи (в принципе, можно от него избавится, если добавить hiddenfield)
в cook.txt (в корне сервера) будут куки

Kaimi
03.04.2010, 12:59
<?php
if(isset($_POST['str']) && !empty($_POST['str']) && !is_array($_POST['str']) && strlen($_POST['str']) == 8)
{
$str = $_POST['str'];
for($i=2,$j=strlen($str);$i<=$j;$i+=2)
print substr($str, -$i, 2);
}
else
{
print<<<HERE
<form method="post">
<input type="text" name="str">
<input type="submit" value="OK">
</form>
HERE;
}
?>

phpdreamer
03.04.2010, 13:19
$string = '9507F007';
//проверка
if(strlen($string) != 8)
die('должно быть 8 символов');

$str1 = substr($string,0,2);//вырезаем первые 2 символа
$str2 = substr($string,2,2);//вырезаем 2-ые 2 символа
$str3 = substr($string,4,2);//вырезаем 3-ые 2 символа
$str4 = substr($string,6,2);//вырезаем 4-ые 2 символа

$string = $str4 . $str3 . $str2 . $str1;
echo $string;

Ins3t
03.04.2010, 14:04
Интересно, почему вы все стремитесь работать с числом как со строкой?
Банально мыслите, господа.

<?php
$num = 123456789;
while( ( int )$num > 0 )
{
$number = ( int )$num % 10;
$num /= 10;
echo $number;
}
?>

phpdreamer
03.04.2010, 14:07
В задаче было поставлено "не только числа, но и буквы"

Ins3t
03.04.2010, 14:12
Хорошо, Я не обратил внимания. Возможно это произошло по той причине, что задание куда то пропало.

phpdreamer
03.04.2010, 14:15
не вежливо со стороны человека, который этот вопрос задавал :-\

LStr1ke
03.04.2010, 14:16
Скажите мне задание =(

Ins3t
03.04.2010, 14:31
Даже с символами можно на много проще сделать:

<?php
$num = '1a2b3c4d';
$min = strlen( $num );

for( $i = 0; $min >= $i; $min-- )
{
echo $num[$min];
}
?>

--
UPD: Хорошо было бы задание узнать.

phpdreamer
03.04.2010, 14:57
то что ты написал делает ф-я strrev
а задание было другое...
уже проехали - есть 2 решения
(решение от Kaimi - практичней, а мое - читабельней и понятней)

Fooog
03.04.2010, 15:14
Спасибо за помощь. :)
Мне это очень пригодиться.
ЗЫ
Вот ещё mailbrush написал:

<form action="" method="POST">
<input type="text" name="str"><br>
<input type="submit">
</form>
<?php
$var = $_POST['str'];
$array = str_split($var);
foreach($array as $key => $value)
if($key % 2) $m[] = $array[$key - 1] . $value;
krsort($m);
echo '<br><input type="text" value="'.implode('', $m).'">';
?>

Kaimi тоже неплохой вариант. Но ещё понравился вариант phpdreamer`a своей простотой :)

VladZombie
03.04.2010, 17:57
Скажите скрипт для вывода ip адреса?

emillord
03.04.2010, 18:03
Скажите скрипт для вывода ip адреса?

<?php
$ip=$_SERVER['REMOTE_ADDR'];
echo "$ip";
?>

[upd]
Dr.Brain хватит посты набивать, флудер)

Dr.Brain
03.04.2010, 18:04
<?php
$ip=$_SERVER['REMOTE_ADDR'];
echo "$ip";
?>
Еще проще

<?php
echo $_SERVER["REMOTE_ADDR"];
?>

Konqi
03.04.2010, 18:05
Скажите скрипт для вывода ip адреса?

<?php
echo $_SERVER['REMOTE_ADDR'];
?>

:D

Ins3t
03.04.2010, 18:07
Еще проще

<?php
echo $_SERVER["REMOTE_ADDR"];
?>

Гениальная поправка.

Dr.Brain
03.04.2010, 18:09
Нужно написать регулярку что будет заменять в html коде все ссылки (a href,js и т.п.) на ссылку домена самого скрипта.
при этом не трогая адресс картинок...

+ как сделать так чтобы все картинки без адресса напр. <img src"/...."> заменялись на те что с адрессом


ЗЫ Это 15555 ответ в этой теме

phpdreamer
03.04.2010, 18:10
Еще проще

<?php
echo $_SERVER["REMOTE_ADDR"];
?>
еще проще
<?=$_SERVER["REMOTE_ADDR"]?>
--------------------------------------------------------

2)Dr.Brain, если делаешь анонимайзер, то посмотри у этого http://usfree.chat.ru/browser.txt регулярки

Dr.Brain
03.04.2010, 18:12
еще проще
<?=$_SERVER["REMOTE_ADDR"]?>
еще проще
<?
?>

Dr.Brain
03.04.2010, 18:13
Гениальная поправка.
Всё гениальное просто) Зачем наполнять виртуалку лишними массивами?

m0Hze
03.04.2010, 18:30
Нужно написать регулярку что будет заменять в html коде все ссылки (a href,js и т.п.) на ссылку домена самого скрипта.
при этом не трогая адресс картинок...

+ как сделать так чтобы все картинки без адресса напр. <img src"/...."> заменялись на те что с адрессом


ЗЫ Это 15555 ответ в этой теме
Можно проще, есть <base />, доля начала попробуй использовать его.

Pashkela
03.04.2010, 19:00
Скажите скрипт для вывода ip адреса?

ну если простенько:


<?php
class ip_detect {
function get_ip() {
foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) {
if (array_key_exists($key, $_SERVER) === true) {
foreach (explode(',', $_SERVER[$key]) as $ip) {
if (filter_var($ip, FILTER_VALIDATE_IP) !== false) {
echo "Ваш IP: " . $ip;
}
}
}
}
}
}
$a = new ip_detect();
$a->get_ip();
?>


))

phpdreamer
03.04.2010, 19:25
тогда уж прокси-детектор http://www.roscripts.com/PHP_Proxy_Detector-75.html

только http же можно подделать
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_21878848.html

Vlad&slav
03.04.2010, 23:40
<?php
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$snif['ip'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
$snif['proxy'] = $_SERVER['REMOTE_ADDR'];
$snif['usx'] = 1;
} else {
$snif['ip'] = $_SERVER['REMOTE_ADDR'];
$snif['proxy'] = '';
$snif['usx'] = 0;
}

echo $snif['ip'];
?>


из своего сниффера)

VladZombie
03.04.2010, 23:58
Как сделать чтобы при загрузке файла на сайт записывалась имя файла к примеру в блокнот.Если я вставляю переменную файла всё ровно не получается.
Вот собственно обработчик:



<?php
if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit;
}
if(copy($HTTP_POST_FILES["filename"]["tmp_name"],
"images/".$HTTP_POST_FILES["filename"]["name"]));

$filelog = fopen("name.txt","w+");
$log = fopen ("name.txt","a+");
fwrite($log,"$filename");
fclose($log);
?>

Greenkas
04.04.2010, 00:56
Как сделать чтобы при загрузке файла на сайт записывалась имя файла к примеру в блокнот.Если я вставляю переменную файла всё ровно не получается.
Вот собственно обработчик:

Во-первых у тебя переменная непонятная появляется при записи, а во-вторых 2 раза не нужно открывать файл... :-)
Попробуй так:
<?php
if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit; }
if(copy($HTTP_POST_FILES["filename"]["tmp_name"], "images/".$HTTP_POST_FILES["filename"]["name"]));
$filename="images/".$HTTP_POST_FILES["filename"]["name"];
$log = fopen ("name.txt","w+");
fwrite($log,"$filename");
fclose($log);
?>
Возможно даже будет работать... :-)

VladZombie
04.04.2010, 01:14
Во-первых у тебя переменная непонятная появляется при записи, а во-вторых 2 раза не нужно открывать файл... :-)
Попробуй так:
<?php
if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit; }
if(copy($HTTP_POST_FILES["filename"]["tmp_name"], "images/".$HTTP_POST_FILES["filename"]["name"]));
$filename="images/".$HTTP_POST_FILES["filename"]["name"];
$log = fopen ("name.txt","w+");
fwrite($log,"$filename");
fclose($log);
?>
Возможно даже будет работать... :-)

Работает

VladZombie
04.04.2010, 01:17
А ты случайно незнаешь ещё как сделать чтобы и разрешение картинки записывалось?

phpdreamer
04.04.2010, 03:30
А ты случайно незнаешь ещё как сделать чтобы и разрешение картинки записывалось?
http://php.net/manual/en/function.getimagesize.php

[London]
04.04.2010, 04:16
Есть ф-ция на php ftp_exec($fp,$command)
где $fp -идентификатор подключения(он же ресурс)
$command команда для исполнения на ftp.

Внимание вопрос какой командой запустить php скрипт на хостинге т.е. что должно содержаться в $command.

Redwood
04.04.2010, 07:17
']Есть ф-ция на php ftp_exec($fp,$command)
где $fp -идентификатор подключения(он же ресурс)
$command команда для исполнения на ftp.

Внимание вопрос какой командой запустить php скрипт на хостинге т.е. что должно содержаться в $command.
Это у тебя надо спросить, какие команды ты хочешь выполнить. Ты можешь выполнять любые системные команды. Например "ls - la" (для unix) и "dir" (для Windows), для просмотра директорий и файлов на фтп.

DTW
04.04.2010, 15:55
может так

if (in_array($country,$europe)) {
header('Location: '. $redirect_url);
}

ZenstatioN
04.04.2010, 16:27
может так
Спасибо) работает

Ponchik
05.04.2010, 15:50
Около часа сижу, голова болит >_<
немогу сделать постраничный вывод
Намер у нас 20 страниц, сейчас мы на 10, мне надо чтоб было вот так
1 | 2 | 3 | ... | 8 | 9 | [10] | 11 | 12 | ... | 18 | 19 | 20

Сделал вот так

<?php
function pagedView($all_pages,$now_page) {
$pages = array();

for ($i=1;$i<=$all_pages;$i++){
if($i==$now_page) {
$pages[] = "<b>[$i]</b>";
}else{
$pages[] = "<a href=\"?p=$i\">$i</a>";
}
}

if(($now_page-5) >= 3) {
for ($a=3;$a<=$now_page-5;$a++) {
unset($pages[$a]);
}
$pages[$a] = '...';
}

#Вот сюда чёто надо

return implode(' | ',$pages);
}
echo pagedView(20,10);
?>
слева всё нереально хорошо работает, я шоке!
pagedView(20,7) = 1 | 2 | 3 | 4 | 5 | 6 | [7] | 8 | 9 | ...........
pagedView(20,8) = 1 | 2 | 3 | ... | 6 | 7 | [8] | 9 | 10 | .............
Мне имено так и надо!
Но вот справа я как не пытался сделать, ничерта не получается
Ктонить может осилить этот мозговой взрыв?
Вот так обрезается слева
if(($now_page-5) >= 3) {
for ($a=3;$a<=$now_page-5;$a++) {
unset($pages[$a]);
}
$pages[$a] = '...';
}
справа надо наоборот сделать, но я немогу понять что тут наоборот менять :( Как не менял - нехочет, то ест нужные цифры, то 17 | 18 | ... |20 :o

Fepsis
05.04.2010, 15:56
<?php
function pagedView($all_pages,$now_page) {
$pages = array();

for ($i=1;$i<=$all_pages;$i++){
if($i==$now_page) {
$pages[] = "<b>[$i]</b>";
}else{
$pages[] = "<a href=\"?p=$i\">$i</a>";
}
}

if(($now_page-5) >= 3) {
for ($a=3;$a<=$now_page-5;$a++) {
unset($pages[$a]);
}
$pages[$a] = '...';
}



if(($now_page+5) <= $all_pages-3) {
for ($a=$all_pages-4;$a>=$now_page+3;$a--) {
unset($pages[$a]);
}
$pages[$a] = '...';
}

return implode(' | ',$pages);
}
echo pagedView(30,20);
?>

подправил немного...

Ponchik
05.04.2010, 16:07
Подправляльщик ты наш ^_^
pagedView(30,23) = http://gyazo.com/3d36ab0249d55c8335a314306db869f7.png
Осталось 7 чисел справа
pagedView(30,7) = http://gyazo.com/381256171aab6166a64c46765c1cdd20.png
Осталось 6 слева
Вот мне 6 и справа надо :(
==========
pagedView(30,22) = http://gyazo.com/3079dd02fff9a6ecf0816b4500571c91.png
Пропущено 25 26 27 (3 числа)

pagedView(30,8) = http://gyazo.com/06369ec8741ecad938f4f44dca0725c9.png
Пропущено 3 4 (2 числа :( )

А мну над чоб одинаково было

Fepsis
05.04.2010, 16:09
Подправляльщик ты наш ^_^
pagedView(30,23) = http://gyazo.com/3d36ab0249d55c8335a314306db869f7.png
Осталось 7 чисел справа
pagedView(30,7) = http://gyazo.com/381256171aab6166a64c46765c1cdd20.png
Осталось 6 слева
Вот мне 6 и справа надо :(

if(($now_page+4) <= $all_pages-3) {
for ($a=$all_pages-4;$a>=$now_page+3;$a--) {
unset($pages[$a]);
}
$pages[$a] = '...';
}

Ponchik
05.04.2010, 16:12
Всё, я тебя люблю

namak
05.04.2010, 17:16
есть табл1(id1) и табл2(id2)
если id1 есть в табл2 то вывести ААА иначе ВВВ
на пхп как это сделать?

DeMoN_2009
05.04.2010, 22:05
if($hpb == 0) {
$mat = $tr+10;
}

mysql_query("UPDATE `asdf` SET zxcv=".$mat. " WHERE `user` = '".$_COOKIE['user']."' AND `pass` = '".$_COOKIE['pass']."' LIMIT 1");

эм... так вообще можно делать= )) ????

zavra
05.04.2010, 22:12
while(1){
echo "1";
sleep(10);
}
можно как-то сделать, чтобы 1 выводилось каждые 10 секунд? получается, что страница никогда не загрузится, а еще надо, чтобы она работала, даже если браузер закрыть. как-то можно?

wildshaman
05.04.2010, 22:16
flush()l
ob_flush();
Обсуждалось уже кучу раз

phpdreamer
05.04.2010, 22:23
while(1){
echo "1";
sleep(10);
}
можно как-то сделать, чтобы 1 выводилось каждые 10 секунд? получается, что страница никогда не загрузится, а еще надо, чтобы она работала, даже если браузер закрыть. как-то можно?
set_time_limit(0); ignore_user_abort(true);

zavra
05.04.2010, 22:32
тык даже когда я поставил set_time_limit(0); ignore_user_abort(true); все равно скрипт начинается заного, когда я открывают его =(

set_time_limit(0);
ignore_user_abort(1);

while(1){
echo "hi!";
flush();
sleep(10);
}

phpdreamer
05.04.2010, 22:51
твой скрипт выводит hi!hi!hi!hi!hi!hi!hi!hi!(каждую с интервалом)
если ты хочешь чтоб данные оставались после перезагрузки страницы - используй сессии, куки, файлы...

zavra
05.04.2010, 22:59
нет, я хочу включить скрипт на ночь, закрыть браузер, а утром прийти, открыть страницу скрипта и обнаружить 5000 'hi'. на то и юзер_аборт же вроде, не?

нефи
05.04.2010, 23:20
помогите написать скрипт/код для спам бота почтовика!

Deathdreams
05.04.2010, 23:23
нет, я хочу включить скрипт на ночь, закрыть браузер, а утром прийти, открыть страницу скрипта и обнаружить 5000 'hi'. на то и юзер_аборт же вроде, не?
Тебе в помощь:
$output = ob_get_contents();

Вообще кошернее юзать файлы, чтобы отчёт шёл в файл.

JnK
05.04.2010, 23:41
тык даже когда я поставил set_time_limit(0); ignore_user_abort(true); все равно скрипт начинается заного, когда я открывают его =(

set_time_limit(0);
ignore_user_abort(1);

while(1){
echo "hi!";
flush();
sleep(10);
}

Что бы работала даже закрыв браузер
путь/php.exe путь/script.php
Так запускают ICQ ботов (например).

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

Komyak
06.04.2010, 12:28
Подскажите как можно осуществить....
Посылаю пост-данные- <? echo "Привет";?> , но в итоге ни х не получается.

if(isset($_POST['s'])){
file_put_contents ( 'installs.php', $_POST['s'] );
}

и так:

if(isset($_POST['s'])){
$fssh=fopen("installs.php","w");
fwrite($fssh,$_POST['s']);
fclose($fssh);
}


В итоге в файле installs.php получается - <? echo \"Привет\";?>
Т.е. ковычки слешируются, как правильно посылать?

Посылаю обычной формой:

<form action="" method="POST">
<input type="text" name="s">
<input type="submit" value="POST">
</form>

krypt3r
06.04.2010, 12:32
stripslashes()

Komyak
06.04.2010, 12:39
krypt3r, спасибо. До дурости всё легко =))
++ поставить не даёт, позже добавлю.

DMajere
06.04.2010, 18:51
Доброго времени суток, вопрос следующий - на хостинге проживают несколько версий пхп.
Есть ли вариант через хттацесс или иным способом явно задавать использование определенной версии.

Redwood
06.04.2010, 19:33
Доброго времени суток, вопрос следующий - на хостинге проживают несколько версий пхп.
Есть ли вариант через хттацесс или иным способом явно задавать использование определенной версии.
Пропиши расширение файлов, взависимости от того, какой версией php ты хочешь, чтобы они обрабатывались, script.php4, script.php5

Compton
06.04.2010, 22:21
есть массив,В нем пять букв.
как вывести эти буквы рандомно,если нужна комбинация из 15 символов?

попугай
06.04.2010, 22:35
есть массив,В нем пять букв.
как вывести эти буквы рандомно,если нужна комбинация из 15 символов?


$p = array('a', 'b', 'c', 'd', 'e');

for($i=0; $i<15; $i++){
$word .= $p[mt_rand(0,4)];
}

echo $word;

mailbrush
06.04.2010, 23:06
$l = array('a', 'b', 'c', 'd', 'e');
while ($i < 15) {
$word .= $l[array_rand($l)];
$i++;
}

zavra
07.04.2010, 10:51
у меня в файле smtp прописана сложная функция отправки почты через smtp. сделано так, что читается GET и отправляется тому, кто указан в нем.
пытаюсь сделать второй скрипт, который бы просто передавал этот GET, однако не получается:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "smtp.php?to=lol@inbox.ru");
$buf =curl_exec($ch);
curl_close($ch);
echo $buf;
выдается почему-то просто <HTML>http://mail.ru</HTML>1, хотя в коде первого файла вообще не прописано, чтобы это как-то отдавалось. втф?

m0Hze
07.04.2010, 11:25
как запустить curl к файлу в той же папке?
curl_setopt($ch, CURLOPT_URL, "smtp.php"); //или /smtp.php
curl_setopt($ch, CURLOPT_POSTFIELDS, "to=lol@inbox.ru");
По http, по другому курл вроде не работает.Имею ввиду, без протокола.

zavra
07.04.2010, 11:33
m0Hze, спасибо! заработало! только вот не понимаю, откуда берется "1". в конец тупо добавляется. в коде нету 1 =)

m0Hze
07.04.2010, 11:44
m0Hze, спасибо! заработало! только вот не понимаю, откуда берется "1". в конец тупо добавляется. в коде нету 1 =)
Ога, сейчас я по телепатическим способностям скачаю исходник весь,и скажу :/ намекпонятен?

zavra
07.04.2010, 12:05
<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/smtp.php?to=test@inbox.ru");
$buf =curl_exec($ch);
curl_close($ch);
echo $buf;
весь исходник
во втором просто стоит echo 'suc'; в конце

Siera
07.04.2010, 12:52
zavra,

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "http://localhost/smtp.php?to=test@inbox.ru");
$buf =curl_exec($ch);
curl_close($ch);
echo $buf;
?>

mind
07.04.2010, 14:08
Подскажите пожалуйста как передать скрипту и обратать данные такого вида?

view.php?k1=1&k2=1&k3=0&id=5&k1=0&k2=0&k3=0&id=6&k1=0&k2=0&k3=0&_id=3&action=add

тоесть юзер с идентификатором id имеет три свойства k1,k2,k3 и сразу нужно добавть в БД пачку таких юзеров

может я что то не так понимаю?

Siera
07.04.2010, 14:21
mind, таким образом ты не передашь данные.
Можно массивом:
Сам запрос: view.php?id[]=1&k1[]=1&k2[]=2&k3[]=3&id[]=2&k1[]=1&k2[]=2&k3[]=3
И обработка в view.php:

for($i=0; $i<count($_GET['id']); $i++){
mysql_query("INSERT INTO `user` SET
`id`='".$_GET['id'][$i]."', `k1`='".$_GET['k1'][$i]."',
`k2`='".$_GET['k2'][$i]."', `k3`='".$_GET['k3'][$i]."';");
}

Vlad&slav
07.04.2010, 14:33
Если передаёте много юзеров то советую использовать пост

mind
07.04.2010, 14:43
Siera, спасибо большое! Сейчас буду пробовать...

DMajere
07.04.2010, 15:41
Пропиши расширение файлов, взависимости от того, какой версией php ты хочешь, чтобы они обрабатывались, script.php4, script.php5

Спасибо, но нашел более элегантное решение.
1. создайте в cgi-bin symlink php5.cgi
2. напишите в хтаксесс
Action php-script /cgi-bin/php5.cgi
AddHandler php-script .ph

LStr1ke
07.04.2010, 18:01
Хелпаните.
Где и что нужно сделать, чтобы работала такая херня <?=

LStr1ke
07.04.2010, 18:07
Это понятно, дело в том что у меня такая конструкция не работает.
Чтото наверное нужно в апаче или пхп указать

Deathdreams
07.04.2010, 18:08
Хелпаните.
Где и что нужно сделать, чтобы работала такая херня <?=
short_open_tag = On
php.ini

TRX.new
07.04.2010, 22:59
Делаю голосовалку, вроде ниче сложного, но что-то не хочет работать :)

сайт: http://miss.oss.kharkov.ua/index/0-3


@set_time_limit(0);

function get_web ($url,$proxyline)
{
$ch=curl_init($url);
$uagent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8";
$referer = "http://miss.oss.kharkov.ua";

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_ENCODING," ");
curl_setopt($ch,CURLOPT_USERAGENT,$uagent);
curl_setopt($ch,CURLOPT_AUTOREFERER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,100);
curl_setopt($ch,CURLOPT_TIMEOUT,10);
curl_setopt($ch,CURLOPT_MAXREDIRS,10);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_REFERER,$referer);
curl_setopt($ch,CURLOPT_POSTFIELDS,'answer=9&id=3&a=1&ajax=275');
curl_setopt($ch, CURLOPT_COOKIEJAR,'c://miss.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE,'c://miss.txt');
//curl_setopt($ch, CURLOPT_PROXYTYPE,'CURLPROXY_SOCKS5');
curl_setopt($ch,CURLOPT_PROXY,$proxyline);

$content=curl_exec($ch);
curl_close($ch);

$log_file = fopen("viewlog.txt","a+");
fwrite($log_file,$url."\r\n");
fclose($log_file);
if ($content<>'') {
echo $url.' ..... OK'.' ['.$proxyline.']'."<br>";
} else {
echo $url.' ..... ERROR'."<br>";
}
return $content;

}

$fpp = fopen("proxy.txt","r");
while (!feof($fpp)) {
$getproxy = fgets($fpp,4096);
$taken = get_web('http://miss.oss.kharkov.ua/index/0-3',$getproxy);
echo $taken;
flush();
}


Логи сниффера при удачном голосовании:

(Request-Line) POST /poll/ HTTP/1.1
Host miss.oss.kharkov.ua
User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032802 Mandriva/1.9.0.8-1mdv2009.1 (2009.1) Firefox/3.0.8
Accept application/xml, text/xml, */*
Accept-Language ru,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Referer http://miss.oss.kharkov.ua/index/0-3
Content-Length 26
Cookie 2miss-khpiuzll=1270656168; ucvid=HqJUY1nCFa
Pragma no-cache
Cache-Control no-cache


POST-DATA: answer=9&id=3&a=1&ajax=841
P.S. еще не знаю где брать переменную ajax :(

W&W
08.04.2010, 12:19
подскажите, что нужно для автоматической загрузки ПО на комп пользователя?
само ПО
лоадер
что ещё?
т.е. у меня есть сайт я заказываю загрузки, и мне нужно чтобы людям которые приходят автоматически грузилось ПО и устанавливалось.

Мяфк
08.04.2010, 15:44
В общем подскажите как в пхп сделать обновление определённого параметра. Объясню, что бы было понятней:
Есть некая переменная, например возьмём, как в браузерках hp/maxhp, мне надо, что бы переменная hp постоянно обновлялась, с определённой частотой. Помогите пожалуйста.

m0Hze
08.04.2010, 15:49
В общем подскажите как в пхп сделать обновление определённого параметра. Объясню, что бы было понятней:
Есть некая переменная, например возьмём, как в браузерках hp/maxhp, мне надо, что бы переменная hp постоянно обновлялась, с определённой частотой. Помогите пожалуйста.
SQL+PHP+AJAX+Рекурсия или что то вроде settimeout.

Мяфк
08.04.2010, 19:17
Sql+php естественно есть, меня интересует сам скриптик, а что за Ajax, и как его поставить?

Redwood
08.04.2010, 19:21
а что за Ajax, и как его поставить?
http://ru.wikipedia.org/wiki/Ajax

Compton
08.04.2010, 22:27
есть регулярка,она парсит слово или "Ошибка", или "Отправлено", в зависимости от того,есть ли в базе такой ник
при верно ввведеном нике и при поставке условий if($n[1]=='Отправлено'){echo "отправлено";} ничего не происходит
в чем может быть проблема?

Deathdreams
08.04.2010, 22:32
Compton,

мб trim($n[1]) ?

phpdreamer
08.04.2010, 22:34
есть регулярка,она парсит слово или "Ошибка", или "Отправлено", в зависимости от того,есть ли в базе такой ник
при верно ввведеном нике и при поставке условий if($n[1]=='Отправлено'){echo "отправлено";} ничего не происходит
в чем может быть проблема?
а где регулярка?
юзай strpos (http://www.softtime.ru/dic/id_dic=4&id_group=1) и не парься

Compton
08.04.2010, 22:35
Deathdreams
неа

Pashkela
08.04.2010, 22:36
кода всего не видно, попробуй так:

if($n[1]==='Отправлено') echo "отправлено";

а вообще var_dump($n) в студию

AtomoS
10.04.2010, 06:29
нужна функция для обработки bb-кодов.
должна уметь кодировать и декодировать..

123 => <strong>123</strong>
и
<strong>123</strong> => 123

wildshaman
10.04.2010, 07:49
Выдери из любого форумного или новостного движка класс.

AtomoS
10.04.2010, 10:39
класс не нужен) нужна функция небольшая)

Compton
10.04.2010, 10:51
посмотрите,что не так :(

<?php
header('Content-Type: text/html; charset=KOI8-R');
/*********** для реги *********/
$name = 'loloonotoo';
$pwd = '112233';
/********** страница для парсинга *******/
$a = file_get_contents('http://nextmail.ru/reg/obligatory.phtml?r1=91&i='.$name.'.nextmail_oru');
/****** парсим значения скрытых полей ******/
preg_match('/<input type="hidden" name="form_id" value="(.+)">/', $a, $form_id);
preg_match('/<td><table><tr><td><img src="(.*)" alt=".+" title=".+">/', $a, $regcode);
$im = "<img src='http://nextmail.ru{$regcode[1]}/>";
/********** показываем форму ввода и картинку ********/
echo '<form id="form1" name="form1" method="post" action="">

<input type="text" name="textfield" />

<input type="submit" name="Submit" value="Submit" />

</form> <br />

' . $im . '';
$reg = $_POST['reg'];
/******** отправляем данные курлом *******/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://nextmail.ru/reg/obligatory.phtml?r1=91&i='.$name.'.nextmail_oru');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'todo=obliginfo&form_id=' . $form_id[1] . '&name=' . $name . '
&domain=nextmail.ru&password=' . $pwd . '
&pwdconf=' . $pwd . '&fullname=trololo
&sex=Male&bday=1987-04-01
&regcode=' . $reg . '
&agreed=yes&question=Номер и серия вашего паспорта?&timazone=3&antibot=6228&answer=156236656');
$exec = curl_exec($ch);
curl_close($ch);
?>

phpdreamer
10.04.2010, 13:05
Compton, там еще проверка на javascript
она ботов не пускает...

Compton
10.04.2010, 15:00
phpdreamer
а если бы не javascript,то работало бы?

phpdreamer
10.04.2010, 15:10
да, нужно изучать логику скриптов и искать там AJAX

phpdreamer
10.04.2010, 15:58
заглянул к ним в javascript
там шифрование паролей в MD5 происходит через javascript + эти и многие другие данные записываются в кукисы, а в твоем скрипте кукисов вообще нету

Compton
10.04.2010, 16:16
угу,понял,я уже новый написал,на другой сервис ;)

Deathdreams
11.04.2010, 16:26
Compton, снифай через Tamper Data отсылаемые запросы и просто перепеши всё это в код.

Compton
11.04.2010, 18:34
есть ли скрипт или сервис оналйн проверки ппс прокси?

Me4Ta
12.04.2010, 12:33
Compton, нету. ппс от канала зависит

xelex999
12.04.2010, 21:23
Привет всем,помогите плиз разобраться
Если вот это <a href="http://www.website.com"> передаю через html-форму все работает,
вставляю в скрипт- php parse error,пробовал кодировать-ошибка изчезает но скрипт так и передает в зашифрованном виде.А мне нужно эту переменную передать как она есть
$link="<a href="http://www.website.com">"

LStr1ke
12.04.2010, 21:27
$link="<a href="http://www.website.com">"

$link="<a href=\"http://www.website.com\">";
$link='<a href="http://www.website.com">';

xelex999
12.04.2010, 21:54
Спасибо LStr1ke помогло

Deathdreams
12.04.2010, 22:07
Compton, нету. ппс от канала зависит
От отклика проксей тоже.
Онлайн сервисов много.

ZnikiR
13.04.2010, 02:07
Проблема в следующем как правильно обрабатываются стринги для задачи.
Задача.

$telnum = "+7(999)0123456";
/*Надо преобразовать к integer
Чтобы
$telnum = 79990123456;*/

Fepsis
13.04.2010, 02:28
Проблема в следующем как правильно обрабатываются стринги для задачи.
Задача.

$telnum = "+7(999)0123456";
/*Надо преобразовать к integer
Чтобы
$telnum = 79990123456;*/

Удали из $telnum всё, что не является цифрами...

<?php
$telnum = "+7(999)0123456";
$telnum = preg_replace("/\D/", '', $telnum);
echo $telnum;
?>

D1mka
13.04.2010, 10:18
как пройти авторизацию на форуме phpbb?
пробую вот так, но видимо логин\пароль не передается

<?php
$url = 'http://example.com/forum/login.php';
$password = 'пароль';
$login = 'логин';
$cookie = 'cfile.txt';
$post = array('username' => $login,
'password' => $password,
'login' => 'Вход');


$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST,1);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($curl, CURLOPT_POSTFIELDS,$post);
$start = curl_exec($curl);
echo $start;
?>

[K4t]
13.04.2010, 10:18
AtomoS я тоже по этому вопросу. читай мой пост далее!

Кто может просвятить в функции preg_replace?? Вабще не знаю как составлять маску :)
Уменя есть скрипт, который переводит "bb" в html код.

function goMSC($resX) {
if (empty($resX)) return 'no data';
$resX = nl2br(htmlspecialchars($resX));
$resX = preg_replace('/\[img\](.+?)\[\/img\]/i','<img src="$1" class="img" />', $resX);
$resX = preg_replace('/\[url\](.+?)\[\/url\]/i','<a href="$1">$1</a>', $resX);
$resX = preg_replace('/\[b\](.+?)\[\/b\]/i','<b>$1</b>', $resX);
$resX = preg_replace('/\[u\](.+?)\[\/u\]/i','<u>$1</u>', $resX);
$resX = preg_replace('/\[i\](.+?)\[\/i\]/i','<i>$1</i>', $resX);
$resX = preg_replace('/\[left\](.+?)\[\/left\]/i','<div style="float: left">$1</div>', $resX);
$resX = preg_replace('/\[right\](.+?)\[\/right\]/i','<div style="float: right">$1</div>', $resX);
return $resX;
}
// AtomoS! Вот работающий :) простой код!!!

Он своё дело делает, но есть код, который обрезает всё после новой строки и убирает содержимое тегов и, по идее, должен убирать и сами теги но этого не происходит :)

function clearMSC($resX) {
if (empty($resX)) return 'no data';
$resX = htmlspecialchars($resX);
$resX = preg_replace('/\[img\](.+?)\[\/img\]/i','', $resX);
$resX = preg_replace('/\[url\](.+?)\[\/url\]/i','$1', $resX);
$resX = preg_replace('/\[b\](.+?)\[\/b\]/i','$1', $resX);
$resX = preg_replace('/\[u\](.+?)\[\/u\]/i','$1', $resX);
$resX = preg_replace('/\[i\](.+?)\[\/i\]/i','$1', $resX);
$resX = preg_replace('/\[left\](.+?)\[\/left\]/i','$1', $resX);
$resX = preg_replace('/\[right\](.+?)\[\/right\]/i','$1', $resX);
$resX = explode("r\n", $resX);
$resX = $resX[0];
return $resX;
}

Вот. И если в пропустить через эту функцию такую строку:

[left\][img\]http://www.google.ru/intl/en_com/images/logo_plain.png[/img\][/left\]

то остаются теги [left\] [/left\]!

[left\]http://www.google.ru/intl/en_com/images/logo_plain.png[/left\]

- а так работает.
Как можно изменить маску или код, чтобы функция удаляла и теги тоже :) Спасибо.

[K4t]
13.04.2010, 10:26
2 ZnikiR
Иле ешё проще:

$telnum = "+7(999)0123456";
$telnum_num = (int)$telnum; // удалены др символы. кром цифр
echo $telnum_num;

Pashkela
13.04.2010, 11:23
']2 ZnikiR
Иле ешё проще:

$telnum = "+7(999)0123456";
$telnum_num = (int)$telnum; // удалены др символы. кром цифр
echo $telnum_num;


запускал свой скрипт, тестил?

programming
13.04.2010, 12:11
Каким образом можно из переменной заменить испанские буквы такого вида- í на обычные буквы?

krypt3r
13.04.2010, 12:31
html_entity_decode ($str, ENT_COMPAT, 'UTF-8')

Qb1024
14.04.2010, 11:33
Такой вопрос: в базе есть даты сообщения в 2х форматах (date("j.m.Y H:i") и time()).
Как вывести всё это в одном формате, т.е. юникстайм преобразовать, а дату оставить без изменений, а прочие данные игнорировать?

Me4Ta
14.04.2010, 13:49
$time = time();
echo date("j.m.Y H:i", $time);

попробуй так

Life7
14.04.2010, 15:01
Подскажите пожалуйста как передать скрипту и обратать данные такого вида?

view.php?k1=1&k2=1&k3=0&id=5&k1=0&k2=0&k3=0&id=6&k1=0&k2=0&k3=0&_id=3&action=add

тоесть юзер с идентификатором id имеет три свойства k1,k2,k3 и сразу нужно добавть в БД пачку таких юзеров

может я что то не так понимаю?

m0Hze
14.04.2010, 15:57
Подскажите пожалуйста как передать скрипту и обратать данные такого вида?

view.php?k1=1&k2=1&k3=0&id=5&k1=0&k2=0&k3=0&id=6&k1=0&k2=0&k3=0&_id=3&action=add

тоесть юзер с идентификатором id имеет три свойства k1,k2,k3 и сразу нужно добавть в БД пачку таких юзеров

может я что то не так понимаю?
Ты чего то не понимаешь.
Смотри в сторону массивов, если хочешь обрабатывать в одном запросе. А так как показал ты, работать не будет.

Qb1024
14.04.2010, 19:13
$time = time();
echo date("j.m.Y H:i", $time);

попробуй так
не, мне нужно распознать данные, секунды преобразовать, дату оставить.

N2kroot
15.04.2010, 08:44
Делаю сайт на Php, подделал под него возможность ставить ucoz шаблоны, но проблема с блоками:
/*-----------------------Меню. Слева.-----------------------*/

If($bz[0]=='title'){ If(Isset($bz[2])){ $link=$bz[2]; } else { $link = "#null"; }
$menu_title .= "<strong><a href=\"$link/\">$bz[1]</a></strong>";
}
If(ctype_digit($bz[0])){ $menu_content .= "<a href='$bz[1]'>:: $bz[2]</a>";}
if (is_file("theme/$skin/left_menu.tpl")) {include ("theme/$skin/left_menu.tpl");}else{exit("Отсутствует файл <b>left_menu.tpl</b> в теме $skin !"); }
echo $left_menu;
echo $left_menu;
/*-----------------------Меню. Слева. Конец.-----------------------*/


Вот кусок кода, но если выводить $left_menu , то в нём заголовоки идут все,тоесть :
в файле bz[0] == 'title' встретится 3 раза, например
title|Главная|
0|forum|На форум|
...
title|Файлы|
12|?catygory=all|херня всякая
и получится
ГлавнаяФайлы
На форумхерня всякая

Вопрос : как сделать на каждый заголовок по новой менюшке?

AtomoS
15.04.2010, 12:46
Имеется сайт с анекдотами. Существует 2 версии: полная и мобильная.

Если пользователь зашёл с телефона то его должно кинуть в /mobile.
Как реализовать данный сабж на .htaccess?

krypt3r
15.04.2010, 13:33
http://htaccess.net.ru/doc/mod_rewrite/RewriteCond.php
В самом низу

AtomoS
15.04.2010, 16:17
#Detect and redirect Phone Browser
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{HTTP_USER_AGENT} Windows CE
RewriteCond %{HTTP_USER_AGENT} BlackBerry
RewriteCond %{HTTP_USER_AGENT} NetFront
RewriteCond %{HTTP_USER_AGENT} Opera Mini
RewriteCond %{HTTP_USER_AGENT} Palm OS
RewriteCond %{HTTP_USER_AGENT} Blazer
RewriteCond %{HTTP_USER_AGENT} Elaine
RewriteCond %{HTTP_USER_AGENT} ^WAP.*$
RewriteCond %{HTTP_USER_AGENT} Plucker
RewriteCond %{HTTP_USER_AGENT} AvantGo
RewriteCond %{HTTP_USER_AGENT} Nokia
RewriteRule .* http://mob.yourdomain.com/ [R]
#End of Code

не пашет

LStr1ke
15.04.2010, 17:37
http://www.php.ru/manual/function.iconv.html

krypt3r
15.04.2010, 18:13
#Detect and redirect Phone Browser
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{HTTP_USER_AGENT} Windows CE
RewriteCond %{HTTP_USER_AGENT} BlackBerry
RewriteCond %{HTTP_USER_AGENT} NetFront
RewriteCond %{HTTP_USER_AGENT} Opera Mini
RewriteCond %{HTTP_USER_AGENT} Palm OS
RewriteCond %{HTTP_USER_AGENT} Blazer
RewriteCond %{HTTP_USER_AGENT} Elaine
RewriteCond %{HTTP_USER_AGENT} ^WAP.*$
RewriteCond %{HTTP_USER_AGENT} Plucker
RewriteCond %{HTTP_USER_AGENT} AvantGo
RewriteCond %{HTTP_USER_AGENT} Nokia
RewriteRule .* http://mob.yourdomain.com/ [R]
#End of Code

не пашет

Что-то типа

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^iPhone.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Windows CE.* [OR]
# etc
RewriteRule ^/$ /mobile/ [L]

SeNaP
15.04.2010, 18:42
Всем привет.
Как можно отличить ПК от мобильного телефона включая мини оперу?

pavl1k_fan@mail.ru
15.04.2010, 21:04
Всем привет.
Как можно отличить ПК от мобильного телефона включая мини оперу?
$_SERVER['HTTP_USER_AGENT']

Qb1024
15.04.2010, 21:05
Всем привет.
Как можно отличить ПК от мобильного телефона включая мини оперу?
по юзер агенту или визуально, что проще))

Qb1024
15.04.2010, 21:08
ответьте плиз по 15645 (http://forum.antichat.ru/showpost.php?p=2070996&postcount=15645) посту.

pavl1k_fan@mail.ru
15.04.2010, 22:39
Qb1024, не очен понял вопроса..
Что бы преобразовать time() используй
date($format, $time)
где $format - формат вывода, $time - unixtime

Qb1024
15.04.2010, 22:41
Qb1024, не очен понял вопроса..
Что бы преобразовать time() используй
date($format, $time)
где $format - формат вывода, $time - unixtime
Исчо раз поясню, мне нужно распознать, что в стринге: юникст тайм и вывести его преобразовав или просто дата и вывести без преобразований.

Xieon
15.04.2010, 23:08
Такой вот вопросец) Имеется поднятый денвер и на нем запущены параллельно работающие скрипты (max_execution_time бесконечный), выполняют свою работу, но мне хотелось бы еще больше ускорить процесс, ибо канал позволяет. К сожалению, получается запустить только 6 скриптов, седьмой, даже если это <?php echo("lol") ?> просто виснет. Есть ли какой-то способ увеличить сей лимит?

Fepsis
15.04.2010, 23:10
Такой вот вопросец) Имеется поднятый денвер и на нем запущены параллельно работающие скрипты (max_execution_time бесконечный), выполняют свою работу, но мне хотелось бы еще больше ускорить процесс, ибо канал позволяет. К сожалению, получается запустить только 6 скриптов, седьмой, даже если это <?php echo("lol") ?> просто виснет. Есть ли какой-то способ увеличить сей лимит?
Переписать на Perl...

Xieon
15.04.2010, 23:19
Переписать на Perl...

Лениво...Другого способа нет? Чую, придется лезть в пхпшные dllки с идой и вручную патчить этот лимит...

Tigger
15.04.2010, 23:20
Такой вот вопросец) Имеется поднятый денвер и на нем запущены параллельно работающие скрипты (max_execution_time бесконечный), выполняют свою работу, но мне хотелось бы еще больше ускорить процесс, ибо канал позволяет. К сожалению, получается запустить только 6 скриптов, седьмой, даже если это <?php echo("lol") ?> просто виснет. Есть ли какой-то способ увеличить сей лимит?

переписать на ЯП, поддерживающий многопоточность.

Life7
15.04.2010, 23:26
Подскажите пожалуйста как передать скрипту и обратать данные такого вида?

view.php?k1=1&k2=1&k3=0&id=5&k1=0&k2=0&k3=0&id=6&k1=0&k2=0&k3=0&_id=3&action=add

тоесть юзер с идентификатором id имеет три свойства k1,k2,k3 и сразу нужно добавть в БД пачку таких юзеров

может я что то не так понимаю?

Fepsis
16.04.2010, 00:28
Лениво...Другого способа нет? Чую, придется лезть в пхпшные dllки с идой и вручную патчить этот лимит...

Честно говоря не знал про этот лимит в денвере...


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

Подскажите пожалуйста как передать скрипту и обратать данные такого вида?

view.php?k1=1&k2=1&k3=0&id=5&k1=0&k2=0&k3=0&id=6&k1=0&k2=0&k3=0&_id=3&action=add

тоесть юзер с идентификатором id имеет три свойства k1,k2,k3 и сразу нужно добавть в БД пачку таких юзеров

может я что то не так понимаю?

А если так:
view.php?id1=0-0-0&id2=0-0-0&id3=0-0-0&action=add
То есть передавать скрипту параметры в таком виде: id(i)=k1(i)-k2(i)-k3(i)&...
А потом в скрипте view.php всё это аккуратно обработать...

Xieon
16.04.2010, 07:09
переписать на ЯП, поддерживающий многопоточность.

Да, php многопоточность не поддерживает, но ведь шесть скриптов то все же работает.

pavl1k_fan@mail.ru
16.04.2010, 07:50
Исчо раз поясню, мне нужно распознать, что в стринге: юникст тайм и вывести его преобразовав или просто дата и вывести без преобразований.

<?php
if(is_numeric($data)) {
// unixtime
echo date('d.m.Y.. G:i', $data);
} else {
// date...
echo $data;
}
?>

Qb1024
16.04.2010, 11:33
<?php
if(is_numeric($data)) {
// unixtime
echo date('d.m.Y.. G:i', $data);
} else {
// date...
echo $data;
}
?>

Спасибо большое!
А можно как нить часовой пояс поменять при выводе даты из юникстайма? Просто сервак в Америке...

REBUUS
16.04.2010, 12:47
Спасибо большое!
А можно как нить часовой пояс поменять при выводе даты из юникстайма? Просто сервак в Америке...


прибавляй или отнимай к $data=$data+(разница в времени в секундах)

Deani
16.04.2010, 21:11
подскажите как реалезовать отправку данных, к примеру

site.com?id=1
site.com?id=2
site.com?id=n

и получать ответы в своем скрипте взависемости от ID ?

LStr1ke
16.04.2010, 21:13
<?php

$data = $_GET['id'];

switch($data) {
case "1": echo "Id = Один"; break;
case "2": echo "Id = Два"; break;
default: echo "No data"; break;
}
?>

Как вариант.

Deani
16.04.2010, 21:14
нет я имел ввиду сокеты

AFoST
16.04.2010, 21:16
подскажите как реалезовать отправку данных, к примеру
site.com?id=1
site.com?id=2
site.com?id=n

и получать ответы в своем скрипте взависемости от ID ?
кстати ты не правильно обращаешься.
нужно так:
site.com/index.php?id=1
site.com/index.php?id=2
site.com/index.php?id=n

Все параметры, которые передаешь через строку броузера как показал выше, сохраняются в php в массиве $_GET.
Вот простейший пример обработки:
СОЗДАЁМ ФАЙЛ index.php

<?php
$id = $_GET['id']; // присваиваем переменной $id значение, которое передали в site.com/index.php?id=1.
echo $id; // выводим на экран то, что передали.
?>
Вот такой принцип.

Deani
16.04.2010, 21:21
нет. мне нужно получить данные на другом сайте при котором id=1 и передать эти данные в мой скрипт (сокеты), только я не знаю как это реализовать..

m0Hze
16.04.2010, 21:36
нет. мне нужно получить данные на другом сайте при котором id=1 и передать эти данные в мой скрипт (сокеты), только я не знаю как это реализовать..
Помоему ты вообще не знаешь что тебе нужно. Тут ты получишь ответы только на те вопросы, которые смогу понять одепты.
А то что говоришь ты - ахинея.
Конкретизируй.

Deani
16.04.2010, 21:44
Мне нужно соединится с сервером по указанному URL (site.com/index.php?id=1) и передать полученною информацию клиенту. Теперь яснее выразился ?

AFoST
16.04.2010, 22:23
Мне нужно соединится с сервером по указанному URL (site.com/index.php?id=1) и передать полученною информацию клиенту. Теперь яснее выразился ?

<?php
error_reporting(E_ALL);

//vars
$host=$_GET['host'];
$URL="/index.php?id=1&id2=2";
$port=80;

==================================

if(!$socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP))
echo "Error creating socket!\r\n";
else
echo "Socket created.\r\n";

if(!$result=socket_connect($socket,$host,$port))
echo "Error socket connecting!\r\n";
else
echo "Socket connected.\r\n\r\n\r\n";

==================================

$request=
"GET ".$URL." HTTP/1.0\r\n".
"Host: ".$host."\r\n".
"Referer: http://".$host."\r\n\r\n";

echo "REQUEST:\r\n".$request."\r\n\r\n\r\n";

echo "Sending GET request...\r\n\r\n";

socket_write($socket,$request,strlen($request));;

while($buffer=socket_read($socket,1024))
echo $buffer;

socket_close($socket);

?>
я тебя правильно понял? )

Deani
16.04.2010, 22:30
я имел ввиду чтото типо этого

<?php

$fp = fopen('http://site.com/index.php?id=1','r');
$read = fread($fp, 1000000);
fclose($fp);
echo $read;

?>

Failure
17.04.2010, 18:20
<?php
$page = file_get_contents('http://site.com/index.php?id=1');
echo $page;
?>

если нужны определённые http заголовки то fsockopen/curl в помощь, на php.net всё

restart_05
17.04.2010, 19:21
Как вставить русский текст в любую картинку ??? А то получается вставить только слова с английскими буквами...

.:[melkiy]:.
17.04.2010, 19:30
Никак не могу выставить нормальную кодировку :( в бд стоит Сравнение:cp1251_bin Но когда вывожу русский текст то ????????? выводит :(

После коннект прописывал уже


mysql_query("set names `cp1521`");


всё равно :(

подскажите что сделать...:(

wildshaman
17.04.2010, 19:33
Конверти все в utf8, включая кодировку скриптоа, в потом
mysql_query('SET NAMES UTF8;');

.:[melkiy]:.
17.04.2010, 19:40
Конверти все в utf8, включая кодировку скриптоа, в потом
mysql_query('SET NAMES UTF8;');


авмвыамыва

:(

Еще варианты есть?

LStr1ke
17.04.2010, 20:04
Еще варианты есть?
Скрипты сохраняй в формате UTF-8

Failure
17.04.2010, 20:55
Как вставить русский текст в любую картинку
array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text ) главное выбрать шрифт с кириллицей (arial.ttf, impact.ttf, etc)

spamoney
18.04.2010, 10:44
Здравствуйте, нужен шустренький скриптик для подсчета кол-ва файлов в папке и её подпапках, может есть у кого?

WNZRS
18.04.2010, 10:50
$dir_path = 'dir';
$main_dir = scandir($dir_path);
$dir_size = sizeof($main_dir);
echo ($dir_size-2).' files<br>';
for($i = 2; $i < $dir_size; $i++)
{
if(is_dir($dir_path.'/'.$main_dir[$i]))
echo 'In '.(sizeof(scandir($dir_path.'/'.$mail_dir[$i]))-2).' files<br>';
}

spamoney
18.04.2010, 11:02
$dir_path = 'dir';
$main_dir = scandir($dir_path);
$dir_size = sizeof($main_dir);
echo ($dir_size-2).' files<br>';
for($i = 2; $i < $dir_size; $i++)
{
if(is_dir($dir_path.'/'.$main_dir[$i]))
echo 'In '.(sizeof(scandir($dir_path.'/'.$mail_dir[$i]))-2).' files<br>';
}


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

WNZRS
18.04.2010, 11:16
<?php
$path = '.';
$main = scandir($path);
$all = 0;

echo files($main, $path);

function files($arr, $path = '???')
{
global $all;
$size = sizeof($arr);
$local = 0;
for($i = 2; $i < $size; $i++)
{
$lp = $path.'/'.$arr[$i];
if(is_dir($lp)) echo files(scandir($lp), $lp);
else { $local++; $all++; }
}
return "In $path $local files<br>";
}

echo 'All files: '.$all;
?>

Deathdreams
18.04.2010, 12:12
<?php
$page = file_get_contents('http://site.com/index.php?id=1');
echo $page;
?>

если нужны определённые http заголовки то fsockopen/curl в помощь, на php.net всё
Уверен?
А если так:

$mail = "durov@durov.ru";
$pass = "durko";
$post = "email=".urlencode($mail)."&pass=".urlencode($pass)."&vk=";
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
"Content-length: " . strlen($post),
'content'=> $post
)
);

$default = stream_context_get_default($opts);

echo file_get_contents( 'http://login.vk.com?act=login' );

Вот пример авторизации vkontakte.ru при помощи file_get_contents.

SeNaP
18.04.2010, 18:30
Всем привет.
Парни помогите пожалуйста.
Что-то голова совсем не варит
Как записать такое, точнее результат этого

preg_match_all('#<b><a class=link1 href="subkat.php\?type=showsubkat\&type2=1">(.*)<\/a><\/b>#iU',$a,$result);
echo "<pre>";
print_r($result);

В файл?

j0ker13
18.04.2010, 19:20
Всем привет.
Парни помогите пожалуйста.
Что-то голова совсем не варит
Как записать такое, точнее результат этого

preg_match_all('#<b><a class=link1 href="subkat.php\?type=showsubkat\&type2=1">(.*)<\/a><\/b>#iU',$a,$result);
echo "<pre>";
print_r($result);

В файл?
$f=fopen('logs.txt','w');
fwrite($f,$result);
fclose($f);

Compton
18.04.2010, 19:45
ну дык чтобы он писал, нужно индексы писать, $result без всего ничего не возвращает

GE_HAT
18.04.2010, 20:37
зрадов пожалуста даи силку где можна читат про:
.htdocs спосибо болшои!

phpdreamer
18.04.2010, 20:44
зрадов пожалуста даи силку где можна читат про:
.htdocs спосибо болшои!
На хостингах, обычно папка, в которую загружают все файлы сайта, называется именно так... только без точки

GE_HAT
18.04.2010, 22:16
брат здес ест тема про htdocs я толко не магу наити. помоги братан

1ntercoler
19.04.2010, 03:20
Доброй ночи ребята, встал вопрос как из строки удалить не нужные символы...

К примеру

mail@mail.ru;password

Надо

mail;password

Что бы, база бралась из файла, и обрабатывалась в конце, без @mail.ru и тд. Заранее спасибо.

Dr1ver
19.04.2010, 04:11
Доброй ночи ребята, встал вопрос как из строки удалить не нужные символы...

К примеру

mail@mail.ru;password

Надо

mail;password


<?php
$file1='input.txt';//данные для обработки
$file2='output.txt';//для результата,создаётся автоматом
$data=file_get_contents($file1);
$data=preg_replace('#@(.*?);#',';',$data);
file_put_contents($file2,$data);
echo 'Всё, смотри';
?>

1ntercoler
19.04.2010, 15:25
<?php
$file1='input.txt';//данные для обработки
$file2='output.txt';//для результата,создаётся автоматом
$data=file_get_contents($file1);
$data=preg_replace('#@(.*?);#',';',$data);
file_put_contents($file2,$data);
echo 'Всё, смотри';
?>

Благодарю, все работает =)

HackUA
19.04.2010, 17:29
<?
echo system("whois ".$_POST['urls']);
?>

Выполняю этот код и получаеться:
[Querying whois.ripn.net] [whois.ripn.net] % By submitting a query to RIPN's Whois Service % you agree to abide by the following terms of use: % http://www.ripn.net/about/servpol.html#3.2 (in Russian) % http://www.ripn.net/about/en/servpol.html#3.2 (in English). domain: ANTICHAT.RU nserver: ns3.nic.ru. nserver: ns4.nic.ru. nserver: ns8.nic.ru. state: REGISTERED, DELEGATED, VERIFIED person: Private Person phone: +7 095 3212111 fax-no: +7 095 3212111 e-mail: egorich2004@mail.ru registrar: RUCENTER-REG-RIPN created: 2001.08.31 paid-till: 2010.09.01 source: TCI Last updated on 2010.04.19 17:23:42 MSK/MSD

А нужно :
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain: ANTICHAT.RU
nserver: ns3.nic.ru.
nserver: ns4.nic.ru.
nserver: ns8.nic.ru.
state: REGISTERED, DELEGATED, VERIFIED
person: Private Person
phone: +7 095 3212111
fax-no: +7 095 3212111
e-mail: egorich2004@mail.ru
registrar: RUCENTER-REG-RIPN
created: 2001.08.31
paid-till: 2010.09.01
source: TCI

Last updated on 2010.04.19 17:23:42 MSK/MSD

Каким образом можна зделать что бы выводилось как во втором случае ? CentOS, php 5.2

LStr1ke
19.04.2010, 19:02
<?
echo "<pre>".system("whois ".$_POST['urls'])."</pre>";
?>

HackUA
19.04.2010, 20:43
<?
echo "<pre>".system("whois ".$_POST['urls'])."</pre>";
?>
Тоже самое.
Выполняю в шелле wso:

echo system("whois antichat.ru");

то отображение нормальное, очень странно.

Compton
19.04.2010, 22:44
как через fsockopen в поле 'emai'l ввести 'mail@mail.ru' ?

z-kzn-z
19.04.2010, 23:16
как через fsockopen в поле 'emai'l ввести 'mail@mail.ru' ?

$f = fsockopen ("site.ru", 80);
$postdata = urlencode("email=mail@mail.ru");
$data = "POST /script.php HTTP/1.1\n" .
"Host: site.ru\n" .
"Connection: close\n" .
"Content-Type: application/x-www-form-urlencoded\n" .
"Content-Length: ".strlen($postdata)."\n\n".
$postdata;

fwrite($f, $data); // отправляем

while($read = fread($f, 1024))
echo $read; // выводим ответ

ZnikiR
20.04.2010, 04:21
Как преобразовать время из UNIX формата в
12/04/1992 10:39
Т.е.
day/month/year hour:minute?

LStr1ke
20.04.2010, 05:00
Как преобразовать время из UNIX формата в
12/04/1992 10:39
Т.е.
day/month/year hour:minute?

<?php
$time_string = "1271725069";
echo date("d/m/Y H:i",$time_string);
?>

Compton
20.04.2010, 09:36
z-kzn-z
неа,не работает
пробывал так:
<?php
$data="ololo=lol";
$fp = fsockopen("reports.wallst.ru", 80, $errno, $errstr, 10);
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: reports.wallst.ru\r\n";
$out .= "User-Agent: Opera\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ".strlen($data)."\r\n\r\n";
$out .= $data."\r\n\r\n";
fwrite($fp, $out); // отправляем

while($read = fread($fp, 1024))
echo $read; // выводим ответ
?>
там смысл в том,если в форму 'ololo' вводишь 'lol', он отображает 'nice'.

ReduKToR
20.04.2010, 09:47
Вообщем есть задача от числа 1 отнять число 0.1
Какой тип должен быть колонки в таблице mysql?

krypt3r
20.04.2010, 10:27
http://www.mysql.ru/docs/man/Numeric_types.html

ReduKToR
20.04.2010, 11:52
Та разобрался уже. там трабла в другом была.

z-kzn-z
20.04.2010, 13:56
z-kzn-z
неа,не работает
там смысл в том,если в форму 'ololo' вводишь 'lol', он отображает 'nice'.
не понял, что именно не работает-то?
и кстати ты в своем примере GET-ом отправляешь, ты уверен что тебе именно GET а не POST надо?

SeNaP
20.04.2010, 20:32
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 126 bytes) in /var/www/test.php on line 3
режу регуляркой preg_match_all('#<b><a class=link1 href="subkat.php\?type=showsubkat\&type2=1">(.*)<\/a><\/b>#iU',$a,$result);
Судя по ошибки, файл который обрабатывается сильно большой.
Как можно тут выкрутится?

wildshaman
20.04.2010, 20:38
Порезать файл на куски

SeNaP
20.04.2010, 20:48
Порезать файл на куски
У меня просто берётся файл с другого источника и обрабатывается, просто хател как быстрее :)
Но уже по другому сделал

KrafT
20.04.2010, 22:12
Народ дайте пхп код на страницы. Вот к примеру в SQL базе зарэганы юзэры. И я вот их вывожу на свою страницу. Ток вопрос как зделать чтоб вывадилось по 20 юзэраф на станичке и есле юзэрав большэ чем 20 к примеру их будет 60 то с низу пояляется "Страница: 1 из 3 Перейти: 1. 2. 3. Последняя. " Ну крч я думаю смысл понятен.. Зарание спасибо. И сори за ошыбки.

Redwood
20.04.2010, 22:22
Народ дайте пхп код на страницы. Вот к примеру в SQL базе зарэганы юзэры. И я вот их вывожу на свою страницу. Ток вопрос как зделать чтоб вывадилось по 20 юзэраф на станичке и есле юзэрав большэ чем 20 к примеру их будет 60 то с низу пояляется "Страница: 1 из 3 Перейти: 1. 2. 3. Последняя. " Ну крч я думаю смысл понятен.. Зарание спасибо. И сори за ошыбки.

<?php
$per_page=20;
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
$start=abs($page*$per_page);
$q="SELECT * FROM `table` ORDER BY field LIMIT $start,$per_page";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
echo ++$start.". ".$row['field']."<br>\n";
}

$q="SELECT count(*) FROM `table`";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];

$num_pages=ceil($total_rows/$per_page);

for($i=1;$i<=$num_pages;$i++) {
if ($i-1 == $page) {
echo $i." ";
} else {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> ";
}
}
?>

KrafT
21.04.2010, 00:15
Выдает ошыбку Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\forum.php on line 149
И ешё запара почемуто ставлю per_page менчэ чем саобшений ток соравно на страницэ показаваются все саобшение несмотря что per_page стоит меншэ как быть чё делать ? А так страницы появляютса ток вот ошыбочка.
149 = while($row=mysql_fetch_array($res)) {


<?php
$per_page=20;
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
$start=abs($page*$per_page);
$q="SELECT * FROM `forum` ORDER BY field LIMIT $start,$per_page";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
echo ++$start.". ".$row['field']."<br>\n";
}

$q="SELECT count(*) FROM `forum`";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];

$num_pages=ceil($total_rows/$per_page);

for($i=1;$i<=$num_pages;$i++) {
if ($i-1 == $page) {
echo $i." ";
} else {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> ";
}
}
?>

_nic
21.04.2010, 18:47
Для POST такое :

/postsrc.php?name=test


print $_POST["name"];

некатит?

Lateks
21.04.2010, 20:33
Бразы, помогите найти среднее значение.
Есть файл 1.txt

66.53
44.67
82.32
72.12
66.34
99.56
66.24
77.34
69.12
Нужно чтобы скрипт после запуска вывел среднее значение из списка чисел, например 65.55
Заранее большое спасибо!

Failure
21.04.2010, 21:09
<?php
$f = file("1.txt");
echo "Среднее = ".array_sum($f)/count($f)."\n";
?>

НTL
21.04.2010, 21:27
Получаю на сайт в посте строку:
test'
Потом делаю замену кавычки и сохраняю в БД
str_replace("'", "%27", "$test");

Но после замены строка становится
test\%27
как убрать "\" ????

$now
21.04.2010, 21:31
Выдает ошыбку Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\forum.php on line 149


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

Юзайте mysql_error() для вывода ошибки базы.

$now
21.04.2010, 21:34
Получаю на сайт в посте строку:

Потом делаю замену кавычки и сохраняю в БД


Но после замены строка становится

как убрать "\" ????
Фишка скорее всего в том, что вы получили строку test\'

\ - это экранирование символа. Используйте функцию stripslashes

Compton
21.04.2010, 21:34
HTL
stripslashes

Lateks
22.04.2010, 11:47
Failure
спасибо ;)

Welemir
22.04.2010, 21:18
Хелп! Срочно нужен масенькый скрипт,который из тхт файла считает строку вида 5+2-3+8.Присутствуют только символы плюс и минус в качестве арифметических операндов.Необходимо всё это посчитать,каждый член возводя в квадрат,например:

строка такая - 5+3-2

надо так: 5 * 5 + 3 * 3 - 2 * 2

хотел эксплоудом но не получается...

LStr1ke
22.04.2010, 21:43
Хелп! Срочно нужен масенькый скрипт,который из тхт файла считает строку вида 5+2-3+8.Присутствуют только символы плюс и минус в качестве арифметических операндов.Необходимо всё это посчитать,каждый член возводя в квадрат,например:

строка такая - 5+3-2

надо так: 5 * 5 + 3 * 3 - 2 * 2

хотел эксплоудом но не получается...

<?php
$str = "5+2-2+7";
echo eval("echo ".preg_replace("#\d#i","$0*$0",$str).";");
?>

PanaX
22.04.2010, 21:44
Вопрос в следующем,есть исходная строка $text в которой помимо всякого Г есть несколько адресов мыл.Как их выдернуть?То есть в формате name@host.ru?

LStr1ke
22.04.2010, 21:51
ищи регулярку на мэилы, впадлу писать.
Ну а так что-то вроде этого:

<?php
$str = "asdhjaksdjkasjkd hakjshd aksjd h asd@mail.ru asdasdjkalsdj lkasjdal xyu@yandex.ru sadsakldjaslkdsa";
preg_match_all("#([a-z]+\@+[a-z]+\.ru)#i",$str,$out);
print_r($out);
?>

Тебе выведется листинг массива $out. дальше уже думаю разберешься. Да и регулярку нейди нормальную )

PanaX
22.04.2010, 21:54
Сойдет)))Спасиб

bafoed
22.04.2010, 22:23
Есть список асек .тхт вида 111;52525
нужно чтоб выводилось так: icq:111
password:52525
как можно это сделать, а еще и вывод рандомной строчки из файла и автоматическое её удаление из этого же файла

Compton
22.04.2010, 22:59
Есть список асек .тхт вида 111;52525
нужно чтоб выводилось так: icq:111
password:52525
как можно это сделать, а еще и вывод рандомной строчки из файла и автоматическое её удаление из этого же файла

<?PHP
$uins=file('icq.txt');;
foreach($uins as $nums){
$uin=explode(':',$nums);
$write='icq:'.$uin[0].' пароль:'.$uin[1];
$fp=fopen("good.txt", "a");
fputs($fp, $write."\r\n");
fclose($fp);
}
$fopen='good.txt';/// файл для открытия
$file = file($fopen);
$rand=mt_rand(1,count($file));
$str = $rand;
echo $file[$rand-1].'<br>';
$fl = $fopen;
$line = $rand;
$count = count($file);
$fp = fopen($fl,"w");
for($i=0;$i<$count;$i++){
if($i!=$line-1)
{
fwrite($fp,$file[$i]);
}
else{
}
}
fclose($fp); //закончили работать с файлом
?>

Welemir
22.04.2010, 23:05
<?php
$str = "5+2-2+7";
echo eval("echo ".preg_replace("#\d#i","$0*$0",$str).";");
?>


Что означает $0*$0 ?

m0Hze
22.04.2010, 23:26
Что означает $0*$0 ?
Это особая, уличная магия.
http://php.net/manual/en/function.preg-replace.php
Added the '$n' form for the replacement parameter

When working with a replacement pattern where a backreference is immediately followed by another number (i.e.: placing a literal number immediately after a matched pattern), you cannot use the familiar \\1 notation for your backreference. \\11, for example, would confuse preg_replace() since it does not know whether you want the \\1 backreference followed by a literal 1, or the \\11 backreference followed by nothing. In this case the solution is to use \${1}1. This creates an isolated $1 backreference, leaving the 1 as a literal.

When using the e modifier, this function escapes some characters (namely ', ", \ and NULL) in the strings that replace the backreferences. This is done to ensure that no syntax errors arise from backreference usage with either single or double quotes (e.g. 'strlen(\'$1\')+strlen("$2")'). Make sure you are aware of PHP's string syntax to know exactly how the interpreted string will look like.

AtomoS
23.04.2010, 00:26
сделлал функцию которая записывает от куда пришёл посетитель..
function write_log_visits()
{
$datetime = gmstrftime("%d/%b/%Y %H:%M:%S GMT", time());
$client_ip = getenv("REMOTE_ADDR");
if (empty($_SERVER['HTTP_REFERER'])) {$user_from = "not defined";} else {$user_from = getenv("HTTP_REFERER");};

$fp = fopen("logs/visits.log","a");
fwrite($fp,"[".$datetime."] - [".$client_ip."] - [".$user_from."]\r\n");
fclose($fp);
}

как убрать внутренние посещения? (по другим страницам)

$now
23.04.2010, 01:11
AtomoS
Проверить реферера, не мы ли это.
if (!ereg_match("mysite.ru", $referer)) {
// запись в лог
}

bafoed
23.04.2010, 11:53
Compton, спасибо огромное!! Поставил +

AtomoS
23.04.2010, 14:20
$now, спасибо. переделал я так:
function write_log_visits()
{
if (!ereg($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER']))
{
$datetime = gmstrftime("%d/%b/%Y %H:%M:%S GMT", time());
$client_ip = getenv("REMOTE_ADDR");
if (empty($_SERVER['HTTP_REFERER'])) $user_from = "not defined"; else $user_from = getenv("HTTP_REFERER");
$fp = fopen("logs/visits.log","a");
fwrite($fp,"[".$datetime."] - [".$client_ip."] - [".$user_from."]\r\n");
fclose($fp);
}
}

Dark_cracker
23.04.2010, 15:51
Нашёл функцию уменьшения изображения , с форматом jpg работает более менне , а вот с jpeg не в какую, размеры которые я задаю получаються не такие, пробывал и другие функции тоже самое (( , подскажите в чём дело.

<?php

header("Content-type: image/jpeg");

define('MAX_THUMB_HEIGHT', $_GET['h']);
define('MAX_THUMB_WIDTH', $_GET['w']);
$sourceFileName = $_GET['img'];
$imgs = imagecreatefromjpeg($_GET[img]);
// Get new dimensions
$width = @imagesx($imgs);
$height = @imagesy($imgs);
//list($width, $height) = getimagesize($sourceFileName);

$ratio = $width/$height;
if ($ratio < 1) { // height is bigger
$newHeight = MAX_THUMB_HEIGHT;
$newWidth = round($newHeight*$ratio);
} else { // width is bigger
$newWidth = MAX_THUMB_WIDTH;
$newHeight = round($newWidth/$ratio);
}

// create thumb and resample
$image_p = imagecreatetruecolor($newWidth, $newHeight);
$image = imagecreatefromjpeg($sourceFileName);
imagecopyresized($image_p, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

// save thumb
imagejpeg($image_p, "", 100);


?>

WNZRS
23.04.2010, 15:58
Нашёл функцию уменьшения изображения , с форматом jpg работает более менне , а вот с jpeg не в какую, размеры которые я задаю получаються не такие, пробывал и другие функции тоже самое (( , подскажите в чём дело.

ты что-то попутал, jpg = jpeg

НTL
23.04.2010, 16:14
Как узнать все название и значение элементов массива, и выписать их по отдельность???

Deathdreams
23.04.2010, 16:20
Как узнать все название и значение элементов массива, и выписать их по отдельность???
$array = array('1' => '2');

$keys = array_keys($array);
$values = array_values($array);

foreach( $keys as $kn => $key )
echo "Название - {$key}, значение - {$values[$kn]}";

$now
23.04.2010, 17:02
Deathdreams
Зачем так сложно?

foreach( $array as $key => $value ) {
echo "Ключ - $key, значение - $value";
}

По моему проще.

НTL
23.04.2010, 17:56
А где в PHP функция delete как в делфи???

$now
23.04.2010, 18:15
А где в PHP функция delete как в делфи???
Заменяем на пусто с 3-го по 5-ый символы
substr_replace($string, "", 3, 5);

Gin
24.04.2010, 04:01
Тема такая нужно написать чекер емалов для yahoo собстно написал, код но проблема в том что пост запрос не отправляеться. Я не давно только начал работать с курл. Есть две функции как видно из листинга первая получает значения вторая отправляет, но вот если первая работает нормально, то вторая отказываеться вообще. Да и в куки помоему вообще ничего не попадает.
Собственно код не пинайте сильно

<?php
$cookiefile = tempnam("/tmp", "cookies");
$refer="https://login.yahoo.com/config/login_verify2?&.src=ym";
$username="login";
$password="pass;
$url="https://login.yahoo.com/config/login?";
$agent="Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";

function GetData($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec ($ch);
$answer=preg_match("#hash2(.*?)\<table#is",$result,$match);
preg_match_all('#name="(.*?)"#is',$match[0],$key_match);
preg_match_all("#value=\"(.*?)\"#is",$match[0],$value_match);
foreach($key_match[1] as $key)
foreach($value_match[1] as $value)
$post_array[$key]=$value;
$post_array['login']=$username;
$post_array['passwd']=$password;
$post_array['.Save']="Sign+In";
$post=http_build_query($post_array);
curl_close ($ch);
return $post;
}
function SendData($url,$post,$refer){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec ($ch);
curl_close ($ch);

return $result;
}
$post=GetData(url);
$data=SendData($refer,$post,$refer);
echo $data;
?>

Deathdreams
24.04.2010, 08:17
Gin, необходимо сделать global переменных.
пример для твоего кода:

function SendData($url,$post,$refer){
global $cookiefile, $agent;
//code
}
Код кривой, на ачате я когда-то выкладывал класс для проверки мыл на валид, поищи.

AtomoS
24.04.2010, 12:48
Есть функция для запросов в БД:
function sql($query = "", $param = array())
{
if (!is_array($param) || count($param) == 0)
{
return mysql_query($query);
}
else
{
foreach ($param as $key => $val)
{
$query = str_replace("{".$key."}", $val, $query);
}
return mysql_query($query);
}
}
также присутствуют 2 функции от инъекций:
function phpInjection($data)
{
$filter = array("\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
$filter_data = str_replace($filter, "", $data);
return $filter_data;
}
function sqlInjection($data)
{
$filter = array("select", "delete", "union", "update", "insert");
$filter_data = str_replace($filter, "", strtolower($data));
return $filter_data;
}
собственно возможно ли объеденить все функции в 1?
чтобы запросы были с проверкой на безопастность...