Draqun
Użytkownik
- Dołączył
- Sierpień 27, 2007
- Posty
- 67
Jestem jeszcze noobkiem w programowaniu ale mam zrobić na infe stronkę która to będzie prosić o logowanie - potem wypisanie newsa i wywalenie go na stronie głównej. Mam już większość zrobione, jednak nie chce mi to wogóle zapisywac newsów do pliku.
aktualnosci_dodaj
aktualnosci
index
Logowanie
aktualnosci_dodaj
Kod:
<?php
//jak jest parametr $_POST['haslo'] i jest w nim słowo 'tajne' to logujemy
if (isset($_POST['haslo']) && $_POST['haslo']=='tajne') $_SESSION['zalogowany']=true;
//jeśli nie jesteśmy zalogowani, to wyświetlamy skrypt logowanie.php
if (!isset($_SESSION['zalogowany']) || $_SESSION['zalogowany']==false)
{
include('logowanie.php');
return;
}
//jak jest pole autor, tzn. że przesyłamy formularz
if (isset($_POST['autor']))
{
//dostosowujemy wszystkie pola
$_POST['autor']=konwertuj($_POST['autor']);
$_POST['tytul']=konwertuj($_POST['tytul']);
$_POST['tresc']=konwertuj($_POST['tresc']);
$_POST['zrodlo']=konwertuj($_POST['zrodlo']);
//kontrolujemy poprawność
$blad='';
if (strlen($_POST['tresc'])<10 || strlen($_POST['tresc'])>1024) $blad='Treść niusa ma nieprawidłową długość!';
if (strlen($_POST['tytul'])<10 || strlen($_POST['tytul'])>200) $blad='Tytuł niusa ma nieprawidłową długość!';
if (strlen($_POST['zrodlo'])<2 || strlen($_POST['zrodlo'])>20) $blad='Źródło ma nieprawidłową długość!';
if (strlen($_POST['autor'])<3) $blad='Źle wprowadzono informacje o autorze!';
if ($blad!='') info($blad,'blad');
else
{ //zapisujemy dane do pliku
if (file_exists('wpisy.txt')) $dane=file('wpisy.txt'); else $dane=array();
if ($plik=fopen('wpisy.txt','w'))
{
flock($plik,LOCK_EX);
fputs($plik,"<table border='0'>");
fputs($plik,"<tr><td>[b]$_POST[tytul][/b]</td></tr>");
fputs($plik,"<tr><td>[i]$_POST[tresc][/i]</td></tr>");
fputs($plik,"<tr><td>[b]Autor:[/b]$_POST[autor]</a></td><td align='right'>[b]Źródło:[/b]$_POST[zrodlo]</td></tr>");
fputs($plik,"</table><hr />");
for ($i=0;$i<count($dane);$i++) fputs($plik,$dane[$i]."\r\n");
flock($plik,LOCK_UN);
fclose($plik);
info('Twój news został zapisany.','ok');
}
}
} else
{
$_POST['autor']='';
$_POST['tresc']='';
$_POST['tytul']='';
$_POST['zrodlo']='';
}
?>
<h1>Dodaj nowy nius<hr /></h1>
<form action="index.php" method="POST">
<input type="hidden" name="pokaz" value="aktualnosci_dodaj" />
<table border="0">
<tr><td>Tytuł:</td><td><input size="30" type="text" name="tytul" value="<?php echo $_POST['tytul']; ?>" /></td></tr>
<tr><td>Treść:</td><td><textarea cols="40" rows="5" name="tresc"><?php echo $_POST['tresc']; ?></textarea></td></tr>
<tr><td>Źródło:</td><td><input size="30" type="text" name="zrodlo" value="<?php echo $_POST['zrodlo']; ?>" /></td></tr>
<tr><td>Autor:</td><td><input size="30" type="text" name="autor" value="<?php echo $_POST['autor']; ?>" /></td></tr>
<tr><td></td><td><input type="submit" value="Dodaj nowy nius" /></td></tr>
</table>
</form>
aktualnosci
Kod:
<h1>Aktualności<hr /></h1>
<?
if(file_exists('wpisy.txt'))
readfile('wpisy.txt');
else print('Brak pliku z wpisami.');
?>
[ [url="index.php?pokaz=aktualnosci_dodaj"]Dodaj nowy nius[/url] ]
index
Kod:
<?php
//dołączamy plik z funkcjami
include("functions.php");
//dozwolone skrypty PHP
$dozwolone=array('aktualnosci','aktualnosci_dodaj');
//pobieramy parametr pokaz
if (isset($_GET['pokaz'])) $pokaz=$_GET['pokaz']; else $pokaz=$dozwolone[0];
if (isset($_POST['pokaz'])) $pokaz=$_POST['pokaz'];
//jak jest w nim znak kropki - wyświetlamy domyślny skrypt
if (strpos($pokaz,'.')!==false) $pokaz=$dozwolone[0];
//jak jest skrypt .PHP i jest to dozwolony PHP - zapamiętujemy pełną
//nazwę pliku. Jak nie - tworzymy nazwę pliku z katalogu html i z rozszerzeniem htm
if (file_exists($pokaz.'.php') && in_array($pokaz,$dozwolone)) $pokaz.='.php';
else $pokaz='html/'.$pokaz.'.htm';
//dołączamy nagłówek
include('top.php');
//dołączamy wybrany skrypt lub wyświetlamy komunikat o błędzie
if (file_exists($pokaz)) include($pokaz); else info('Nie znaleziono pliku.','blad');
//dołączamy stopkę
include('bottom.php');
?>
Logowanie
Kod:
<h1>Logowanie<hr /></h1>
<?php
//jak jest pole $_POST['haslo'], tzn. że przesyłaliśmy
//ten formularz i się nie zalogowaliśmy, czyli podaliśmy błędne hasło
if (isset($_POST['haslo'])) info('Podano złe hasło!','blad');
?>
<form action="index.php" method="POST">
<input type="hidden" name="pokaz" value="aktualnosci_dodaj" />
<table border="0">
<tr><td>Proszę podać hasło:</td><td><input size="30" type="password" name="haslo" value="" /></td></tr>
<tr><td></td><td><input type="submit" value="Zaloguj" /></td></tr>
</table>
</form>