ďťż

[HTML/PHP] System dodawania newsów metodą POST - co sknociłem?

       

Podstrony


telcocafe

Witam. 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
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.