Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem ze shoutem, Blokada pustych wpisów oraz refresha
ReeV
post 22.01.2005, 19:28:48
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 14.12.2004

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


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>


Ten post edytował ReeV 22.01.2005, 19:29:14


--------------------
Warsztat: Apache 2.0.52 | PHP 5.0.2 | SQL 4.0.21 | Notatnik | PSP 7.0
Projekty: BanasheeShout v.1.2 '
Go to the top of the page
+Quote Post
hwao
post 22.01.2005, 19:42:05
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  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
Go to the top of the page
+Quote Post
ReeV
post 22.01.2005, 20:22:31
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 14.12.2004

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


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...


--------------------
Warsztat: Apache 2.0.52 | PHP 5.0.2 | SQL 4.0.21 | Notatnik | PSP 7.0
Projekty: BanasheeShout v.1.2 '
Go to the top of the page
+Quote Post
crash
post 22.01.2005, 20:34:12
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


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. ?>


--------------------
Go to the top of the page
+Quote Post
tiraeth
post 22.01.2005, 21:26:11
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


  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.....
Go to the top of the page
+Quote Post
hwao
post 22.01.2005, 22:25:24
Post #6


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




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 :-)
Go to the top of the page
+Quote Post
crash
post 22.01.2005, 23:06:39
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


\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...


--------------------
Go to the top of the page
+Quote Post
hwao
post 23.01.2005, 09:17:48
Post #8


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Jak juz wchodzimy w konkrety...
http://php.pl/index.php/phppl/artyku_y/pom...i_ko_ca_wiersza
Go to the top of the page
+Quote Post
ReeV
post 23.01.2005, 11:25:48
Post #9





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 14.12.2004

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


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.


--------------------
Warsztat: Apache 2.0.52 | PHP 5.0.2 | SQL 4.0.21 | Notatnik | PSP 7.0
Projekty: BanasheeShout v.1.2 '
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 16:20