Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Przekierowywanie po wykonaniu zapytania
Forum PHP.pl > Forum > Przedszkole
mrk9109
Witam otóż mam takie pytanie gdzie mam błąd gdyż gdy edytuje dodany artykuł lub chce dodać po prostu chce wykonać jakąś akcje to zamiast przekierować mnie na stronę startową np: index.php?site=artykuly to ja dalej zostaje np: w akcji edytuj (a dane z edytuje i pojawi się odpowiedni napis że zaktualizowano )


chodzi mi dokładnie o ten fragment kodu ? że działa samo echo z napisem a nie działa header wyświetla mi ten komunikat w otwartej stronie ( akcji )


Kod
echo 'Dane zostały zaktualizowane <br />';
            
                      @header('Location: admincenter.php?site=artykuly');

  1. <?php
  2.  
  3. if(!ispageadmin($userID) OR mb_substr(basename($_SERVER['REQUEST_URI']),0,15) != "admincenter.php") die($_language->module['access_denied']);
  4.  
  5.  
  6.  
  7. $zapytanie=safe_query("SELECT `id`, `tytul`, `tresc`, `data` FROM ".PREFIX."artykuly ORDER by `id` DESC");
  8.  
  9.  
  10. $ile = mysql_num_rows($zapytanie);
  11.  
  12. if($ile == 0)
  13. {
  14.  
  15. echo 'Brak Artykulu';
  16.  
  17. }
  18. // Akcja
  19.  
  20. $akcja = $_GET['akcja'];
  21.  
  22.  
  23. if(!isset($akcja))
  24. {
  25.  
  26.  
  27. // Lista Wpisow
  28.  
  29. echo '
  30. <table>
  31. <tr><h1>artykuly</h1></tr>
  32. <tr>
  33. <a href="admincenter.php?site=artykuly&akcja=dodaj">Dodaj Artykul </a>
  34. </tr>
  35. </table>
  36. ';
  37.  
  38. $zapytanie=safe_query("SELECT `id`, `tytul`, `tresc`, `data` FROM ".PREFIX."artykuly ORDER by `id` DESC");
  39.  
  40. if(mysql_num_rows($zapytanie)) {
  41.  
  42. while($dn=mysql_fetch_array($zapytanie)) {
  43. $id=$dn['id'];
  44. $tytul=$dn['tytul'];
  45. $tresc=$dn['tresc'];
  46. $data=$dn['data'];
  47.  
  48. echo '
  49. <table>
  50. <tr>
  51. <td width="300">'.$tytul.'</td>
  52. <td width="200"><a href="admincenter.php?site=artykuly&akcja=edytuj&id='.$id.'">Edytuj</a> - <a href="admincenter.php?site=artykuly&akcja=usun&id='.$id.'">Usun</a></td>
  53. </tr>';
  54. }
  55. }
  56. }
  57.  
  58. echo '
  59. </table>';
  60.  
  61.  
  62.  
  63. // Edytowanie Danych
  64.  
  65. if($akcja == 'edytuj')
  66. {
  67.  
  68. $id = $_GET['id'];
  69.  
  70. $id = addslashes($id);
  71.  
  72. $id = strip_tags($id);
  73.  
  74. $tytul = $_POST['tytul'];
  75. $tresc = $_POST['tresc'];
  76.  
  77. $zapytanie=safe_query("SELECT `id`, `tytul`, `tresc`, `data` FROM ".PREFIX."artykuly WHERE `id`='".$id."'");
  78.  
  79. while($dn=mysql_fetch_array($zapytanie)) {
  80. $id=$dn['id'];
  81. $tytul=$dn['tytul'];
  82. $tresc=$dn['tresc'];
  83. $data=$dn['data'];
  84. }
  85.  
  86. eval ("\$addbbcode = \"".gettemplate("addbbcode", "html", "admin")."\";");
  87.  
  88. echo '<form method="post" id="post" name="post" action="admincenter.php?site=artykuly&akcja=edytuj&id='.$id.'" onsubmit="return chkFormular();">
  89. <br />
  90. <b><h1>artykuly - Edytuj</h1></b><br />';
  91.  
  92. echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">
  93. <tr>
  94. <td valign="top">'.$addbbcode.'</td>
  95. </tr>
  96. </table>';
  97.  
  98. echo '
  99. <table>
  100. <tr>
  101. <td width="100"><b>Tytul:</b></td>
  102. <td width="300"><input type="text" name="tytul" size="81" value="'.$tytul.'"></td>
  103. </tr>
  104. <tr>
  105. <td width="100"><b>Tresc:</b></td>
  106. <td><textarea id="message" name="tresc" rows="15" cols="" style="width: 100%;">'.getinput($tresc).'</textarea></td>
  107. </tr>
  108. <tr>
  109. <td width="100"><b>Data:</b></td>
  110. <td width="300">'.$data.'</td>
  111. </tr>
  112. <tr><br /></tr>
  113. </table>
  114. <table>
  115. <tr>
  116. <td><input type="submit" name="edit" value="Edytuj Dane" /></td>
  117. <td><input type="submit" name="cancel" value="Anuluj" /></td>
  118. </tr>
  119. </form>
  120. ';
  121.  
  122. if($_POST['edit']) {
  123.  
  124. $tytul = $_POST['tytul'];
  125. $tresc = $_POST['tresc'];
  126.  
  127. safe_query("UPDATE ".PREFIX."artykuly SET `tytul`='".$tytul."', `tresc`='".$tresc."' WHERE `id`='".$id."'");
  128.  
  129. echo 'Dane zostały zaktualizowane <br />';
  130.  
  131. @header('Location: admincenter.php?site=artykuly');
  132. }
  133.  
  134. if($_POST['cancel']) {
  135.  
  136. echo 'Anuluj<br />';
  137.  
  138. @header('Location: admincenter.php?site=artykuly');
  139. }
  140.  
  141.  
  142. }
  143. echo '
  144. </table>';
  145.  
  146. // Usuwanie Danych
  147.  
  148.  
  149. if($akcja == 'usun')
  150. {
  151.  
  152. $id = $_GET['id'];
  153.  
  154. $id = addslashes($id);
  155.  
  156. $id = strip_tags($id);
  157.  
  158. echo '
  159. <form method="post" action="admincenter.php?site=artykuly&akcja=usun&id='.$id.'">
  160. <br />
  161. <table align="center">
  162. <tr>
  163. <td>Czy Na pewno chcesz usunac ten wpis ? </td>
  164. </tr>
  165. </table>
  166. <table align="center">
  167. <tr>
  168. <td><input type="submit" name="yes" value="Tak" /></td>
  169. <td><input type="submit" name="no" value="Nie" /></td>
  170. </tr>
  171. </form>
  172. ';
  173.  
  174. if($_POST['yes']) {
  175.  
  176.  
  177. safe_query("DELETE FROM ".PREFIX."artykuly WHERE `id`='".$id."'");
  178.  
  179. echo 'Dane zostały usuniete <br />';
  180.  
  181. @header('Location: admincenter.php?site=artykuly');
  182. }
  183. if($_POST['no']) {
  184.  
  185. echo 'Anuluj<br />';
  186.  
  187. @header('Location: admincenter.php?site=artykuly');
  188. }
  189. }
  190.  
  191. echo '
  192. </table>';
  193.  
  194. // Dodawanie Danych
  195.  
  196. if($akcja == 'dodaj')
  197. {
  198. $tytul = $_POST['tytul'];
  199. $tresc = $_POST['tresc'];
  200. $data=date("d.m.Y");
  201.  
  202. echo '<script language="JavaScript" type="text/javascript">
  203. <!--
  204. function chkFormular() {
  205. if(!validbbcode(document.getElementById(\'message\').value, \'admin\')){
  206. return false;
  207. }
  208. }
  209. -->
  210. </script>';
  211.  
  212. eval ("\$addbbcode = \"".gettemplate("addbbcode", "html", "admin")."\";");
  213.  
  214. echo '<form method="post" id="post" name="post" action="admincenter.php?site=artykuly&akcja=dodaj" onsubmit="return chkFormular();">
  215. <br />
  216. <b><h1>artykuly - Dodaj</h1></b><br />';
  217.  
  218. echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">
  219. <tr>
  220. <td valign="top">'.$addbbcode.'</td>
  221. </tr>
  222. </table>';
  223.  
  224. echo '
  225. <table>
  226. <tr>
  227. <td width="100"><b>Tytul:</b></td>
  228. <td width="300"><input type="text" name="tytul" size="81"></td>
  229. </tr>
  230. <tr>
  231. <td width="100"><b>Tresc:</b></td>
  232. <td><textarea id="message" name="tresc" rows="15" cols="" style="width: 100%;"></textarea></td>
  233. </tr>
  234. <tr><br /></tr>
  235. </table>
  236. <table>
  237. <tr>
  238. <td><div style="float: right;">
  239. <input type="submit" name="save" value="Dodaj" />
  240. <td><input type="submit" name="anuluj" value="Anuluj" /></td>
  241. </div></td>
  242. </tr>
  243. </form>
  244. ';
  245.  
  246. if($_POST['save']) {
  247.  
  248. safe_query("INSERT INTO ".PREFIX."artykuly (`id`, `tytul`, `tresc`, `data`)
  249. VALUES
  250. (
  251. '',
  252. '".$tytul."',
  253. '".$tresc."',
  254. '".$data."'
  255. )");
  256.  
  257. echo 'Dodana tresc <br />';
  258.  
  259. @header('Location: admincenter.php?site=artykuly');
  260. }
  261.  
  262. if($_POST['anuluj']) {
  263.  
  264. echo 'Anuluj<br />';
  265.  
  266. @header('Location: admincenter.php?site=artykuly');
  267. }
  268.  
  269. }
  270.  
  271. echo '
  272. </table>';
  273.  
  274. ?>
  275.  



Przepraszam jeżeli to nie zrozumiale opisałem
gorden
Nie możesz wyświetlić czegoś z jednej podstrony użytkownikowi i jednocześnie go przekierować nagłówkiem na inną. Jak to ma niby wyglądać? Wyciszyłeś sobie funkcję header, a dokładnie tam wypisuje na czym polega błąd - nie można zmienić nagłówka, ponieważ zostały wysłane do clienta już jakieś dane (czyli tekst z echo).

Jeśli chcesz użyć headera, Twój skrypt nie może żadnego znaku wyświetlać. Dodaj to echo w admincenter.php
Pyton_000
usuń @ a się dowiesz czemu Ci nie działa. Tylko ani mi się waż wracać z tym błędem tutaj bo ten temat w internecie jest non-stop wałkowany.
mrk9109
jestem początkujący więc przepraszam to jak mam to zrobić by przekierował do artykuly i tam wyświetlił tekst u gory ?
gorden
Cytat(gorden @ 17.02.2016, 16:29:34 ) *
Jeśli chcesz użyć headera, Twój skrypt nie może żadnego znaku wyświetlać. Dodaj to echo w admincenter.php

mrk9109
rozumie dodam ale jak usunę echo zostawię sam header by przekierowywał to i tak mi nie działa zostaje dalej na stronie . Przepraszam początki są trudne ;/

tak mam
  1. if($_POST['edit']) {
  2.  
  3. $tytul = $_POST['tytul'];
  4. $tresc = $_POST['tresc'];
  5.  
  6. safe_query("UPDATE ".PREFIX."artykuly SET `tytul`='".$tytul."', `tresc`='".$tresc."' WHERE `id`='".$id."'");
  7.  
  8. header('Location: admincenter.php?site=artykuly');
  9. }
  10.  
  11. if($_POST['cancel']) {
  12.  
  13. header('Location: admincenter.php?site=artykuly');
  14. }
gorden
Cytat(gorden @ 17.02.2016, 16:29:34 ) *
Jeśli chcesz użyć headera, Twój skrypt nie może żadnego znaku wyświetlać. Dodaj to echo w admincenter.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.