"zrobilem" prosta ksiege gosci ale podczas proby zapisu posta do pliku, pokazuje sie blad:
Cytat
Warning: fwrite(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\ksiega gosci\wynik.php on line 60
Nie moge zapisac pliku
to plik: index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-2" />
<title>Księga gości</title>
</head>
<body xml:lang="pl">
<form action="index.php" method="post">
Nick: <input type="text" name="nick" /><br />
Wpisz swoj komentarz:<br />
<textarea name="komentarz" cols="20" rows="10"></textarea><br />
Mail: <input type="text" name="mail" /><br />
WWW: <input type="text" name="www" />
<button type="submit">Wyślij</button>
</form>
<?
require('dodaj.php');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Dodawanie wpisu
if(zapiszPost($_POST['nick'], $_POST['komentarz'], $_POST['mail'], $_POST['www']))
{
echo '<p>Dziękujemy, wpis został dodany.</p>'; }
else
{
echo '<p>Proszę wypełnić prawidłowo formularz.</p>'; }
echo '<p><a href="index.php">Powrót</a></p>'; }
else
{
if($liczba_postow != 0)
{
for($i=0; $i<$liczba_postow; $i++)
{
$wiersz = explode("\t", $post[$i]); echo "Nick: " .$wiersz[0]. "<br />"; echo "Komentarz: " .$wiersz[1]. "<br />"; echo "Email: " .$wiersz[2]. "\t WWW: " .$wiersz[3]."<br />"; }
}
else
{
echo "Brak postów w księdze gości"; }
}
?>
</body>
</html>
a to plik: dodaj.php
<?
define("PLIK", "./wpisy.txt"); function zapiszPost($nick, $komentarz, $mail, $www)
{
// pozbycie sie pustych znakow
$nick = trim($nick); $komentarz = trim($komentarz); $mail = trim($mail); $www = im
($www); //sprawdzenie poprawnosci danych
{
}
if(strlen($mail) < 6
&& eregi('^[a-zA-z0-9_]+@[a-zA-z0-9-]+.[a-zA-z0-9-.]+ , $mail)) {
return false; exit;
}
if(strlen($www) > 7 )
{
// Jesli adres nie zaczyna sie od http:// to dodaj to
if(strpos($www, 'http://') !== 0)
{
$www = 'http://'.$www;
}
}
else
{
}
// zapisaywanie informacji
if(chmod(PLIK, 0777) == FALSE)
{
echo "<b>Nie</b> udało się nadać prawa dostępu plikowi(".$plik.").<br />"; exit; }
if(fopen(PLIK
, 'r+') == FALSE) {
echo "Próba otwarcia pliku " .$plik. "<b> nie</b> powiodła się<br />"; exit; }
$post = $nick."\t".$komentarz."\t".$mail."\t".$www."r\n";
if(fwrite(PLIK
, $post) == FALSE) {
echo "Nie moge zapisac pliku " .$plik. "<br />"; }
}
function podzielipoliczPost()
{
chmod(PLIK, 0777);
$liczba_postow = count($posty); return true; }
?>
Trochę historii...