21 Востаннє редагувалося Vo_Vik (15.01.2013 22:09:51)

Re: Видалення запису з БД по id

$resultat = mysql_query("SELECT * FROM news WHERE id='$_GET[id]'");
$array = mysql_fetch_array($resultat);

І питання номер 2, оця частина в наведеному файлі не використовується, бо потім відображають дані з результат1. Хоча схоже видалення йде власне за результатами цієї вибірки, бо видаляють array[id], а не array1[id]

І взагалі звідки цей код? це частина якогось фреймворку?

22 Востаннє редагувалося DictatoR (15.01.2013 22:11:50)

Re: Видалення запису з БД по id

ахаха проблема тут

if(isset($login) AND isset($password)){
if($id_user <= '50')
    {
$resultat1 = mysql_query("SELECT FROM news");
$array1 = mysql_fetch_array($resultat1);
mysql_query("DELETE FROM news WHERE id=$array[id]");
header('Location: /news.php'); 
exit;
}
}

якщо це повний код того файлу то скажіть звідки у вас узялись такі змінні? Ну ось наприклад звідки у вас змінна $login, звичайнож її не існує і дія не виконується!

23

Re: Видалення запису з БД по id

1 відповідь.
Кнопка звичайна: <a href='/del_news.php?id=array1[id]'>Delete</a>
2 відповідь.
Дякую, не побачив

24

Re: Видалення запису з БД по id

DictatoR написав:

ахаха проблема тут

if(isset($login) AND isset($password)){
if($id_user <= '50')
    {
$resultat1 = mysql_query("SELECT FROM news");
$array1 = mysql_fetch_array($resultat1);
mysql_query("DELETE FROM news WHERE id=$array[id]");
header('Location: /news.php'); 
exit;
}
}

якщо це повний код того файлу то скажіть звідки у вас узялись такі змінні? Ну ось наприклад звідки у вас змінна $login, звичайнож її не існує і дія не виконується!

Дякую зараз спробую, напишить будь ласка правильне посилання на видалення статті.

25 Востаннє редагувалося DictatoR (15.01.2013 22:23:52)

Re: Видалення запису з БД по id

<?php
include_once("bd.php");

$resultat = mysql_query("SELECT * FROM news WHERE id='$_GET[id]'");
$array = mysql_fetch_array($resultat);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
   <title>title</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <meta name="keywords" content="">
   <meta name="description" content="">
   <link rel="stylesheet" href="/css/bootstrap.css">
   <link rel="stylesheet" href="/css/bootstrap-responsive.css">
   <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <!-- Le styles -->
    <style type="text/css">
      body {
        padding-top: 60px;
        padding-bottom: 40px;
      }
      .sidebar-nav {
        padding: 9px 0;
      }
    </style>
  </head>

  <body>

 <?php include('block/head.php');?>

    <div class="container-fluid">
      <div class="row-fluid">

       <?php include('block/sidebar.php');?>

        <div class="span9">
         
<?php
$resultat1 = mysql_query("SELECT * FROM `news` WHERE `id`='$_GET[id]'");
$array1 = mysql_fetch_array($resultat1);
if($array1 == '0'){
echo "<div class='alert alert-info'>&#1057;&#1090;&#1072;&#1090;&#1090;&#1103; &#1073;&#1091;&#1083;&#1072; &#1074;&#1080;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072; &#1072;&#1073;&#1086; &#1097;&#1077; &#1085;&#1077; &#1089;&#1090;&#1074;&#1086;&#1088;&#1077;&#1085;&#1072; :-(</div>";
}else{
printf("<blockquote>
<span class='label'>%s</span> 
<span class='label'>%s</span> <span class='label label-info'>%s</span>
</blockquote>;
<div class='well'>%s<br><a href='del_news.php?id=%s'>Delete</a></div>
<br/>",$array1['id'],$array1['title'],$array1['time'],$array1['text'],$array1['id']);
}    
?>
         </div>
          <div class="row-fluid">
            <!--/span-->
          </div><!--/row-->
        </div><!--/span-->


      <hr>

      <footer>
       <?php include('block/footer.php');?> 
      </footer>

    </div><!--/.fluid-container-->

    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="../js/jquery.js"></script>
    <script src="../js/bootstrap-transition.js"></script>
    <script src="../js/bootstrap-alert.js"></script>
    <script src="../js/bootstrap-modal.js"></script>
    <script src="../js/bootstrap-dropdown.js"></script>
    <script src="../js/bootstrap-scrollspy.js"></script>
    <script src="../js/bootstrap-tab.js"></script>
    <script src="../js/bootstrap-tooltip.js"></script>
    <script src="../js/bootstrap-popover.js"></script>
    <script src="../js/bootstrap-button.js"></script>
    <script src="../js/bootstrap-collapse.js"></script>
    <script src="../js/bootstrap-carousel.js"></script>
    <script src="../js/bootstrap-typeahead.js"></script>

  </body>
</html>

Якщо ви не зрозуміли що твориться в printf то пишіть в приват попробую допомогти, а взагалі бачу у вас тугенько з php)

26

Re: Видалення запису з БД по id

DictatoR написав:
<?php
include_once("bd.php");

$resultat = mysql_query("SELECT * FROM news WHERE id='$_GET[id]'");
$array = mysql_fetch_array($resultat);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
   <title>title</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <meta name="keywords" content="">
   <meta name="description" content="">
   <link rel="stylesheet" href="/css/bootstrap.css">
   <link rel="stylesheet" href="/css/bootstrap-responsive.css">
   <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <!-- Le styles -->
    <style type="text/css">
      body {
        padding-top: 60px;
        padding-bottom: 40px;
      }
      .sidebar-nav {
        padding: 9px 0;
      }
    </style>
  </head>

  <body>

 <?php include('block/head.php');?>

    <div class="container-fluid">
      <div class="row-fluid">

       <?php include('block/sidebar.php');?>

        <div class="span9">
         
<?php
$resultat1 = mysql_query("SELECT * FROM `news` WHERE `id`='$_GET[id]'");
$array1 = mysql_fetch_array($resultat1);
if($array1 == '0'){
echo "<div class='alert alert-info'>&#1057;&#1090;&#1072;&#1090;&#1090;&#1103; &#1073;&#1091;&#1083;&#1072; &#1074;&#1080;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072; &#1072;&#1073;&#1086; &#1097;&#1077; &#1085;&#1077; &#1089;&#1090;&#1074;&#1086;&#1088;&#1077;&#1085;&#1072; :-(</div>";
}else{
printf("<blockquote>
<span class='label'>%s</span> 
<span class='label'>%s</span> <span class='label label-info'>%s</span>
</blockquote>;
<div class='well'>%s<br><a href='del_news.php?id=%s'>Delete</a></div>
<br/>",$array1['id'],$array1['title'],$array1['time'],$array1['text'],$array1['id']);
}    
?>
         </div>
          <div class="row-fluid">
            <!--/span-->
          </div><!--/row-->
        </div><!--/span-->


      <hr>

      <footer>
       <?php include('block/footer.php');?> 
      </footer>

    </div><!--/.fluid-container-->

    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="../js/jquery.js"></script>
    <script src="../js/bootstrap-transition.js"></script>
    <script src="../js/bootstrap-alert.js"></script>
    <script src="../js/bootstrap-modal.js"></script>
    <script src="../js/bootstrap-dropdown.js"></script>
    <script src="../js/bootstrap-scrollspy.js"></script>
    <script src="../js/bootstrap-tab.js"></script>
    <script src="../js/bootstrap-tooltip.js"></script>
    <script src="../js/bootstrap-popover.js"></script>
    <script src="../js/bootstrap-button.js"></script>
    <script src="../js/bootstrap-collapse.js"></script>
    <script src="../js/bootstrap-carousel.js"></script>
    <script src="../js/bootstrap-typeahead.js"></script>

  </body>
</html>

Якщо ви не зрозуміли що твориться в printf то пишіть в приват попробую допомогти, а взагалі бачу у вас тугенько з php)


Я зрозумів що твориться в printf
Я самоучка php

27

Re: Видалення запису з БД по id

я також, ну як виходить?

28

Re: Видалення запису з БД по id

DictatoR написав:

я також, ну як виходить?

Нажаль ні, вставив цей код що Ви надіслали тепер (без printf) то помилка:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /public_html/prsc1/del_news.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /public_html/prsc1/del_news.php:4) in /public_html/prsc1/del_news.php on line 6

29 Востаннє редагувалося DictatoR (15.01.2013 22:42:55)

Re: Видалення запису з БД по id

ihorhol написав:
DictatoR написав:

я також, ну як виходить?

Нажаль ні, вставив цей код що Ви надіслали тепер (без printf) то помилка:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /public_html/prsc1/del_news.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /public_html/prsc1/del_news.php:4) in /public_html/prsc1/del_news.php on line 6

ну тоді замість %s поверніть масиви, або зробіть так як було цим мож пізніше зайнятись і тудаж прикрутіть таку кнопку

<a href='delete.php?id=$_GET[id]'>Видалити</a>

30 Востаннє редагувалося DictatoR (15.01.2013 22:54:44)

Re: Видалення запису з БД по id

хоча ні проблема в del_news.php

31

Re: Видалення запису з БД по id

ось це del_news.php!

<?php include_once("bd.php");
mysql_query("DELETE * FROM `news` WHERE `id`='$_GET[id]'");
?>

32

Re: Видалення запису з БД по id

значить так це повна стаття

<?php
include_once("bd.php");
 
$resultat = mysql_query("SELECT * FROM news WHERE id='$_GET[id]'");
$array = mysql_fetch_array($resultat);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
   <title>title</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <meta name="keywords" content="">
   <meta name="description" content="">
   <link rel="stylesheet" href="/css/bootstrap.css">
   <link rel="stylesheet" href="/css/bootstrap-responsive.css">
   <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <!-- Le styles -->
    <style type="text/css">
      body {
        padding-top: 60px;
        padding-bottom: 40px;
      }
      .sidebar-nav {
        padding: 9px 0;
      }
    </style>
  </head>
 
  <body>
 
 <?php include('block/head.php');?>
 
    <div class="container-fluid">
      <div class="row-fluid">
 
       <?php include('block/sidebar.php');?>
 
        <div class="span9">
         
<?php
$resultat1 = mysql_query("SELECT * FROM `news` WHERE `id`='$_GET[id]'");
$array1 = mysql_fetch_array($resultat1);
if($array1 == '0'){
echo "<div class='alert alert-info'>&#1057;&#1090;&#1072;&#1090;&#1090;&#1103; &#1073;&#1091;&#1083;&#1072; &#1074;&#1080;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072; &#1072;&#1073;&#1086; &#1097;&#1077; &#1085;&#1077; &#1089;&#1090;&#1074;&#1086;&#1088;&#1077;&#1085;&#1072; :-(</div>";
}else{
printf("<blockquote>
<span class='label'>%s</span> 
<span class='label'>%s</span> <span class='label label-info'>%s</span>
</blockquote>;
<div class='well'>%s<br><a href='del_news.php?id=%s'>Delete</a></div>
<br/>",$array1['id'],$array1['title'],$array1['time'],$array1['text'],$array1['id']);
}    
?>
         </div>
          <div class="row-fluid">
            <!--/span-->
          </div><!--/row-->
        </div><!--/span-->
 
 
      <hr>
 
      <footer>
       <?php include('block/footer.php');?> 
      </footer>
 
    </div><!--/.fluid-container-->
 
    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="../js/jquery.js"></script>
    <script src="../js/bootstrap-transition.js"></script>
    <script src="../js/bootstrap-alert.js"></script>
    <script src="../js/bootstrap-modal.js"></script>
    <script src="../js/bootstrap-dropdown.js"></script>
    <script src="../js/bootstrap-scrollspy.js"></script>
    <script src="../js/bootstrap-tab.js"></script>
    <script src="../js/bootstrap-tooltip.js"></script>
    <script src="../js/bootstrap-popover.js"></script>
    <script src="../js/bootstrap-button.js"></script>
    <script src="../js/bootstrap-collapse.js"></script>
    <script src="../js/bootstrap-carousel.js"></script>
    <script src="../js/bootstrap-typeahead.js"></script>
 
  </body>
</html>

а ось це видалення новин тобто del_news.php

<?php include_once("bd.php");
mysql_query("DELETE * FROM `news` WHERE `id`='$_GET[id]'");
?>

33

Re: Видалення запису з БД по id

Народ, давайте так, якщо вставляєте код і він більший за 4 лінійки, то ставте його під спойлер, якщо ви цитуєте код з іншого повідомлення, то ставте таги цитати, бо я заплутався хто кого цитує і що пробує.

ihorhol, якщо постити помилки з логу, то зразу під катом дайте файли в яких ці помилки вискакують, бо чесно таке враження, що ми обговорюємо одні файли, а ви тестите інші. і коли викладаєте код файлу, то дайте його назву вище, будь-ласка.

Re: Видалення запису з БД по id

ihorhol, ви php вивчаєте по уроках Попова ?
Ну дуже стиль написання та назви зміннмх, нагадують уроки попова.

ось це del_news.php!

php include_once("bd.php");
mysql_query("DELETE * FROM `news` WHERE `id`='$_GET[id]'");
?>

Щодо того, що треба фільтрувати $_GET['id']
Наскільки я розумію, статті може видаляти лише адмін, але все ж, навіть у таких випадках треба фільтрувати дані. Хто зна, що може статися.

 if(!is_numeric($_GET['id']))
  die('Hacked Denied'); //тут може бути і перенаправлення

$id = intval($_GET['id']);
include_once("bd.php");
mysql_query("DELETE  FROM news WHERE id='".$id."'"); //забрав там зірочку
Подякували: ihorhol1

35

Re: Видалення запису з БД по id

Hanter написав:

ihorhol, ви php вивчаєте по уроках Попова ?
Ну дуже стиль написання та назви зміннмх, нагадують уроки попова.

ось це del_news.php!

php include_once("bd.php");
mysql_query("DELETE * FROM `news` WHERE `id`='$_GET[id]'");
?>

Щодо того, що треба фільтрувати $_GET['id']
Наскільки я розумію, статті може видаляти лише адмін, але все ж, навіть у таких випадках треба фільтрувати дані. Хто зна, що може статися.

 if(!is_numeric($_GET['id']))
  die('Hacked Denied'); //тут може бути і перенаправлення

$id = intval($_GET['id']);
include_once("bd.php");
mysql_query("DELETE  FROM news WHERE id='".$id."'"); //забрав там зірочку

Дякую, допомогли, працює !

36

Re: Видалення запису з БД по id

36 постів по темі видаленні запису з бд)

Re: Видалення запису з БД по id

miroslav.chandler написав:

36 постів по темі видаленні запису з бд)

А всього лиш треба було підставити змінну у запит...

38

Re: Видалення запису з БД по id

DictatoR написав:

На сторінці повної статті прикручуєм таку кнопку

<a href="delete.php?id=$array1[id]">Видалити</a>

Припустим новина видаляється у нас в файлі delete.php, і там пишим наступнмй код

<?php include_once("bd.php");
mysql_query("DELETE * FROM `news` WHERE `id`='$_GET[id]'");
?>

Через таких порадників часто і хакають сайти, `id`='$_GET[id]' - дірка (sql inj) же.

39

Re: Видалення запису з БД по id

Це такий тролінг, на Вікі в статті про SQL-ін’єкції практично такий самий код.

40

Re: Видалення запису з БД по id

в  данному  випадку не дірка  бо  воно  в   апострофах хоча   це  теж недбалість (там  ціле   число) - просто  мускул  пропускає  таке.

Втім я  певен  за  півтора  року  ТС  мабуть  уже  отримав  правильну   відповідь :)