Автор Тема: Изчерпени идеи..  (Прочетена 1718 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

DeluxBG

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 42
Изчерпени идеи..
« -: 06 Март 2010, 14:35:51 »
Код: PHP
  1. <?php
  2.  
  3. include  ' functions.php ' ;
  4. $quest_id= (int)$_GET[ ' id ' ];
  5. db_connect();
  6.  
  7. if ($_GET[ ' mode ' ]== " delete_answear "  && $_GET[ ' id ' ]>0) {
  8.  
  9.     $aid2=(int)$_GET[ ' id ' ];
  10.     enc_sql( ' DELETE FROM answears WHERE answear_id= ' .$aid2);
  11.     $rs=enc_sql( ' SELECT quest_id FROM answears WHERE     answear_id= ' .$aid2);
  12.     $row= mysql_fetch_assoc($rs);
  13.  
  14.     $quest_id= $row[ ' quest_id ' ];
  15.     header( ' Location: list.php?id= ' .$quest_id);
  16.  
  17.  }
Целта на тоя код е да истрия коментар към една тема и след това да се върна към темата.
Темата се на намира в list.php?id=**, но нямам идея как да взема id-то, изчерпиха ми се идеите..
Заявката ДЕЛЕТЕ се изпълнява, но втората, където взимам ид-то не!
« Последна редакция: 14 Април 2015, 23:20:08 от Avalanche »

misq

  • Гост
Отг:Изчерпени идеи..
« Отговор #1 -: 06 Март 2010, 14:55:45 »
постни кода и на list.php тук невиждам нищо неточно ... най верояно бъркаш идтата ... неможе $_GET[ ' id ' ] да е равно на ид-то на answera - поста и същевременно да ид-то на примерно темата ...

щото една тема може има много постове ... не се връзва логиката ... през гет трябва да изпращаш и ид-то на коментара и ид-то на темата ...

DeluxBG

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 42
Отг:Изчерпени идеи..
« Отговор #2 -: 06 Март 2010, 15:02:00 »
Код: PHP
  1. <?php
  2. include  ' functions.php ' ;
  3. db_connect();
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. $quest_id= (int)$_GET[ ' id ' ];
  11. if($quest_id>0) {
  12.  
  13.  
  14.     $aform= $_POST[ ' answear_form ' ];
  15.     $acont= addslashes(htmlspecialchars($_POST[ ' answear_content ' ]));
  16.     if($aform==1) {
  17.  
  18.         if(strlen($acont)<2) {
  19.             $error_array[ ' cont ' ]= ' Твърде кратко съдържание! ' ;
  20.         }
  21.         if(strlen($acont)>6000) {
  22.             $error_array[ ' cont ' ]= ' Твърде дълго съдържание! ' ;
  23.         }
  24.         if(count($error_array)==0) {
  25.             enc_sql( ' INSERT INTO answears(quest_id, answear_content, answear_by, answear_date) VALUES
  26.            ( ' .$quest_id. ' , "  ' .$acont. '  " , "  ' .$_SESSION[ ' user_info ' ][ ' login ' ]. '  " , ' .time(). ' ) ' );
  27.             header( ' Location: list.php?id= ' .$quest_id);
  28.             exit;
  29.         }
  30.     }
  31.  
  32.  
  33.     $rs=enc_sql( ' SELECT * FROM quests WHERE quest_id= ' .$quest_id);
  34.     $row= mysql_fetch_assoc($rs);
  35.     head($row[ ' quest_title ' ]);
  36.  
  37.     echo  ' <div class= " lquest " ><h2> ' .$row[ ' quest_title ' ]. ' </h2>
  38.         <div class= " lcontent " > ' .$row[ ' quest_content ' ]. ' </div>
  39.         <p style= " font-size:14 " >
  40.         Автор:  ' .$row[ ' quest_by ' ]. '  | Дата на добавяне:  ' .date( ' Y-m-d, H:i ' ,$row[ ' quest_date ' ]);
  41.     $rs4= enc_sql( ' SELECT * FROM quests WHERE quest_id= ' .$quest_id);
  42.     $row4= mysql_fetch_assoc($rs4);
  43.     if($_SESSION[ ' user_info ' ][ ' login ' ]==$row4[ ' quest_by ' ] || $_SESSION[ ' user_info ' ][ ' type ' ]==3) {
  44.         echo  '  | <a href= " edit.php?mode=edit&id= ' .$quest_id. '  " >Редактирай</a> ' ;
  45.     }
  46.  
  47.  
  48.     echo ' </p></div> ' ;
  49.  
  50.  
  51.  
  52.  
  53.  
  54.     $rs2= enc_sql( ' SELECT COUNT(*) as cnt FROM answears WHERE quest_id= ' .$quest_id);
  55.     $row= mysql_fetch_assoc($rs2);
  56.     $max_count=$row[ ' cnt ' ] ;
  57.     $limit=5;
  58.     if((int)$_GET[ ' page ' ]>0) {
  59.         $page= (int)$_GET[ ' page ' ]-1;
  60.     }
  61.     else {
  62.         $page= 0;
  63.     }
  64.     $max_pages= ceil($max_count/$limit);
  65.  
  66.  
  67.  
  68.  
  69.  
  70.     $rs1=enc_sql( ' SELECT * FROM answears as a WHERE quest_id= ' .$quest_id. '  ORDER BY a.answear_date ASC LIMIT  ' .$page*$limit. ' , ' .$limit);
  71.  
  72.     while ($row1= mysql_fetch_assoc($rs1)) {
  73.  
  74.         echo  ' <div class= " lquest " ><div class= " lcontent " > ' .$row1[ ' answear_content ' ]. ' </div>
  75.         <p style= " font-size:14 " >
  76.         Автор:  ' .$row1[ ' answear_by ' ]. '  | Дата на добавяне:  ' .date( ' Y-m-d, H:i ' ,$row1[ ' answear_date ' ]);
  77.  
  78.  
  79.  
  80.  
  81.        
  82.         if($_SESSION[ ' user_info ' ][ ' login ' ]==$row1[ ' answear_by ' ] or $_SESSION[ ' user_info ' ][ ' type ' ]==3) {
  83.             echo  '  | <a href= " edit.php?mode=edit_answear&id= ' .$row1[ ' answear_id ' ]. '  " >Редактирай</a>
  84.                | <a href= " edit.php?mode=delete_answear&id= ' .$row1[ ' answear_id ' ]. '  " >Истрий</a> ' ;
  85.         }
  86.  
  87.  
  88.         echo ' </p>
  89.         </div> ' ;
  90.  
  91.  
  92.  
  93.     }
  94.     echo  ' </div> ' ;
  95.     echo  ' <div class= " pages " > ' ;
  96.     for($i=0;$i<$max_pages;$i++) {
  97.         if($i==$page) {
  98.             echo ($i+1). '  |  ' ;
  99.         }
  100.         else {
  101.             echo  ' <a style= " text-decoration: none; "  href= " list.php?id= ' .$quest_id. ' &page= ' .($i+1). '  " > '  .($i+1). '  | </a> ' ;
  102.         }
  103.     }
  104.     if($page<($max_pages-1)) {
  105.         echo  ' <a style= " text-decoration: none; "  href= " list.php?id= ' .$quest_id. ' &page= ' .($page+2). '  " >Next page</a> ' ;
  106.     }
  107.     echo  ' </div> ' ;
  108.     footer();
  109.     echo  ' <h3>Отговорете на въпроса:</h3> ' ;
  110.  
  111.     echo  '
  112.    <form action= " list.php?id= ' .$quest_id. '  "  method= " post " >
  113.    <textarea name= " answear_content "  rows= " 10 "  cols= " 68 " >
« Последна редакция: 14 Април 2015, 23:20:16 от Avalanche »

misq

  • Гост
Отг:Изчерпени идеи..
« Отговор #3 -: 06 Март 2010, 15:15:11 »
В list.php намери тези редове и ги смени с този код ...

       if($_SESSION[ ' user_info ' ][ ' login ' ]==$row1[ ' answear_by ' ] or $_SESSION[ ' user_info ' ][ ' type ' ]==3) {
            echo  '  | Редактирай
                | Истрий ' ;
        }



в delete .php пак същото



    header( ' Location: list.php?id= ' .$_GET[ ' list ' ]. '  ' );

DeluxBG

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 42
Отг:Изчерпени идеи..
« Отговор #4 -: 06 Март 2010, 20:26:48 »
Супер, разбрах какво си направил.
Много хитро, не се сетих :)

Само да попитам това $_SESSION[ ' user_info ' ] някаква вградена функция ли е, къде сме го създали?

misq

  • Гост
Отг:Изчерпени идеи..
« Отговор #5 -: 06 Март 2010, 21:48:41 »
а ми нз пич аз от твоя код съм го копирал ... това е сесия незнам защо си я създал и кво има вътре ...

з.р.ъ.н.ч.о

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 179
Отг:Изчерпени идеи..
« Отговор #6 -: 06 Март 2010, 22:44:42 »
DeluxBG написа:
Цитат
Супер, разбрах какво си направил.
Много хитро, не се сетих :)

Само да попитам това $_SESSION[ ' user_info ' ] някаква вградена функция ли е, къде сме го създали?
Ми как пишеш, като незнаеш какво е това: масив, в който има id, name и др. там данни за потребителя!
Преди да започнете да упреквате персоналната електронноизчислителната машина, научете се да я ухажвате

DeluxBG

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 42
Отг:Изчерпени идеи..
« Отговор #7 -: 07 Март 2010, 13:15:18 »
Знам, че е масив и го използвам, но не сме го създавали никъде (или сме?), за това питам.. ?