Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Polaczenie zapisywania i wyswietlania
ryba303
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 24.11.2007

Ostrzeżenie: (0%)
-----


Tak jak w temacie mam dwa pliki jeden zapisuje drugi wyswietla. Chcialem zrobic tak zeby formularz byl u gory a pod spodem wpisy ale niestety dla mmnie poczatkujacego przeroslo na razie moje sily (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Do zapisu
Kod
<?
  
  $pole1 = $_POST['pole1'];
  $pole2 = $_POST['pole2'];
  $pole3 = $_POST['pole3'];
  if(empty($pole1) and  empty($pole2) and empty($pole3) ) {
  
  echo "<table class=pol border=0><tr><td>"."<div class=form>".'<form action="" method="post"><br/><br/>
  <b>Temat</b><br/>
  <input type="text" name="pole1" style="width: 400px;" /><br/><br/>
  <b>Komentarz</b><br/>
  <textarea name="pole2" style="width: 400px; height: 300px;">
  </textarea>
  <br/>
  <b>Nick</b><br/>
  <input type="text" name="pole3" style="width: 400px;" />
  
  
  <input type="submit" value="Zapisz" />
  </form>'."</div>"."</td><tr></table>";
  
  }
  else {
    
  $pole2 = str_replace("\n","",$pole2);
  $pole2 = str_replace("\n","<br>",$pole2);
  $dane = $pole1."`".$pole2."`".$pole3."\n";
        
      $file = "baza.txt";
      $fp = fopen($file, "a");
      flock($fp, 2);
      fwrite($fp, $dane);
      flock($fp, 3);
      fclose($fp);
  
        echo "Dane zostały zapisane!";
        echo "<a href=\"form2.php\">Zobacz wpisane dane</a>";
        echo "<a href=\"test5.php\">Wróc</a>";
  }
  ?>


Do wyswitlania
Kod
<?php
  
  
  $file = file("baza.txt");
  $file_rev = array_reverse($file);
  foreach($file_rev as $value) {
  $exp = explode("`",$value);
  echo "<table class=pol border=0 width=400px><tr><td class=wyr><b>".$exp[0]."</b>".nl2br(htmlspecialchars(trim($exp[1])))."".$exp[2]."".$exp[3]."</td></tr></table><hr />";
  }
  echo "<a href=\"test5.php\">Wroc do pisania</a>";
  ?>


Probowalem przez include, laczyc to jakos ale nie dawalo rady :/ Nawet jak sie pokazywal formularz i wpisy razem to wpisy byly w odwroconej kolejosci a po dodaniu wpisu ladowalo sama strone zapisz.php bez fomularza tylko wpisy :/

Ten post edytował ryba303 25.11.2007, 16:42:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
b_chmura
post
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

Ostrzeżenie: (0%)
-----


Kod
if ($_SESSION['review'] = 1;){

raz ze nie porównujesz (==) a przypisujesz 1 do sesji dwa co robi tam średnik?

Miałem czas wiec proszę:
  1. <?php session_start(); //rozpoczynamy sesje ?>
  2. <html>
  3. <head>
  4.  
  5. <link href="style.css" rel="stylesheet" type="text/css">
  6. </head>
  7. <body>
  8.  
  9.  
  10. <table class=pol border=0>
  11.  <tr>
  12.  <td>
  13.  <div class="form">
  14.  <form action="?action=zapisz" method="post">
  15.  <br /><br />
  16.  <b>Temat</b>
  17.  <br />
  18.  <input type="text" name="pole1" style="width: 400px;" />
  19.  <br /><br />
  20.  <b>Komentarz</b>
  21.  <br />
  22.  <textarea name="pole2" style="width: 400px; height: 300px;"></textarea>
  23.  <br />
  24.  <b>Nick</b>
  25.  <br />
  26.  <input type="text" name="pole3" style="width: 400px;" />
  27.  <input type="submit" value="Zapisz" />
  28.  </form>
  29.  </div>
  30.  </td>
  31.  <tr>
  32. </table>
  33.  
  34.  
  35.  
  36.  
  37. <?
  38. $max_temat = 5; //maksymalna długość tematu
  39. $max_kom  = 70; //maksymalna długość komentarza
  40. $max_nick = 6; //maksynalna długość Nicka
  41.  
  42. $pole1 = $_POST['pole1']; //pobieramy temat podany w formularzu
  43. $pole2 = $_POST['pole2']; //pobieramy komentarz podany w fomularzu
  44. $pole3 = $_POST['pole3']; //pobieramy nick podany w fomularzu
  45. $act  = $_GET['action']; //z adresu url pobieramy typ akcji do wykonania 
  46.  
  47. $filename = 'baza.txt'; //nazwa pliku (bazy)
  48. $file  = file($filename); //otwieramy plik do tablicy (każda linijka w pliku jest kolejnym elementem tablicy)
  49. $cnt = count($file); //liczymy ile jest wpisów
  50.  
  51. //zapis
  52. if($act == 'zapisz') //jeśli akcją jest zapis
  53. {
  54. if(empty($pole1)) //sprawdzamy czy podano temat
  55. { //jeśli nie
  56.  echo 'Nie podałeś tematu';
  57. }
  58. elseif(empty($pole2)) //sprawdzamy czy wpisano komentarz
  59. { //jeśli nie
  60.  echo 'Nie napisałeś komentarza';
  61. }
  62. elseif(empty($pole3)) //sprawdzamy czy wpisujący sie przedstawił
  63. { //jeśli nie
  64.  echo 'Nie podałeś Nick'a';
  65. }
  66. elseif(strlen($pole1) > $max_temat) //sprawdzamy czy nie przekroczono liczby znaków w temacie
  67. { //jeśli tak
  68. echo 'Temat może mieć max '.$max_temat.' znaków!';
  69. }
  70. elseif(strlen($pole2) > $max_kom) //sprawdzamy czy nie przekroczono liczby znaków w komentarzu
  71. { //jeśli tak
  72. echo 'Komentarz może mieć max '.$max_kom.' znaków!';
  73. }
  74. elseif(strlen($pole3) > $max_nick) //sprawdzamy czy nie przekroczono liczby znaków w Nick'u
  75. { //jeśli tak
  76. echo 'Nick może mieć max '.$max_nick.' znaków!';
  77. }
  78. elseif($_SESSION['review']) //sprawdzamy czy sessja istnieje
  79. { //jeśli tak
  80. echo 'Próba dodania tego samego wpisu';
  81. }
  82. else
  83. { //jeżeli wszystkie nie zatrzymaliśmy sie na powyższych warunkach splacamy cały wpis
  84.  $data = date("H:i:s d-m-Y"); //pobieramy aktualną date
  85.  $pole2 = str_replace("\n","<br />",$pole2);//zmieniamy znaki nowej lini na <br />
  86.  
  87.  $file[($cnt+1)] = $pole1."`".$pole2."`".$pole3."`".$data."\n"; //składamy całość do "kupy"
  88.  
  89.  if(file_put_contents($filename, $file))//sprawdzamy czy można i zapisujemy nowe dane
  90.  {
  91.  echo 'Dane zostały zapisane<br /> sprawdz wszystkie komentarze <a href="?action=view"> tutaj </a>';
  92.  $_SESSION['review'] = TRUE; // tworzymy nową sesje 
  93.  }
  94.  else
  95.  {
  96.  echo 'Wystąpił błąd podczas zapisu do pliku';
  97.  }
  98.  }
  99. }
  100. elseif($act == 'view' OR empty($act))
  101. { //jeśli wchodziy na strone nie odświezając jej a chcemy dodać nowy wpis usuwamy sessje (
  102. if($_SESSION['review'])
  103. {
  104. unset($_SESSION['review']);
  105. }
  106. //wyświetlanie
  107. $file  = file($filename); //pobieramy nowe dane
  108. $file_rev = array_reverse($file); //odwracamy tablice
  109. foreach($file_rev as $linia) //rozkładamy tablice
  110. {
  111.  $dana = explode("`", $linia); //rozdzielamy dane
  112.  echo '
  113.  <table class="pol" border="0" width="400px">
  114.  <tr>
  115.  <td class="wyr">
  116.  <b>Temat:</b>  '  .$dana[0].'
  117. <br />
  118.  <b>Nick:</b> '  .$dana[2].'
  119.  <br />
  120.  <b>Komentarz:</b><br /><br /> '  .$dana[1].'
  121.  <br /><br />
  122.  <b>Wpis został dodany </b> '  .$dana[3].'
  123.  </td>
  124.  </tr>
  125.  </table>
  126.  <hr />';
  127. }
  128. $data = date("H:i:s d-m-Y"); //nie wiem po co to
  129. echo ("Aktualnie jest $data"); //aha już wiem - wyświetlamy aktualną date:D
  130. }
  131. ?>
  132. </body>
  133. </html>


Ten post edytował b_chmura 29.11.2007, 00:04:58
Go to the top of the page
+Quote Post

Posty w temacie
- ryba303   [PHP] Polaczenie zapisywania i wyswietlania   25.11.2007, 16:41:28
- - b_chmura   [PHP] pobierz, plaintext <table class=pol borde...   25.11.2007, 17:41:57
- - ryba303   Wyskakuje błąd przy zapisie a dokladnie przy file_...   25.11.2007, 20:19:50
- - b_chmura   zaktualizuj sobie wersje php alternatywa: (podsta...   25.11.2007, 21:01:01
- - ryba303   Cytatzaktualizuj sobie wersje php po krotkiej roz...   26.11.2007, 16:51:14
- - b_chmura   Cytatale dopiero jak odswiezylem strone bo wcześni...   26.11.2007, 17:02:32
- - ryba303   Obicuje ost pytanie przynajmniej przez jakis czas...   26.11.2007, 18:55:58
- - b_chmura   Przed foreach daj [PHP] pobierz, plaintext <?p...   26.11.2007, 19:03:51
- - ryba303   Dziala tylko teraz przestaly dzialac zabezpieczeni...   26.11.2007, 20:48:37
- - b_chmura   [PHP] pobierz, plaintext <html><head>...   26.11.2007, 21:13:01
- - ryba303   W koncu sie udalo a teraz ide spac ale spokojnie ...   28.11.2007, 22:22:52
- - b_chmura   ja to rozwiązuje stosując sesje przy dodaniu wpis...   28.11.2007, 22:40:40
- - ryba303   No to cos pokrecielem gdy dodam wpis na www.jakast...   28.11.2007, 23:11:02
- - b_chmura   Kod if ($_SESSION['review'...   29.11.2007, 00:04:10
- - ryba303   Czyli wniosek z tego taki, że jeżeli chce miec zab...   29.11.2007, 17:04:50
- - b_chmura   teraz jeśli wyskoczy Ci okienko z postadatą i dasz...   29.11.2007, 17:41:26
- - ryba303   Ile osob tyle rozwiazan, ale mam jeszcze jedno pyt...   29.11.2007, 20:40:36
- - b_chmura   jeśli przed header wyślesz jakiekolwiek inne infor...   29.11.2007, 22:29:38


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.01.2026 - 17:19