Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z systemem newsów..
Forum PHP.pl > Forum > Przedszkole
Jetyot
Piszę swój system newsów. Problem jest taki że nie wiem jak rozwiązać sprawę że jak nie wpiszę nazwy tematu lub treści newsa to żeby wyświetlało informację tak, żeby znikał formularz i pojawiała się informacja, że news/nazwa tematu nie została wpisana. Bo jak na stan obecny to formularz nie znika a informacja pojawia się obok. Kod:

  1. <?php
  2.  
  3.  
  4. if (!isset($_SESSION['user'])) {
  5.  
  6. echo '<form action="login.php" method="post" > 
  7. Login: <input type="text" name="nick" /><br />
  8. <br />Haslo: <input type="password" name="pass" /><br />
  9. <br /><input type="submit" value="Loguj" /> </form> <br />';
  10.  
  11. } 
  12.  
  13. else {
  14.  
  15. $mod= $_GET['mod'];
  16. switch($mod) { 
  17.  
  18. default:
  19.  
  20. echo '<div id="all">
  21. <div id="header">
  22. <ul class="menu1">
  23. <a href="page.php"><li>Home</li></a>
  24. <a href="page.php?mod=add"><li style="word-spacing: 4px">Dodaj newsa</li></a>
  25. <a href="page.php?mod=remove"><li>Usun</a></li>
  26. <a href="page.php?mod=logout"><li>Wyloguj</li></a>
  27. </ul>
  28. </div>
  29. <div id="main">
  30. Witaj
  31. </div>
  32. </div>
  33. </div>';
  34.  
  35. break;
  36.  
  37. // Dodawanie newsa
  38.  
  39. case 'add':
  40.  
  41. $subject= $_POST['subject'];
  42. $new= $_POST['new'];
  43. $date= date("d.m.Y, H.i");
  44. $all= '<div id="all">' 
  45. . '<div id="subject">' . $subject . '</div>' . 'df%^s*6*7'
  46. . '<div id="news>' . $new . '</div>' . 'df%^s*6*7'
  47. . 'Dodano: ' . $date 
  48. . '</div>';
  49.  
  50.  
  51. echo '<div id="all">
  52. <div id="header">
  53. <ul class="menu1">
  54. <a href="page.php"><li>Home</li></a>
  55. <a href="page.php?mod=add"><li style="word-spacing: 4px">Dodaj newsa</li></a>
  56. <a href="page.php?mod=remove"><li>Usun</a></li>
  57. <a href="page.php?mod=logout"><li>Wyloguj</li></a>
  58. </ul>
  59. </div>
  60. <div id="main">
  61. <form method="post">
  62. <br />Temat:<br /> <input type="text" name="subject" size="52" /><br />
  63. <br /><textarea name="new" cols="40" rows="10"></textarea><br />
  64. <br /><input type="submit" Value="Napisz" />
  65. </form>
  66. </div>
  67. </div>
  68. </div>';
  69.  
  70.  
  71. if (empty($_POST['subject']) || empty($_POST['new'])) {
  72.  
  73. echo 'Nie wpisales wymaganych informacji tongue.gif';
  74.  
  75. } 
  76.  
  77. else {
  78.  
  79. $file= fopen('news.txt', 'a');
  80. fwrite($file, $all ."r\n");
  81. fclose($file);
  82.  
  83. echo 'News zostal dodany tongue.gif';
  84.  
  85. }
  86.  
  87.  
  88.  
  89. break; 
  90.  
  91. //Usuwanie newsa
  92.  
  93. case 'remove':
  94.  
  95.  
  96.  
  97. $filename = "news.txt";
  98. $delete = 3;
  99.  
  100. $file = file($filename);
  101. $file[$delete-1] = "";
  102. $file = implode ("",$file);
  103. $fp = fopen ($filename , "w");
  104. flock ($fp,2);
  105. fwrite ( $fp , $file);
  106. flock($fp,3);
  107. fclose($fp); 
  108.  
  109. break;
  110.  
  111. // Wylogowywanie 
  112.  
  113. case 'logout':
  114.  
  115. if (!isset($_SESSION['user'])) {
  116.  
  117. echo 'Nie byles zalogowany tongue.gif';
  118. echo '<form action="page.php?mod=logout" method="post" > 
  119. Login: <input type="text" name="nick" /><br />
  120. <br />Haslo: <input type="password" name="pass" /><br />
  121. <br /><input type="submit" value="Loguj" /> </form>';
  122.  
  123. }
  124.  
  125. else {
  126.  
  127. unset ($_SESSION['user']);
  128. header ("Location: page.php");
  129.  
  130. } 
  131.  
  132. break;
  133.  
  134. }
  135.  
  136.  
  137.  
  138. }
  139.  
  140. ?>
  141.  
  142. <style type="text/css">
  143. body {
  144.  
  145. background-color: white;
  146. margin: auto;
  147.  
  148.  
  149. #all {
  150. background-color: white;
  151. border: solid 1px black;
  152. width: 600px; 
  153. margin: 0 auto;
  154.  
  155.  
  156. #header {
  157.  text-align: center;
  158.  word-spacing: 20px;
  159.  font: bold 12px;
  160.  border-bottom: solid 1px black;
  161.  background-color: #EDF4C7;
  162.  ;
  163.  
  164. ul, ul li {
  165. display: block;
  166. list-style: none;
  167. margin: 0;
  168. padding: 0;
  169.  
  170. }
  171.  
  172. ul li {
  173. display: inline;
  174. white-space: nowrap;
  175.  
  176. #main {
  177.  background-color: #B6A6A3;
  178.  text-align: center;
  179.  
  180.  
  181. a:link, a:visited {
  182.  text-decoration: none;
  183.  
  184. }
  185.  
  186.  a:hover {
  187. text-decoration: none;
  188. color: red;
  189.  
  190.  
  191. }
  192.  
  193. input new {
  194.  
  195. display: block;
  196.  
  197. }
  198.  
  199. </style>



login.php
  1. <?php 
  2.  
  3.  
  4. $login= 'Blade';
  5. $pass='12345';
  6. md5($pass);
  7.  
  8. if ($login== $_POST['nick'] && $pass== $_POST['pass']) {
  9.  
  10. $_SESSION['user']= $_POST['nick'];
  11. header ("Location: page.php");
  12.  
  13. }
  14.  
  15. ?>
netmare
ak dodaj sobie if z isset i wartości POSTA któe Cię interesują że jeśli obie nie są ustwaione to wyświetla form
Jetyot
Czyli ifem z isset objąć tego ifa z empty?
netmare
Nie tylko wyświetlanie forma, a do tamtego empty musisz coś dorzucić np sprawdzenie czy został w ogóle przesłany form może przez to czy jest ustawiony submit w poście. Bo tak chyba zaraz po wczytaniu strony też wyświetli że nie wpisałeś informacji.
Jetyot
Ok już chodzi, dzięki za wszystko smile.gif. A tak na marginesie jak oceniacie ten system newsów?
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.