XxMichałxX Opublikowano 1 Czerwca 2009 Udostępnij Opublikowano 1 Czerwca 2009 Napisałem shoutbox, problem w tym, że posty nie dodają się, tylko cały plik z logiem się nadpisuje. Np był post: Żul: Siema co tam? Ja odpowiem: Mazo: A nic. A co u cie? i post Żula się usuwa a moj wchodzi. kod jest taki: $log=fopen('book_log.mws','r+'); //otwiera plik z logiem $nick=htmlspecialchars($nick); //zamienia znaki html z nicku jezeli sa na zwykly tekst $msg=htmlspecialchars($msg); //zamienia znaki html z msg-a jezeli sa na zwykly tekst $all="<b>".$nick.":</b> ".$msg."<br><br>"; //wsadza do $all koncowy kod posta $oth=fread($log,filesize($log)); //wsadza do $oth to co dotyhczas bylo w pliku $tow=$all.$oth; //wsadza do $tow: $all połączone z $oth fwrite($log,$tow); //wpisuje $tow do pliku Co tu poprawić? Bo dałem że ma pisać post + to co wczesniej bylo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 1 Czerwca 2009 Udostępnij Opublikowano 1 Czerwca 2009 'r' Otwiera tylko do odczytu; umieszcza wskaźnik pliku na jego początku. 'r+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku. 'w' Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego początku i obcina plik do zerowej długości. Jeśli plik nie istnieje to próbuje go utworzyć. 'w+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku i obcina plik do zerowej długości. Jeśli plik nie istnieje to próbuje go utworzyć. 'a' Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego końcu. Jeśli plik nie istnieje to próbuje go utworzyć. 'a+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego końcu. Jeśli plik nie istnieje to próbuje go utworzyć. 'x' Tworzy i otwiera plik tylko do zapisu; umieszcza wskaźnik pliku na jego początku. Jeśli plik juz istnieje, wywołanie fopen() nie powiedzie się, zwróci FALSE i wygeneruje błąd na poziomie E_WARNING. Jeśli plik nie istnieje, spróbuje go utworzyć. To jest równoważne z określeniem flag O_EXCL|O_CREAT stosowanym w wywołaniu systemowym open(2). 'x+' Tworzy i otwiera plik odczytu i zapisu; umieszcza wskaźnik pliku na jego początku. Jeśli plik juz istnieje, wywołanie fopen() nie powiedzie się, zwróci FALSE i wygeneruje błąd na poziomie E_WARNING. Jeśli plik nie istnieje, spróbuje go utworzyć. To jest równoważne z okresleniem flag O_EXCL|O_CREAT stosowanym w wywołaniu systemowym open(2). www.php.net ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 1 Czerwca 2009 Autor Udostępnij Opublikowano 1 Czerwca 2009 wiem czytałem to. i co to wnosi do tematu? mam przeciez r+ e: 'r+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku. raczej r+ bo ja niechce zeby mi (w+) obcinało plik do zerowej długosci, cokolwiek to znaczy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 2 Czerwca 2009 Udostępnij Opublikowano 2 Czerwca 2009 O, pardon, mój błąd. Myślałem, że to wina tego. Tak czy inaczej ładnie namotałeś w tym kodzie. A wystarczyłoby: <?php $plik = "log.txt"; // Nazwa pliku $file = fopen( $plik, "r+" ); // Otwieranie pliku do odczytu i zapisu fwrite( $file, "<b>".htmlspecialchars( $_GET['nick'] )."</b>: ".htmlspecialchars( $_GET['msg'] )."<br/>\r\n".file_get_contents( $plik ) ); // Zapisywanie w pliku odpowiedniego tekstu fclose( $file ); // Zamknięcie pliku ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 2 Czerwca 2009 Autor Udostępnij Opublikowano 2 Czerwca 2009 jest nadal tak samo. napisze "Mazo: no siema Mazo2" a potem "Mazo2: no siema Mazo1" i ten pierwszy post sie usunie a na jego miejsce wchodzi drugi od Mazo2. i jeszcze dodam jedno pytanie: Jaka jest funkcja w php tak jak w gm-ie string_count? edit: http://www.bymazo.yoyo.pl/book.php Hasło: haslonasb2 napiszcie cos i zobaczycie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 2 Czerwca 2009 Administratorzy Udostępnij Opublikowano 2 Czerwca 2009 Może masz spieprzony odczyt ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 2 Czerwca 2009 Autor Udostępnij Opublikowano 2 Czerwca 2009 Cały kod od send.php: <? $nick=$_POST['nick']; $msg=$_POST['msg']; $pass=$_POST['pass']; if ($pass!=='haslonasb2') { echo"<script language='JavaScript'>alert('Podałe¶ złe hasło! Wpisz prawidłowe!')</script>"; include('book.php'); exit; } if ($nick=='' || $msg=='') { echo"<script language='JavaScript'>alert('Które¶ z pól jest puste! Wypełnij je!')</script>"; include('book.php'); exit; } if (strlen($msg)>=301 || strlen($nick)>=21) { echo"<script language='JavaScript'>alert('Twoja wiadomo¶ć lub/i nick s± za długie! Skróć je!')</script>"; include('book.php'); exit; } $log=fopen('book_log.mws','r+'); fwrite($log,"<b>".htmlspecialchars($nick)."</b>: ".htmlspecialchars($msg)."<br/>\r\n".file_get_contents($log)); fclose($log); include('book.php'); echo"<script language='JavaScript'>alert('Post został dodany!')</script>"; ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 2 Czerwca 2009 Administratorzy Udostępnij Opublikowano 2 Czerwca 2009 $log=fopen('book_log.mws','r+'); fwrite($log,"<b>".htmlspecialchars($nick)."</b>: ".htmlspecialchars($msg)."<br/>\r\n".file_get_contents($log)); na $log=fopen('book_log.mws','r+'); fwrite($log,"<b>".htmlspecialchars($nick)."</b>: ".htmlspecialchars($msg)."<br/>\r\n".file_get_contents('book_log.mws')); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 2 Czerwca 2009 Autor Udostępnij Opublikowano 2 Czerwca 2009 ok, działa thx! a jeszcze ktos odpowie na to?: i jeszcze dodam jedno pytanie: Jaka jest funkcja w php tak jak w gm-ie string_count? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 2 Czerwca 2009 Udostępnij Opublikowano 2 Czerwca 2009 http://pl.php.net/manual/pl/function.substr-count.php Weź czasem poczytaj dokumentację... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 2 Czerwca 2009 Administratorzy Udostępnij Opublikowano 2 Czerwca 2009 ale mu biednemu konto zablokowalem na 12 godzin :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się