Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Odświeżanie
Forum PHP.pl > Forum > Przedszkole
smigla
Witam, mam prosty panel news napisany w php i mam problem gdyż nie wiem co zrobić żeby po odświeżeniu strony nie powtarzała się czynność która została wykonana wcześniej np. dodanie newsa (po odświeżeniu strony news się tworzy 2 raz)
  1. <?
  2. if(isset($_POST['pass'])) //Haslo przechowujemy w sesjach
  3. {
  4. if($_POST['pass']=='haselko') //Wpisz haslo w miejsce "haselko"
  5. {
  6. $_SESSION['admin']='ok';
  7. }
  8. }
  9. if((!isset($_SESSION['admin']) || $_SESSION['admin']!='ok') && $_GET['admin']!='wyloguj')
  10. {
  11. echo '<form method="POST" action="index.php?main=admin">
  12. <p align="center">
  13. Niestety nie jestes zalogowany.<br> Proszę podac haslo:<br>
  14. <input type="password" name="pass" size="20"><br>
  15. <input type="submit" value="OK"></p>
  16. </form>';
  17. }
  18. if(isset($_GET['admin']) && $_GET['admin']=='wyloguj')
  19. {
  20. $_SESSION['admin']='';
  21. echo 'Nastapilo wylogowanie!<br> Przejdz do <a href="/index.php">strony glownej</a>...';
  22. }
  23. if($_SESSION['admin']=='ok')
  24. {
  25. $uchwyt=mysql_connect('adres bazyl','nazwa bazy','haslo bazy')
  26. or die('Nieudane polaczenie z baza danych...');
  27. or die('Nie udalo sie wybrac bazy danych...');
  28.  
  29. echo '<b>Newsy:</b><br>';
  30. $link=mysql_query('SELECT * FROM news ORDER BY id desc');
  31. while($wiersz=mysql_fetch_array($link))
  32. {
  33. echo '<b>'.$wiersz['tytul'].'</b>';
  34. echo ' - ';
  35. echo $wiersz['data'];
  36. echo ' - ';
  37. echo '<a href="index.php?newsy=edytuj&id='.$wiersz['id'].'">Edytuj</a>';
  38. echo ' - ';
  39. echo '<a href="index.php?newsy=usun&id='.$wiersz['id'].'">Usun</a>';
  40. echo "<br>\n";
  41. }
  42. echo '<b>Dodaj newsa:</b><br>';
  43. echo '<form method="POST" action="index.php?newsy=dopisz">
  44. Tytul:<br>
  45. <input type="text" name="tytul" size="64"><br>
  46. Tresc:<br>
  47. <textarea rows="5" name="tresc" cols="42"></textarea><br>
  48. <input type="submit" value="DODAJ">
  49. </form>';
  50. if(isset($_GET['newsy']) && $_GET['newsy']=='edytuj' && isset($_GET['id']))
  51. {
  52. $id=$_GET['id'];
  53. $link=mysql_query("SELECT * FROM news WHERE id='$id'");
  54. $wiersz=mysql_fetch_array($link);
  55.  
  56. echo '<b>Edytuj newsa:</b><br>';
  57. echo '<form method="POST" action="index.php?newsy=wyedytuj&id='.$wiersz['id'].'">
  58. Tytul:<br>
  59. <input type="text" name="tytul" size="64" value="'.$wiersz['tytul'].'"><br>
  60. Tresc:<br>
  61. <textarea rows="5" name="tresc" cols="42">'.$wiersz['tresc'].'</textarea><br>
  62. <input type="submit" value="EDYTUJ">
  63. </form>';
  64. }
  65. elseif(isset($_GET['newsy']) && $_GET['newsy']=='dopisz')
  66. {
  67. $tytul=$_POST['tytul'];
  68. $tresc=$_POST['tresc'];
  69. $data=date('d.m.Y, H:i');
  70.  
  71. mysql_query("INSERT INTO news VALUES(0,'$tytul','$tresc','$data')");
  72. echo 'Pomyslnie dodalem newsa o tytule: <b>'.$tytul.'</b> i o treści: <b>'.$tresc.'</b> z datą'.$data.'.';
  73.  
  74. }
  75. elseif(isset($_GET['newsy']) && $_GET['newsy']=='wyedytuj' && isset($_GET['id']))
  76. {
  77. $tytul=$_POST['tytul'];
  78. $tresc=$_POST['tresc'];
  79. $id=$_GET['id'];
  80.  
  81. mysql_query("UPDATE news SET tytul='$tytul' tersc='$tresc' WHERE id='$id'");
  82. echo 'Pomyslnie wyedytowalem newsa! <br> Jego nowy tytul to: <b>'.$tytul.'</b>, a tresc: <b>'.$tresc.'</b>';
  83.  
  84. }
  85. elseif(isset($_GET['newsy']) && $_GET['newsy']=='usun' && isset($_GET['id']))
  86. {
  87. $id=$_GET['id'];
  88.  
  89. mysql_query("DELETE FROM news WHERE id='$id'");
  90. echo 'Pomyslnie usunalem newsa numer '.$id.'!';
  91.  
  92. }
  93. ?>
  94. <a href="/pages/admin/index.php?admin=wyloguj"><a><< WYLOGUJ >></a>
  95. <?
  96. }
  97. ?>
lukaskolista
  1. elseif(isset($_GET['newsy']) && $_GET['newsy']=='dopisz')
  2. {
  3. $tytul=$_POST['tytul'];
  4. $tresc=$_POST['tresc'];
  5. $data=date('d.m.Y, H:i');
  6.  
  7. mysql_query("INSERT INTO news VALUES(0,'$tytul','$tresc','$data')");
  8. echo 'Pomyslnie dodalem newsa o tytule: <b>'.$tytul.'</b> i o treści: <b>'.$tresc.'</b> z datą'.$data.'.';
  9.  
  10. // Dodaj kod ponizej
  11. header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
  12. }
smigla
Dodałem tak jak tutaj i wyskakuje mi błąd: "Warning: Cannot modify header information - headers already sent by" a po odświeżeniu dalej się dublują newsy
nospor
1) Przypiety temat w dziale php
http://forum.php.pl/index.php?showtopic=44...t=0&start=0
zwracajcie na to uwage... po cos te tematy sa przypinane.

2) Problem co teraz masz poruszany petryliard razy.
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.