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
ryba303
post
Post #2





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

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


Dziala tylko teraz przestaly dzialac zabezpieczenia moje jak Twoje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale z tym moze sobie juz sam dam rade poki co dziekuje jak cos to na pewno sie odezwe (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Probowalem ale jak dzialalo jedno to nie dzialo drugie jak dzialalo jedno to wykakiwal komunikat ze np przekroczono ilosc znakow ale bez wpisow i trzeba bylo juz odswiezac zeby sie pojawily i tu w sumie bylem w punkcie wyjscia natomiast z pustymi polami do wypelnienia tworzylo mi pusty wpis (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) no poprostu zwariowac idzie a ze wstalem dzis o 5 rano do pracy i ze moje umiejetnosci sa jeszcze jakie sa to znow musze napisac posta. Teraz wkleje caly kod strony z dodanym tylko tym fragmetnem zeby wysiwtlalo wpisy zaraz po wyslaniu komentarza.


Kod
<html>
<head>

      <link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>


<table class=pol border=0>
   <tr>
     <td>
       <div class="form">
         <form action="?action=zapisz" 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>




<?

$pole1 = $_POST['pole1'];
$pole2 = $_POST['pole2'];
$pole3 = $_POST['pole3'];
$act   = $_GET['action'];

$filename = 'baza.txt';
$file     = file($filename);
$cnt      = count($file);


//wyświetlanie

$file_rev = array_reverse($file);


if(!empty($pole1) or !empty($pole2) or !empty($pole3))

  
{

                  
$data     = date("H:i:s  d-m-Y");


echo '
   <table class="pol" border="0" width="400px">
     <tr>
       <td class="wyr">
         <b>Temat:</b>     '                   .$pole1.'
          <br />
         <b>Nick:</b>      '                   .$pole3.'
          <br />
         <b>Komentarz:</b><br /><br /> '       .$pole2.'
         <br /><br />
         <b>Wpis został dodany </b>  '         .$data.'
       </td>
     </tr>
   </table>
   <hr />';

}



foreach($file_rev as $linia)
{
   $data     = date("H:i:s  d-m-Y");
   $dana = explode("`", $linia);
   echo '
   <table class="pol" border="0" width="400px">
     <tr>
       <td class="wyr">
         <b>Temat:</b>     '                       .$dana[0].'
          <br />
         <b>Nick:</b>      '                       .$dana[2].'
         <br />
         <b>Komentarz:</b><br /><br /> '           .$dana[1].'
         <br /><br />
         <b>Wpis został dodany </b>  '             .$dana[3].'
       </td>
     </tr>
   </table>
   <hr />';
}



//zapis

if($act == 'zapisz')
{
   if(empty($pole1) or  empty($pole2) or empty($pole3) )
   {
     echo 'Nie uzupełniłeś wszystkich pól';
   }
   else
   {
         $zm1=strlen($pole1);
         $zm2=strlen($pole2);
         $zm3=strlen($pole3);
         // echo ("$zm1"."$zm2"."$zm3");
           if ($zm1 > 5){
           $zm1_1=$zm1-5;
           die ("Wpis w polu1 został przekroczony o $zm1_1 znaków prosze go skrócić");

           }
              if ($zm2 > 5){
              $zm2_1=$zm2-5;
              die ("Wpis w polu2 został przekroczony o $zm2_1 znaków prosze go skrócić");
              //exit;
              }
                if ($zm3 > 5){
                $zm3_1=$zm3-5;
                die ("Wpis w polu3 został przekroczony o $zm3_1 znaków prosze go skrócić");
                   }
  
  
     $data     = date("H:i:s  d-m-Y");
     $pole2 = str_replace("\n","<br />",$pole2);

     $file[($cnt+1)] = $pole1."`".$pole2."`".$pole3."`".$data."\n";

     if(file_put_contents($filename, $file))
     {
       echo 'Dane zostały zapisane';
     }
     else
     {
       echo 'Wystąpił błąd podczas zapisu do pliku';
     }
   }
}

$data     = date("H:i:s  d-m-Y");
echo ("Aktualnie jest $data");

?>

</body>
</html>


Ten post edytował ryba303 26.11.2007, 20:49:12
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 - 10:03