ďťż
Podstrony
|
telcocafeWitam. mam system newsów, który wyświetla pliku z folderu "art", wyświetla wszystkie, segregując je według daty utworzenia pliku. Napisałem skrypt, kóry ma tworzyć plik o określonej naźwie i treści:<?php $plik=fopen('art/'.$_POST['plik'].'.html', 'a'); flock($plik, LOCK_EX); fputs($plik, $_POST['tytul'].'</ br>' .$_POST['tresc'].'<p style="text-align: right;"><a href="mailto: '.$_POST['email'].'">'.$_POST['autor']. '</a></p>' ); flock($plik, LOCK_UN); fclose($plik); ?> <h2>System pisania newsów</h2> <form action="index.php?pokaz=napisz" method="post"> <table> <tr><td>Tytuł newsa:</td><td><input type="text" name="user" value="<?php echo $_POST['tytul']; ?>"></td></tr> <tr><td>Treść newsa:</td><td><textarea><?php echo $_POST['tresc']; ?></textarea></td></tr> <tr><td>Autor:</td><td><input type="text" name="user" value="<?php echo $_POST['autor']; ?>"></td></tr> <tr><td>E-mail:</td><td><input type="text" name="user" value="<?php echo $_POST['email']; ?>"></td></tr> <tr><td>Nazwa pliku:</td><td><input type="text" name="user" value="<?php echo $_POST['plik']; ?>"></td></tr> <tr><td></td><td><input type="submit" value="Zapisz newsa" /></td></tr> </table> </form> Tylko czemu tworzy plik bez nazwy, ale dodaje pusty (nie licząc ustalonych z góry treści(<a href...)) SAle za to plik robi coś, czego w Windowsie zrobić nie można - utworzyć plik bez nazwy XD Użytkownik bartek_kawa edytował ten post 12 sierpień 2006, 20:57 W każdym polu input masz name="user" ło, Jezu :) Kopiowałem znaczniki z innego formularza ;) A nie wiesz przypadkiem jak w fputs zrobić kolejną linię? Użytkownik bartek_kawa edytował ten post 12 sierpień 2006, 21:14 A nie wiesz przypadkiem jak w fputs zrobić kolejną linię? Rozumiem, że chodzi ci o przejście do nowej, pustej linii: dajesz \n A najlepiej od razu \r\n A najlepiej od razu \r\n A jak to dodać do funkcji? Jak daje to w pojedyncze nawiasy, to dodaje "\r\n", a jak daję bez nawiasów - wyskakuje błąd. :blink: Normalnie dopisujesz do treści: 'jakis tam tekst\na to juz bedzie w nowe lini' Normalnie dopisujesz do treści: 'jakis tam tekst\na to juz bedzie w nowe lini' W tym sęk, że ma tak w skrypcie omawianym tu jest: fputs($plik, $_POST['tytul'].'</ br>' Jak zamiast </ br> to wstawić? Zamiast </ br> masz wpisać \n Zamiast </ br> masz wpisać \n No tyle to ja wiem. Ale jak wstawiam to w cudzysłów pojedynczy, to dodaje "\n" Do pliku, nie nową linijkę. No tyle to ja wiem. Ale jak wstawiam to w cudzysłów pojedynczy, to dodaje "\n" Do pliku, nie nową linijkę. To daj w podwójny Dobra, nie będę nowego tematu zakładać. Mam problem z tym skryptem. Rozbudowałem go, o pole z hasłem. Jeśli hasło == mojemu_hasłu dodaj newsa. Więc, czemu nie chce mi tego skompilować? <?php if ($_POST['password'] == 'moje_tajne_haslo') $plik=fopen('art/'.$_POST['plik'].'.html', 'a'); flock($plik, LOCK_EX); fputs($plik, $_POST['tytul']."\n".$_POST['tresc'].'< p style="text-align: right;"><a href="mailto: '.$_POST['email'].'">'.$_POST['autor']. '</a></p>'); flock($plik, LOCK_UN); fclose($plik); else echo("Nosz kurde, złe hasło!"); ?> <h2>System pisania newsów</h2> <form action="index.php?pokaz=napisz" method="post"> <table> <tr><td>Tytuł newsa:</td><td><input type="text" name="tytul" value="<?php echo $_POST['tytul']; ?>"></td></tr> <tr><td>Treść newsa:</td><td><textarea name="tresc"><?php echo $_POST['tresc']; ?></textarea></td></tr> <tr><td>Autor:</td><td><input type="text" name="autor" value="<?php echo $_POST['autor']; ?>"></td></tr> <tr><td>E-mail:</td><td><input type="text" name="email" value="<?php echo $_POST['email']; ?>"></td></tr> <tr><td>Nazwa pliku:</td><td><input type="text" name="plik" value="<?php echo $_POST['plik']; ?>"></td></tr> <tr><td>Podaj hasło:</td><td><input type="password" name="password" value="<?php echo $_POST['password']; ?>"></td></tr> <tr><td></td><td><input type="submit" value="Zapisz newsa" /></td></tr> </table> </form> if ($_POST['password'] == 'moje_tajne_haslo'){ $plik=fopen('art/'.$_POST['plik'].'.html', 'a'); flock($plik, LOCK_EX); fputs($plik, $_POST['tytul']."\n".$_POST['tresc'].'< p style="text-align: right;"><a href="mailto: '.$_POST['email'].'">'.$_POST['autor']. '</a></p>'); flock($plik, LOCK_UN); fclose($plik); } else echo("Nosz kurde, złe hasło!"); Wypadałoby wskazać konstrukcji IF co ma wykonać jeśli hasło jest dobre? Powinieneś dać instrukcje w nawiasie klamrowym po if, czyli: if ($_POST['password'] == 'moje_tajne_haslo') { $plik=fopen('art/'.$_POST['plik'].'.html', 'a'); flock($plik, LOCK_EX); fputs($plik, $_POST['tytul']."\n".$_POST['tresc'].'< p style="text-align: right;"><a href="mailto: '.$_POST['email'].'">'.$_POST['autor']. '</a></p>'); flock($plik, LOCK_UN); fclose($plik); } else echo("Nosz kurde, złe hasło!"); Edit: Sory, ale nie zauważyłem, że wyżej jest to samo. Użytkownik Lukin edytował ten post 13 sierpień 2006, 21:14 |
|||
Sitedesign by AltusUmbrae. |