![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 28.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Napisałem taki prosty kod:
Wpis jest dodawany do pliku, zapisywany itd. Nie działa odczyt lub wyświetlenie. Czy ktoś może mi pomóc w nauce ? Pozdrawiam, Radek |
|
|
-lukasamd- |
![]()
Post
#2
|
Goście ![]() |
Ja bym to zrobił tak:
Kod <html>
<head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <a href="<?php echo $_SERVER['PHP_SELF']; ?>?action=add">Dodaj swój wpis</a><br> <a href="<?php echo $_SERVER['PHP_SELF']; ?>">Pokaż wpisy</a> <?php $file = 'file.txt'; switch ($_GET['action']) { case 'add': echo '<form action="' . $_SERVER['PHP_SELF'] . '?action=write" method="POST"> <input type="text" value="wpisz nick" name="nick"><br> <textarea name="text">Wpisz swój tekst</textarea><br> <input type="submit" value="Wyślij"> <input type="reset" value="Wyczyść"> </form> <hr>'; break; case 'write': $nick = $_POST['nick']; $text = $_POST['text']; $wpisy = file_get_contents($file); $wpisy .= "\n" . $_POST['nick'] . '|' . $_POST['text']; file_put_contents($file, $wpisy); echo "Pomyślnie dodano wpis!"; break; default: $wpisy = explode("\n", file_get_contents($file)); $ilosc_wpisow = count($wpisy); for ($i = 0; $i < $ilosc_wpisow; $i++) { $wpis = explode('|', $wpisy[$i]); echo '<p>'; echo '<b>Autor:</b> ' . $wpis[0]; echo '<br />'; echo '<b>Wpis:</b>'; echo '<br />' . $wpis[1]; echo '</p><br />'; } break; } ?> </body> </html> |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 28.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki za otwarcie oczu.
Jest jedynie niewielki problem, z którym nie potrafie sobie poradzić. Podczas wyświetlania pliku dodawany jest na poczatku listy Autor: i Wpis: bez treści. Jak z tym sobie poradzić? |
|
|
-lukasamd- |
![]()
Post
#4
|
Goście ![]() |
Zmodyfikuj fragment default tak:
Kod default:
$wpisy = trim(file_get_contents($file)); $wpisy = explode("\n", $wpisy); $ilosc_wpisow = count($wpisy); if($ilosc_wpisow > 0) { for ($i = 0; $i < $ilosc_wpisow; $i++) { $wpis = explode('|', $wpisy[$i]); echo '<p>'; echo '<b>Autor:</b> ' . $wpis[0]; echo '<br />'; echo '<b>Wpis:</b>'; echo '<br />' . $wpis[1]; echo '</p><br />'; } } else { echo 'Brak wpisów'; } break; |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 28.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
ahh tez mogłem na to wpaść, dzieki (IMG:style_emoticons/default/smile.gif)
pojawił się jeszcze jeden mały problem: Cytat Notice: Undefined index: action in /Applications/MAMP/bin/mamp/test.php on line 13 błąd ten wyświetla się tylko przy oglądaniu wpisów linia 13:
Czy chodzi o to, że nie została przesłana wartość action przez GET? Czy jeżeli zrobie wyświetlanie wpisow wszedzie prócz action=write to bedzie ok? (mozna napisac osobna funkcje na wyswietlanie wpisow i dodać ją na koniec kodu ? |
|
|
-lukasamd- |
![]()
Post
#6
|
Goście ![]() |
Możesz napisać funkcję, nie ma z tym problemu.
A z komunikatem to zamień początek switch na: Kod $action = (isset($_GET['action'])) ? $_GET['action'] : 'none';
switch ($action) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 22:39 |