если добавлять $db->query("UPDATE `4epopalo` SET `fr`=concat(fr, $fr) where id="".$id."'"); то добавляет числочисло, а запитую между ними ни как не удается поставить ((
Ну вообщем хз как у меня с логичностью с просони. Вообщем В папочке сделал файлы: 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
Чудеса в решете Короче это чудо какоето. Решил щас потренероаться с 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, 'Вчера успешно прощили выборы приздента США');
не помогло. чтото меняеться когда перед id статавишь ковычку. т.е. id='1 такое чувство что чтото фильтрует или мускул странный какойто...
У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная 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: бля посмотрел на твои посты выше и понял с кем я разговариваю....
Прокомментируй пожалуйста скрипт, что здесь должно быть? Дело в том, что у меня на сайте лишь построение из ссылок..Эмм, вот так: Надо чтобы редактировать можно было, к примеру введя ид из админки. Вот примерное построение: 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>
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'") or die(mysql_error()); Отталкивайся от ошибки
Ну и нафига, если там двойные ковычки, даже прочитать тяжело. PHP: $res = mysql_query("SELECT * FROM news WHERE id='$_GET[id]';") or die(mysql_error());
Почему не проходит? Ты где-то видиш фильтрацию? Добавь выше строку PHP: $_GET['id'] = addslashes($_GET['id']);
вот посмотри мой первый пост http://forum.antichat.ru/showpost.php?p=1790697&postcount=14004 или ты хочеш сказать что инжект не проходил из magic_quotes и пердлагаешь добавить addslashes?
Эхх, то что мне дали --- работает не очень корректно, а точнее: Пишет прочто так: Warning: unlink(/data/morph0.txt) [function.unlink]: No such file or directory in Z:\home\\www\include\set.php on line 221 1: 213 Warning: unlink(/data/morph1.txt) [function.unlink]: No such file or directory in Z:\home\\www\include\set.php on line 221 2: А если набрать команду http:///include/set.php?del_id=1 то появится dwa [ Удалить ] 6>>> qew [ Удалить ] 7>>> Но после нажатия на ссылки файлы попрежнему живут и в файле avto.txt все строки на месте
Я тебе полностью расписал свой скрипт, все что лежит в файлах, и как он работает =\ Значит что такого файла нету!!!! Посмотри как у меня скрипт понимает, что удалять =\ Естесвенно =\ --- Ты лучше распиши что конкретно тебе удалять? Что за файл morph0,1 и т.д.? Зачем они?
В общем я сделал самописный двиг сайта, он про WoW и там иды морфов для Гма. Посередине ссылки : они дают ?id=$id и слева галлерея показывает кто добавил этот ид,какой командой писать и прочее, но если,к примеру, ид не верно указан? При каждом добавлении записи проверяется файл avto.txt - последняя запись выносится первой на сайт и евляется $id , после обработки от админки $id считывается и если запись успешная,то появится переменная $newid = $id++; и так далее. В итоге получается: morph.txt,morph2.txt,morph3.txt и так далее - новые записи, сделал так,поскольку неоч разбираюсь в php а MySQL игнорирую, и эти файлы содержат всю инфу,кроме ссылки и id. Ну а ссылку и id содержит файл avto.txt --- и надо организовать удаление\правку ида, чтобы он не оставил следов ни сам( morph{$id}.txt ) ни в файле авто ( $id:$li )