Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze shoutem
Forum PHP.pl > Forum > Przedszkole
ReeV
Witam napisałem chyba najprostrzego możliwego shoutboxa lecz niestety nie jest odporny na odświoeżanie (czyt. podczas niego dodawana jest nowa linijka tak jak by pusty wpis w shoutboxie) i to jest największy mankament którego pragnę się pozbyć lecz niestety nie wiem jak... Nie wiem także jak usunąć możliwość dawania pustych wpisów. Zresztą te obie rzeczy praktycznie sprowadzają się do tego samego. Czyli nie akceptowania lub nie wyświetlania pustych wpisów. Proszę o pomoc!

Myślałem także o takim czymś aby przy wyświetlaniu skrypt ignorował puste linje bo zapis mniej więcej wygląda tak:

$data | $user | $tekst
(pusty)
$data | $user | $tekst

i tam gdzie był by pusty poprostu omijało/ignorowało by tą linję. Jest takie coś możliwe?

  1. <? 
  2. //Autor Hoppus 
  3. //All rights Reserved 
  4.  
  5. $filename = &#092;"szots.php\"; 
  6. $nowy = $_GET['tekst']; 
  7. $a = $_GET['autor']; 
  8. $data=date('d.m.Y'); 
  9.  
  10. $plik = file($filename); 
  11. $plik = implode(&#092;"\",$plik); 
  12. $plik = $data . &#092;" | <b>\". $autor . \"</b>: \" . $tekst .\"rn\".$plik; 
  13.  
  14. $fp = fopen($filename , &#092;"w\");flock($fp,2); 
  15. fputs( $fp , $plik); 
  16. flock($fp,3);fclose($fp); 
  17.  
  18.  
  19. ?> 
  20.  
  21. <form action=\"index.php\" method=\"post\"> 
  22. <center><b>ShoutBox</b></center> 
  23.  
  24. <? 
  25. $dane=file('szots.php'); 
  26. for($start=0;$start<=6;$start++) 
  27. { 
  28. echo &#092;"$dane[$start]<BR>\"; 
  29. } 
  30. ?> 
  31.  
  32. <b>Autor:</b> 
  33. <input name=\"autor\" ROWS=\"1\" COLS=\"23\" class=\"input-text\" value=\"\"></TEXTAREA> 
  34. <b>Tekst:</b> 
  35. <input name=\"tekst\" ROWS=\"1\" COLS=\"23\" class=\"input-text\" value=\"\"></TEXTAREA><input type=\"submit\" value=\"wyslij\"><br> 
  36. </form>
hwao
  1. <?php
  2. $nowy = $_GET['tekst'];
  3. $a = $_GET['autor']; 
  4. ?>

Przekazuj dane postem
a jak sprawdzic czy jest cos w zmienej to
  1. <?php
  2.  
  3. if( empty( $_GET['cos'] ) )
  4. {
  5. // nie ma nic
  6. } else {
  7. // jest cos 
  8. }
  9. ?>


--- Edit

  1. <?php
  2. if( !empty( $_GET['tresc'] ) )
  3. {
  4. $fp = fopen($filename , &#092;"w\");flock($fp,2);
  5. fputs( $fp , $plik);
  6. flock($fp,3);fclose($fp); 
  7. }
  8.  
  9. ?>


To nie bedzie robic pustych linijek
ReeV
smile.gif Dziękuje wszystko działa jak trzeba. Ale niestety pragnąc być oryginalnym winksmiley.jpg pragnę dodać do shoua opcję "wyświetl więcej wiadomości". Do wyświetlania sześciu pierwszych linijek używam (chyba) najprostrzego kodu:

  1. <? 
  2. $dane=file('szots.php'); 
  3. for($start=0;$start<=6;$start++) 
  4. { 
  5. echo &#092;"$dane[$start]<BR>\"; 
  6. } 
  7. ?>


lecz jak zrobić aby po naciśnięciu linka "wyświetl więcej wiad." pokazywało przykładowo 40 ostatnich... Nie bardzo mam pomysł jak to wykonać, a wiem że się da...
crash
A na przykład ta:
  1. <?php
  2. $ile = $_GET['ile'];
  3. if(empty($ile))
  4. {
  5.  $ile = 6;
  6. }
  7. $dane=file('szots.php');
  8. for($start=0;$start<=$ile;$start++) 
  9. { 
  10. echo &#092;"$dane[$start]<BR>\"; 
  11. }
  12. echo '<a href=\"?ile=40\">Zobacz więcej</a>';
  13. ?>
tiraeth
  1. <?
  2. // .....
  3. $plik = $data . &#092;" | <b>\". $autor . \"</b>: \" . $tekst .\"rn\".$plik; 
  4. // .....
  5. ?>

zamiast \r\n daj \n..... to jest chyba powodem podwójnych znaków końca linii.....
hwao
Cytat(Tiraeth @ 2005-01-22 22:26:11)
  1. <?
  2. // .....
  3. $plik = $data . &#092;" | <b>\". $autor . \"</b>: \" . $tekst .\"rn\".$plik; 
  4. // .....
  5. ?>

zamiast \r\n daj \n..... to jest chyba powodem podwójnych znaków końca linii.....

Nie popatrsz u niego poprostu sie zapisywalo nawet jak nic nie bylo wyslane.

Co do \r to taki notatnikowy nie wiem co biggrin.gif znak nowej lini to \n :-)
crash
\r to jakaś tam karetka, ważne jest, że pod Windowsem znakiem nowej linii jest \r\n, pod Unixami tylko \n, a jeszcze jakaś inna hybryda tego jest pod Mac'ami...
hwao
Jak juz wchodzimy w konkrety...
http://php.pl/index.php/phppl/artyku_y/pom...i_ko_ca_wiersza
ReeV
I chyba wszystko zostało powiedziane smile.gif Po urozmaiceniu tego shouta o skrypciki z którymi miałem problem mamy naprawdę ciekawe dzieło (może nie najlepsze, ale dobre winksmiley.jpg ). Opcja pokaż więcej wiadomości także pomaga w życiu bo nie gubimy wątku. Dla bardziej wymagających można jeszcze walnąć str_replace smile.gif

Dziękuje wszystkim za pomoc.
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.