Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

30.12.2009, 12:17
|
|
Участник форума
Регистрация: 05.05.2009
Сообщений: 126
Провел на форуме: 226966
Репутация:
8
|
|
если добавлять $db->query("UPDATE `4epopalo` SET `fr`=concat(fr, $fr) where id="".$id."'");
то добавляет числочисло, а запитую между ними ни как не удается поставить ((
|
|
|

30.12.2009, 12:37
|
|
Постоянный
Регистрация: 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..
|
|
|

30.12.2009, 12:42
|
|
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме: 1455812
Репутация:
150
|
|
то добавляет числочисло, а запитую между ними ни как не удается поставить ((
Значит колонка fr в БД строго - INT ты или преобразуй ее во float или в char
|
|
|

30.12.2009, 13:43
|
|
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
-- Версия PHP: 5.2.4
--
-- БД: `test`
--
-- --------------------------------------------------------
--
-- Структура таблицы `news`
--
CREATE TABLE `news` (
`id` int(1) NOT NULL,
`text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `news`
--
INSERT INTO `news` VALUES (1, 'В перми сгорел ночной клуб');
INSERT INTO `news` VALUES (2, 'Вчера успешно прощили выборы приздента США');
Последний раз редактировалось Серёжа393; 30.12.2009 в 13:48..
|
|
|

30.12.2009, 13:48
|
|
Участник форума
Регистрация: 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
-- Версия PHP: 5.2.4
--
-- БД: `test`
--
-- --------------------------------------------------------
--
-- Структура таблицы `news`
--
CREATE TABLE `news` (
`id` int(1) NOT NULL,
`text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `news`
--
INSERT INTO `news` VALUES (1, 'В перми сгорел ночной клуб');
INSERT INTO `news` VALUES (2, 'Вчера успешно прощили выборы приздента США');
попробуй error_reporting(0);
|
|
|

30.12.2009, 13:56
|
|
Banned
Регистрация: 28.12.2009
Сообщений: 30
Провел на форуме: 58726
Репутация:
0
|
|
Сообщение от SeNaP
попробуй error_reporting(0);
не помогло. чтото меняеться когда перед id статавишь ковычку.
т.е. id='1
такое чувство что чтото фильтрует или мускул странный какойто...
|
|
|

30.12.2009, 14:03
|
|
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме: 3300342
Репутация:
165
|
|
У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная GET['id'] = FALSE т.е. пуста
if(!isset($_GET['id']))
убери восклицательный знак
Последний раз редактировалось SeNaP; 30.12.2009 в 14:08..
|
|
|

30.12.2009, 14:11
|
|
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: бля посмотрел на твои посты выше и понял с кем я разговариваю....
|
|
|

30.12.2009, 14:14
|
|
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме: 3300342
Репутация:
165
|
|
[QUOTE=Серёжа393
UPD: бля посмотрел на твои посты выше и понял с кем я разговариваю....[/QUOTE]

|
|
|

30.12.2009, 14:34
|
|
Познающий
Регистрация: 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) { $arr= file("$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>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|