Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]SHOUTBOX- problem
Forum PHP.pl > Forum > Przedszkole
gregov0
Witam dopiero zaczynam programowac w php wiec prosze o wyrozumialosc, mam taki problem napisalem prosty skrypt shoutboxa i mam taki problem ze nie wyswietla mi moich wpisow , prosze o porade co jest zle , co ewentualnie zmienic lub dopisac. Z gory dziekuje
  1. <form action="kom.php" method="POST">
  2. <input type="text" name="nick"> <br>
  3. <input type="text" name="message">
  4. <input type="submit" name="submit" value="Wyslij" />
  5.  
  6.  
  7. </html>
  8.  
  9. <?php
  10. $nick = $_POST['nick'];
  11. $messege = $_POST['message'];
  12. $addsb = "<br><b>Nick:</b>$nick<br>Wiadomosc:$message" ;
  13. echo $addsb ;
  14.  
  15. $clase = "$addsb";
  16. $file = "wpisy.txt";
  17. $fp = fopen($file, "a");
  18. flock($fp, 2);
  19. fwrite($fp,$wpisy);
  20. flock($fp, 3);
  21. fclose($fp);
  22. include('wpisy.txt');
  23. ?>
Szunaj85
Cytat
$clase = "$addsb";
$file = "wpisy.txt";
$fp = fopen($file, "a");
flock($fp, 2);
fwrite($fp,$wpisy);
flock($fp, 3);
fclose($fp);
include('wpisy.txt');
Zainteresuj się funkcjami file_get_contents(), file_put_contents(). Skrócisz trochę swój kod.
gregov0
dzieki poczytam, ale dla mnie jako przedszkolaka w php te funkcje ktorych użyłem sa bardziej zrozumiale . narazie bardziej nurtuje mnie dlaczego skrypt nie dziala a moze to faktycznie wina moich funkcji questionmark.gif
nekomata
  1. <?php
  2. $nick = $_POST['nick'];
  3. $messege = $_POST['message'];
  4. $addsb = "<br><b>Nick:</b>$nick<br>Wiadomosc:$message" ;
  5. echo $addsb ;
  6.  
  7. $clase = "$addsb";// zbędne
  8. $file = "wpisy.txt"; // zbędne
  9. $fp = fopen('wpisy.txt', "a"); // było $file ale się pozbyliśmy tego prawda?
  10. flock($fp, 2);
  11. fwrite($fp,$wpisy);//gdzie jest zmienna $wpisy?
  12. flock($fp, 3);
  13. fclose($fp);
  14. include('wpisy.txt');
  15. ?>


to małe poprawki na twoim kodzie.. z file_get_contents i file_put_contents
wyglądało by to mniej więcej tak
  1.  
  2. <?php
  3. $nick = $_POST['nick'];
  4. $messege = $_POST['message'];
  5. $addsb = "<br><b>Nick:</b>$nick<br>Wiadomosc:$message" ;
  6. echo $addsb ;// jeśli tu wyświetlasz.. musisz wyświetlic treśc wpisy.txt przed dodaniem tej zmiennej
  7. // dotąd jest twoje.
  8. $wpisy = file_get_contents('wpisy.txt');
  9. echo $wpisy;
  10. $wpisy = $addsb.$wpisy; // połączone za pomocą kropki
  11. file_put_contents('wpisy.txt', $wpisy);
  12. ?>

file_get_contents i file_put_contents są o wiele łatwiejsze według mnie(sam się wciąż uczę więc te moje poprawki się pewnie gdzieś wykrzaczą.sorry tongue.gif)
Mam nadzieję ze pomogłem.
gregov0
ok dzieki juz rozumiem no i faktycznie jest prosciej, teraz jeszcze szukam i szukam czytam i czytam kombinuje i nie moge znalesc jak zrobic aby wyswietlany tekst byl na d folmularzem:(
fiszol
includuj go na początku a nie na końcu smile.gif
emajl22
zamienić kolejność? sciana.gif
gregov0
o kurczaki tepy jestem faktycznie sciana.gif wstydnis.gif az mi wstyd
ok to mam jeszcze jeden problem zw z wyswietlaniem moze jakas porada jak zmodyfikowac skrypt zeby kazdy wpis byl w nowej lini??
fiszol
  1. $wpisy = "\n".$addsb.$wpisy;
gregov0
kolejny problem z shoutboxem ,z waszapomoca doprowadzilem moj skrypt do takiej formy ze mam go juz w dwoch plikach
shoutbox_dodaj.php
  1. <?php ob_start(); ?>
  2. <head>
  3. <meta http-equiv="Refresh" content="1"; URL=shoutbox_pokaz.php">
  4. </head>
  5. <?php
  6. $nick = $_POST['nick'];
  7. $message = $_POST['message'];
  8. $addsb = "<br><b>Nick: </b>$nick<br>Wiadomosc: $message" ;
  9. $wpisy = file_get_contents('wpisy.txt');
  10. $wpisy = "\n".$addsb.$wpisy;
  11. file_put_contents('wpisy.txt', $wpisy);
  12. header("Location:".$_SERVER['HTTP_REFERER']);
  13. ?>
  14. <?php ob_end_flush(); ?>

shoutbox_pokaz.php
  1. <body>
  2. <div style="width: 196px; height: 200px; overflow: auto;background-color: #FFF;scrollbar-arrow-color:red;scrollbar-base-color:black;content:10;">
  3.  
  4. <?php
  5. //odczyt z pliku i wyswietlenie
  6. $wpisy = file_get_contents('wpisy.txt');
  7. echo $wpisy;
  8. ?>
  9. </div>
  10. <form method="POST" action="shoutbox_dodaj.php">
  11. <br>nick<input type="text" maxlength="30" name="nick" /></p></br>
  12. tresc<input type="text" maxlength="100" name="message" /></p><br>
  13. <input type="submit" value="Wyślij" /></p>
  14. </form>
  15.  
  16. </body>


jak dzialaja chyba nie musze tlumaczyc . a teraz do sedna wzystko wyswietla sie bardzo fajnie tylko jest taki problem ze przykladowo pracuje na jednej przegladarce to widze wszystko co sie wyswietlilo ale jak juz przelacze na druga to wpisy wyswietlaja sie dopiero po odswiezeniu strony.Jak mam to rozwiazac zeby wpisy byly widoczne bez koniecznosci odswierzania? Próbowalem urzyc "Refresh" jakies propozycje czy to jest wogule mozliwe do zrealizowania ?

Przepraszam ze pisze post pod postem ale zalezy mi na uzyskaniu odpowiedzi ktorej do tej pory nie znalazlem
ciekawskiii
Propozycja: kup sobie slownik
gregov0
Cytat(ciekawskiii @ 21.01.2011, 00:03:23 ) *
Propozycja: kup sobie slownik

dobra spoko kupie , ale czy to forum z j.polskiego? raczej nie o ortografi poszukam na wlasciwym do tego forum bo tutaj raczej nie o tym sie rozmawia. Ja szukam pomocy /rady z php .
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.