ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #13991  
Старый 30.12.2009, 12:17
Аватар для restart_05
restart_05
Участник форума
Регистрация: 05.05.2009
Сообщений: 126
Провел на форуме:
226966

Репутация: 8
По умолчанию

если добавлять $db->query("UPDATE `4epopalo` SET `fr`=concat(fr, $fr) where id="".$id."'");
то добавляет числочисло, а запитую между ними ни как не удается поставить ((
 
Ответить с цитированием

  #13992  
Старый 30.12.2009, 12:37
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

Цитата:
Сообщение от N2kroot  
Вопрос: у меня есть самописный движок для сайта, пишется сразу 2 файла:
avto.txt --- содержит ид:ссылка - кидается на сайте, для авто-добавления новых ссылок и id{$count}.txt - при каждом удачном добавлении пишет обычную бд,типа "ник:название:ид:прочее" , и у меня задался вопрос: как удалить тот или иной ид? Понятное дело,что мы можем удалить нужный файл id{ненужный ид}.txt, но ведь инфа содержится ещё и в avto.txt? Как перепрыгнуть на строку, имеющую заданный ид и стереть её? А если это не строка, а написано много и занимает две строки,но вконце я сделал ограничители типа: /r/n
Ну вообщем хз как у меня с логичностью с просони. Вообщем
В папочке сделал файлы:
avto.txt
id1.txt
id2.txt
id3.txt
id4.txt
id5.txt

В файле avto.txt:

1:ssilka_1
5:ssilka_5
3:ssilka_3
4:ssilka_4
2:ssilka_2
Ну и вот скрипт:
PHP код:
<?php
$file 
file("avto.txt"); 
if(!isset(
$_GET['del_id'])) { 
foreach(
$file as $f_line) {
    
$line_arr explode(":",$f_line);
    echo 
$line_arr[0].">>>".$line_arr[1]." [ <a href='".$_SERVER['PHP_SELF']."?del_id=".$line_arr[0]."' >Удалить</a> ]<br>";
}
}else {
$id $_GET['del_id'];
    for(
$i=0;$i<count($file);$i++) 
    {
        if(
preg_match("#".$id.":#i",$file[$i])) { 
        echo 
$file[$i];
        unSet(
$file[$i]); 
        if(
unlink("id".$_GET['del_id'].".txt")) echo "Deleted";
        }
    }
    
file_put_contents('avto.txt'$file);
}
?>
Код не комментировал, тут все бонально. Если что не понятно пиши.
И привыкайте уже к SQL

Последний раз редактировалось LStr1ke; 30.12.2009 в 12:40..
 
Ответить с цитированием

  #13993  
Старый 30.12.2009, 12:42
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

Цитата:
то добавляет числочисло, а запитую между ними ни как не удается поставить ((
Значит колонка fr в БД строго - INT ты или преобразуй ее во float или в char
 
Ответить с цитированием

Чудеса в решете
  #13994  
Старый 30.12.2009, 13:43
Аватар для Серёжа393
Серёжа393
Banned
Регистрация: 28.12.2009
Сообщений: 30
Провел на форуме:
58726

Репутация: 0
По умолчанию Чудеса в решете

Короче это чудо какоето. Решил щас потренероаться с sql-injection у себя на хосте. Написал тестовый скрипт

PHP код:
<?php
error_reporting
(1);
mysql_connect("localhost","root","");
mysql_select_db("test");
if(!isset(
$_GET['id']))
{
$res=mysql_query("SELECT * FROM news");
while(
$line=mysql_fetch_array($res))
    {
        echo 
"<a href='index.php?id=".$line['id']."'>Новость №".$line['id']."</a><br>";
    }
}
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo 
"<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>
подставляю ковычки - нифига, подсталяю 2-1 в id. тоже ни фига. стоит у меня denver3. раньше помню тренировался-всё было отлично... а щас бред... помогите пожалуйста.

UDP:

вот дамп мускула

PHP код:
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
-- 
-- 
Хостlocalhost
-- Время созданияДек 30 2009 г., 12:46
-- Версия сервера5.0.45
-- Версия PHP5.2.4
-- 
-- 
БД: `test`
-- 

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

-- 
-- 
Структура таблицы `news`
-- 

CREATE TABLE `news` (
  `
idint(1NOT NULL,
  `
texttext NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=cp1251;

-- 
-- 
Дамп данных таблицы `news`
-- 

INSERT INTO `newsVALUES (1'В перми сгорел ночной клуб');
INSERT INTO `newsVALUES (2'Вчера успешно прощили выборы приздента США'); 

Последний раз редактировалось Серёжа393; 30.12.2009 в 13:48..
 
Ответить с цитированием

  #13995  
Старый 30.12.2009, 13:48
Аватар для SeNaP
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

Репутация: 165
По умолчанию

Цитата:
Сообщение от Серёжа393  
Короче это чудо какоето. Решил щас потренероаться с sql-injection у себя на хосте. Написал тестовый скрипт

PHP код:
<?php
error_reporting
(1);
mysql_connect("localhost","root","");
mysql_select_db("test");
if(!isset(
$_GET['id']))
{
$res=mysql_query("SELECT * FROM news");
while(
$line=mysql_fetch_array($res))
    {
        echo 
"<a href='index.php?id=".$line['id']."'>Новость №".$line['id']."</a><br>";
    }
}
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo 
"<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>
подставляю ковычки - нифига, подсталяю 2-1 в id. тоже ни фига. стоит у меня denver3. раньше помню тренировался-всё было отлично... а щас бред... помогите пожалуйста.

UDP:

вот дамп мускула

PHP код:
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
-- 
-- 
Хостlocalhost
-- Время созданияДек 30 2009 г., 12:46
-- Версия сервера5.0.45
-- Версия PHP5.2.4
-- 
-- 
БД: `test`
-- 

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

-- 
-- 
Структура таблицы `news`
-- 

CREATE TABLE `news` (
  `
idint(1NOT NULL,
  `
texttext NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=cp1251;

-- 
-- 
Дамп данных таблицы `news`
-- 

INSERT INTO `newsVALUES (1'В перми сгорел ночной клуб');
INSERT INTO `newsVALUES (2'Вчера успешно прощили выборы приздента США'); 
попробуй error_reporting(0);
 
Ответить с цитированием

  #13996  
Старый 30.12.2009, 13:56
Аватар для Серёжа393
Серёжа393
Banned
Регистрация: 28.12.2009
Сообщений: 30
Провел на форуме:
58726

Репутация: 0
По умолчанию

Цитата:
Сообщение от SeNaP  
попробуй error_reporting(0);
не помогло. чтото меняеться когда перед id статавишь ковычку.
т.е. id='1

такое чувство что чтото фильтрует или мускул странный какойто...
 
Ответить с цитированием

  #13997  
Старый 30.12.2009, 14:03
Аватар для SeNaP
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

Репутация: 165
По умолчанию

У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная GET['id'] = FALSE т.е. пуста

if(!isset($_GET['id']))
убери восклицательный знак

Последний раз редактировалось SeNaP; 30.12.2009 в 14:08..
 
Ответить с цитированием

  #13998  
Старый 30.12.2009, 14:11
Аватар для Серёжа393
Серёжа393
Banned
Регистрация: 28.12.2009
Сообщений: 30
Провел на форуме:
58726

Репутация: 0
По умолчанию

Цитата:
Сообщение от SeNaP  
У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная GET['id'] = FALSE т.е. пуста

if(!isset($_GET['id']))
убери восклицательный знак
для начало посмотри на скрипт внимательно
если нет перменной ГЕТ АЙДИ то выводитя ссылки на новости, а если есть ,то выполняеться этот скрипт
PHP код:
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo 
"<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?> 

UPD: бля посмотрел на твои посты выше и понял с кем я разговариваю....
 
Ответить с цитированием

  #13999  
Старый 30.12.2009, 14:14
Аватар для SeNaP
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

Репутация: 165
По умолчанию

[QUOTE=Серёжа393



UPD: бля посмотрел на твои посты выше и понял с кем я разговариваю....[/QUOTE]

 
Ответить с цитированием

  #14000  
Старый 30.12.2009, 14:34
Аватар для N2kroot
N2kroot
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме:
62271

Репутация: 9
По умолчанию

Цитата:
Сообщение от LStr1ke  
Ну вообщем хз как у меня с логичностью с просони. Вообщем
В папочке сделал файлы:
avto.txt
id1.txt
id2.txt
id3.txt
id4.txt
id5.txt

В файле avto.txt:

1:ssilka_1
5:ssilka_5
3:ssilka_3
4:ssilka_4
2:ssilka_2
Ну и вот скрипт:
PHP код:
<?php
$file 
file("avto.txt"); 
if(!isset(
$_GET['del_id'])) { 
foreach(
$file as $f_line) {
    
$line_arr explode(":",$f_line);
    echo 
$line_arr[0].">>>".$line_arr[1]." [ <a href='".$_SERVER['PHP_SELF']."?del_id=".$line_arr[0]."' >Удалить</a> ]<br>";
}
}else {
$id $_GET['del_id'];
    for(
$i=0;$i<count($file);$i++) 
    {
        if(
preg_match("#".$id.":#i",$file[$i])) { 
        echo 
$file[$i];
        unSet(
$file[$i]); 
        if(
unlink("id".$_GET['del_id'].".txt")) echo "Deleted";
        }
    }
    
file_put_contents('avto.txt'$file);
}
?>
Код не комментировал, тут все бонально. Если что не понятно пиши.
И привыкайте уже к SQL
Прокомментируй пожалуйста скрипт, что здесь должно быть?
Дело в том, что у меня на сайте лишь построение из ссылок..Эмм, вот так:
Надо чтобы редактировать можно было, к примеру введя ид из админки.
Вот примерное построение:
PHP код:
<?php
$arr 
file("morph{$id}.txt"); $i=0; foreach($arr as $line) {
$i++; list($avtor,$tema,$mess,$smess,$id,$li)=explode(":",$line);
$bd['avtor'][]=$who;
$bd['tema'][]=$tema;
$bd['mess'][]=$mess;
$bd['smess'][]=$smess;  }
if(
$morph != 1) { $arrfile("$morph.txt"); } ?>
<div id="header">
    <h1><a href="/glavforum">Nexus World</a></h1>
    <h2><a href="/glavforum">Форум NexuS </a></h2>
</div>
<div id="menu">
    <ul>
        <li><a href="index.php" accesskey="1" title="">Начало</a></li>
        <li><a href="#" accesskey="2" title="">О нас</a></li>
        <li><a href="/glavforum" accesskey="3" title="">Форум</a></li>
        <li class="active"><a href="morph" accesskey="4" title="">Morph</a></li>
        <li><a href="/myform/index.html" accesskey="5" title="">Администрация</a></li>
</ul>
</div>
<div id="content">
    <div id="colOne">
        <h2>Трансляция</h2>
        <h3>"<?php echo($mess); ?>"</h3>
        <p>"<?php echo($smess); ?>" <a href="#">Комментарии…</a></p>
    </div>
<div id="colTwo">
        <h2>Раздел Morph</h2>
        <p><em><strong>Morph</strong></em> сейчас в разработке,пожалуйста <a href="/glavforum"><strong>обсудите</strong></a> его или просто можете осмотреть наш <a href="index.php">новый сайт</a>.</p>
        <p>WoW Морфы. <em>.mod morph $id - морф по дисплей ID существа </em>
</a>.
</p>
        <p>Наши id's:</p>
        <ul>
<?php $arr2 file("avto.txt"); $i=0; foreach($arr2 as $line2){
            
$i++; list($id,$li)=explode(":",$line2);
            
$bd['id'][]=$id;
            
$bd['li'][]=$li; }
            for(
$i=count($arr2)-1$i>=0$i--) { echo ($bd['li'][$i]); }?>




        </ul>
    </div>
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ