Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kod php
d12
post
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.08.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Cze mam problem dotyczący księgi gości. Chodzi mi oto że po włączeniu strony pisze mi
Dodaj wpis

Liczba wpisów: 1 <-- i to jest ok. Ale wpisy nie są wyświetlane tylko pisze mi:
"Warning: Failed opening 'dane.txt' for inclusion (include_path='apacheincludes;apachehtdocs;apachehtdocsphpmyadmin') in c:apacheusersksgbook.php on line 41". Ciekawe jest to że księga poprawnie działa na serwie internetowym a na apachu nie chce. Dlaczego tak się dzieje?

Oto kod pliku gbook.php:

[php:1:9672e7b61b]
<html>

<head>

<title>Gbook</title>

<link rel="stylesheet" href="style.css" type="text/css">

<meta http-equiv="Content-Language" content="pl">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

<head>

<body>






<center>
<a href="dodaj_wpis.php">Dodaj wpis</a><br>

<?
$ilosc=0;
$plik=file("dane.txt");
for ($li=0; $li < count($plik); $li++)
{
$ilosc=$ilosc+1;
}

echo "<center>Liczba wpisów: $ilosc</center>";

?>

<br><br>
<?php
include("$dane.txt");
?>


</center>






</body>

</html>

[/php:1:9672e7b61b]
Odrazu mówie posiadam plik dane.txt!


--------------------
Pozdro D12
GG: 5455157; Email: redakcja@motoweb.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
squid
post
Post #2





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

Ostrzeżenie: (0%)
-----


[quote="d12"]
[php:1:4aeadd57c4]
$plik=file("./dane.txt");

[/php:1:4aeadd57c4]
a tak dziala?


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post
maggot
post
Post #3





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 7.05.2002
Skąd: Sz-n/Wroc/Wawa

Ostrzeżenie: (0%)
-----


w 38 linij usun znak $

ps.
po co wyczyniasz takie cuda?
[php:1:0776355893]<?php
for ($li=0; $li < count($plik); $li++)
{
$ilosc=$ilosc+1;
}
?>[/php:1:0776355893]

nie latwiej
[php:1:0776355893]<?php
$ilosc = count($plik);
?>[/php:1:0776355893]


--------------------
/maggot/
Go to the top of the page
+Quote Post
mhs
post
Post #4





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


poza tym mozesz taki blad obluzyc:

[php:1:c25d4abf84]<?php
if (file_exists("plik")) {
//dalszy kod, jezeli plik istnieje...
}
else {
echo "Nie mozna w tej chwili dokonac zapisu.";
//tutaj kod wysylajacy maila do Ciebie z powiadomieniem o zaistnialym problemie
}
?>[/php:1:c25d4abf84]
Go to the top of the page
+Quote Post
d12
post
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.08.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Niestety tylko rada mhs poskutkowała, pisze mi nie można w tej chwili Nie mozna w tej chwili dokonac zapisu. Jednak dalej zastanawia mnie to że księga poprawnie działa na serwerze internetowym.


--------------------
Pozdro D12
GG: 5455157; Email: redakcja@motoweb.pl
Go to the top of the page
+Quote Post
mhs
post
Post #6





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


Hmm… przedstaw dokladnie jak w tej chwili wyglada Twoj kod programu… moze wtedy cos sie wiecej poradzi…

maggot miał racje jezeli chodzi o 38. linie… i oczywiscie o niepotrzebna petle…

a czy przypadkiem skrypt ktory obsluguje ksiege gosci znajduje sie w tym samym katalogu co plik dane.txt
Go to the top of the page
+Quote Post
d12
post
Post #7





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.08.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Pliku style nie podaje bo to nie ma sensu. Wszystkie pliki znajdują się w jednym katalogu. Plik dane.txt zostaje utomatycznie zaktualizowany po dodaniu wpisu do księgi gości. Jesteście w stanie mi pomóc?


--------------------
Pozdro D12
GG: 5455157; Email: redakcja@motoweb.pl
Go to the top of the page
+Quote Post
mhs
post
Post #8





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


Hmmm… jeżeli chodzi o Twój główny problem to u mnie widzi plik i wszystko jest ok. – nie wiem gdzie może leżeć wina….

Jeżeli chodzi o plik gbook.php to wystarczy, że Twój cały kod zostanie zamieniony na poniższy:

[php:1:925b46f585]<?php
$nazwaPliku = "dane.txt";

if (file_exists($nazwaPliku)) {
$plik = file($nazwaPliku);
echo "<center>Liczba wpisow: ".count($plik)."</center>";
}
else {
echo "Nie można dokonać zapisu.";
}

?>[/php:1:925b46f585]

czy nie ładniej i szybciej?

jeżeli natomiast chodzi o plik dodany.php to szczególnie go nie analizowałem, ale rzuciło mi się kilka rzeczy, które są do poprawy...


0)
w wierszu 27. powinno być chyba addslashes()... zamiast stripslashes()

1)
[php:1:925b46f585]<?php
$wpis=ereg_replace("<","&lt;",$wpis);
$wpis=ereg_replace(">","&gt;",$wpis);
$wpis=ereg_replace("(rn|n|r)", "<br>",$wpis);
?>[/php:1:925b46f585]
poczytaj o funkcjach:
[manual:925b46f585]
htmlspecialchars()
[/manual:925b46f585]

[manual:925b46f585]
nl2br()
[/manual:925b46f585]


2)
te czterdzieści pare linijek w których zamieniasz ikonki pasowało by jakoś puścić w pętlę, gdyż co będzie jeżeli tych ikonek będziesz miał więcej...questionmark.gif możesz wykorzystać do tego tablice...

3)
w pliku dane.txt przechowuj raczej tylko i wyłącznie dane, które wpisali użytkownicy a nie również znaczniki formatujące stronkę...

4)
na stronce głównej, tzn. gbook pojawia się 10 razy tyle wpisów ile zostało dokonanych w księdze gdyż jeden wpis w pliku dane.txt jest zapisany w 10 wierszach...
Go to the top of the page
+Quote Post
d12
post
Post #9





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.08.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Dzięki waszej wspólnej pomocy udało mi się znaleźć błąd i go usunąć brakowało znaku ./. Tak nawiasem mówiąc nie ma ktoś z was skryptu na blokowanie wpisu do księgi gości (żeby można było wpisywać się co 24h)?


--------------------
Pozdro D12
GG: 5455157; Email: redakcja@motoweb.pl
Go to the top of the page
+Quote Post
mhs
post
Post #10





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


[php:1:157d13a5de]<?php
if ($_COOKIE['ksiega'] == true) {
//uzytkownik ten dokonal wpisu do ksiegi gosci...
}
else {
//w przeciwnym wypadku umozliwiasz komus wpis do ksiegi gosci...
//na koniec skryptu wpisujacego dane do ksiegi robisz cos takiego;
setcookie("ksiega", 1, time() + 86400);
}

?>[/php:1:157d13a5de]
Go to the top of the page
+Quote Post
d12
post
Post #11





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.08.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Sorka mhs ale ten skrypt na cookie nie działa. Poprostu nie blokuje wpisów. Dlaczego tak się dzieje? Umieszczam go w pliku dodany.php.


--------------------
Pozdro D12
GG: 5455157; Email: redakcja@motoweb.pl
Go to the top of the page
+Quote Post
mhs
post
Post #12





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


[php:1:52c73f411f]<?php
if ($_COOKIE['ksiega'] != true) {
//tutaj reszte Twojego kodu
if (!file_exists("$plik.txt"))
{
$newfile=fopen("$plik.txt","w+");
fclose($newfile);
}

$read=fopen("$plik.txt", "r+");
$fileread=fread($read, filesize("$plik.txt"));

fclose($read);
$pasek=stripslashes($pasek);
fputs (fopen("$plik.txt", "r+"), "$pasekn$fileread");


setcookie("ksiega", 1, time() + 86400);
}
else {
echo "Wpisales sie juz do ksiegi gosci.";
}?>[/php:1:52c73f411f]

umiesc to na samym poczatku zanim wyswietlisz cokolwiek na stronie...
najpierw dokonaj zapisu i ustaw ciastko a pozniej wyswietl stronke, gdyz wywolanie funkcja setcookie() musi nastapic przez wyslaniem informacji na www
powyzszy kod chyba bedzie poprawny - chyba, gdyz nie przeprowadzalem dokladnych testow

poza tym pocztytaj o tej funkcji i ciasteczkach - to jest proste :!:
Go to the top of the page
+Quote Post
d12
post
Post #13





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.08.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Mhs wiem że się powtarzam ale zastosowałem się do wszystkich twoich rad i niestety dalej można się wpisywać ile razy się chce. Możesz sam przetestować!


--------------------
Pozdro D12
GG: 5455157; Email: redakcja@motoweb.pl
Go to the top of the page
+Quote Post
mhs
post
Post #14





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


ech.... za kazdym razem gdy biore sie za swoj projekt odciagasz mnie od niego... biggrin.gif, ale do rzeczy...
gbook.php :arrow: bez zmian

dodaj wpis :arrow: nizej
[php:1:746d64df6e]<?php
<?
if ($_COOKIE['ksiega'] != 1) {
?>
<html>
<head>
<title>Gbook</title>
<link rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="Content-Language" content="pl">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<head>
<body>

<center>
<form method="post" action="dodany.php" name=form>
<table border="0" cellpadding="1" cellspacing="1" bordercolor="#000000" width="350">

<tr>
<td width="75" align="right">Nick:</td>
<td><input type="text" name="nick" tabindex="1" size="20" style="font-family:
Verdana; font-size: 7pt; width: 200"></td>
<td width="75"></td>
</tr>

<tr>
<td width="75" align="right">E-mail:</td>
<td><input type="text" name="mail" tabindex="2" size="20" style="font-family:
Verdana; font-size: 7pt; width: 200"></td>
<td width="75"></td>
</tr>

<tr>
<td width="75" align="right">WWW: http://</td>
<td><input type="text" name="www" tabindex="3" size="20" style="font-family:
Verdana; font-size: 7pt; width: 200"></td>
<td width="75"></td>
</tr>

<tr>
<td align="center" colspan="3">Twój wpis:</td>
</tr>

<tr>
<td align="center" colspan="3"><textarea name="wpis" tabindex="4" rows="8" cols="60"
style="font-family: Verdana; font-size: 7pt; width: 350"></textarea>

<br>
<a href="java script://" onclick="document.form.wpis.value+='[:emot01:]'"><img
src="emots/01.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot02:]'"><img
src="emots/02.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot03:]'"><img
src="emots/03.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot04:]'"><img
src="emots/04.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot05:]'"><img
src="emots/05.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot06:]'"><img
src="emots/06.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot07:]'"><img
src="emots/07.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot08:]'"><img
src="emots/08.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot09:]'"><img
src="emots/09.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot10:]'"><img
src="emots/10.gif" border=0></a>
<br>
<a href="java script://" onclick="document.form.wpis.value+='[:emot11:]'"><img
src="emots/11.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot12:]'"><img
src="emots/12.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot13:]'"><img
src="emots/13.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot14:]'"><img
src="emots/14.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot15:]'"><img
src="emots/15.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot16:]'"><img
src="emots/16.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot17:]'"><img
src="emots/17.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot18:]'"><img
src="emots/18.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot19:]'"><img
src="emots/19.gif" border=0></a>
<a href="java script://" onclick="document.form.wpis.value+='[:emot20:]'"><img
src="emots/20.gif" border=0></a>
<br>
</td>
</tr>
<tr>
<td width="75"></td>
<td align="center"><input type="submit" value="Dodaj" style="font-family: Verdana;
font-size: 7pt; width: 150"></td>
<td width="75"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
<?
}
else {
echo "Jest Twoj wpis.";
}

?>[/php:1:746d64df6e]

dodany.php :arrow: nizej
[php:1:746d64df6e]<?php
<?
if ($_COOKIE['ksiega'] != 1) {
$data=date("d.m.Y");
$ip=$REMOTE_ADDR;

$wpis=stripslashes($wpis);
$wpis=ereg_replace("<","&lt;",$wpis);
$wpis=ereg_replace(">","&gt;",$wpis);
$wpis=ereg_replace("(rn|n|r)", "<br>",$wpis);

$wpis=str_replace("[:emot01:]","<img src="emots/01.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot02:]","<img src="emots/02.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot03:]","<img src="emots/03.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot04:]","<img src="emots/04.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot05:]","<img src="emots/05.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot06:]","<img src="emots/06.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot07:]","<img src="emots/07.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot08:]","<img src="emots/08.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot09:]","<img src="emots/09.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot10:]","<img src="emots/10.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot11:]","<img src="emots/11.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot12:]","<img src="emots/12.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot13:]","<img src="emots/13.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot14:]","<img src="emots/14.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot15:]","<img src="emots/15.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot16:]","<img src="emots/16.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot17:]","<img src="emots/17.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot18:]","<img src="emots/18.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot19:]","<img src="emots/19.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot20:]","<img src="emots/20.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot21:]","<img src="emots/21.gif" align="absmiddle"
border="0">",$wpis);
$wpis=str_replace("[:emot22:]","<img src="emots/22.gif" align="absmiddle"
border="0">",$wpis);

$pasek="<center><table border="0" cellpadding="1" cellspacing="1"
bordercolor="#000000" width="350"><tr><td width="75"
align="right">Nick:</td><td width="200"><a href="mailto:$mail">$nick</td><td
width="75"></td></tr><tr><td width="75" align="right">WWW:</td><td
width="200"><a href="http://$www" target="_blank">$www</a></td><td
width="75"></td></tr><tr><td width="75" align="right">Data:</td><td
width="200">$data</td><td width="75"></td></tr><tr><td width="75"
align="right">IP:</td><td width="200">$ip</td><td width="75"></td></tr><tr><td
colspan="3" width="350" valign="top"><br>$wpis</td></tr><tr><td colspan="3"
width="350" colspan="2"><hr size="1"></td></tr></table></center>";

$plik="dane";
if (!file_exists("$plik.txt"))
{
$newfile=fopen("$plik.txt","w+");
fclose($newfile);
}

$read=fopen("$plik.txt", "r+");
$fileread=fread($read, filesize("$plik.txt"));

fclose($read);
$pasek=stripslashes($pasek);
fputs (fopen("$plik.txt", "r+"), "$pasekn$fileread");

setcookie("ksiega", 1, time() + 86400);

$komunikat = "$nick, dzięki za dodanie wpisa.<br><br><a href="gbook.php">Wstecz</a>";
}
else {
echo "Dodales wpis.";
}
?>
<html>
<head>
<title>Gbook</title>
<link rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="Content-Language" content="pl">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<head>
<body>
<center>
<?
echo $komunikat;
?>
</center>
</body>
</html>
?>[/php:1:746d64df6e]

zrobione to troche od lopaty, ale chodzi....

aha i jeszcze jedno: to sa wczorajsze pliki bez specjalnych poprawek - tylko dodane ciasteczka....
Go to the top of the page
+Quote Post
adwol
post
Post #15





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
zrobione to troche od lopaty, ale chodzi....

Faktycznie od łopaty... Trochę krótsza wersja: :wink:
[php:1:f05e6fb709]<?php
if ($_COOKIE['ksiega'] != 1)
{
$data = date("d.m.Y");
$ip = $_SERVER['REMOTE_ADDR'];

$wpis = nl2br(htmlspecialchars(stripslashes($wpis)));

for ($i = 1; $i <= 22; $i++)
$wpis = str_replace(sprintf("[:emot%02d:]", $i), sprintf("<img src="emots/%
02d.gif" align="absmiddle" border="0">", $i), $wpis);

$pasek="<center><table border="0" cellpadding="1" cellspacing="1"
bordercolor="#000000" width="350"><tr><td width="75"
align="right">Nick:</td><td width="200"><a href="mailto:$mail">$nick</t
d><td
width="75"></td></tr><tr><td width="75" align="right">WWW:</td><td
width="200"><a href="http://$www" target="_blank">$www</a></td><td
width="75"></td></tr><tr><td width="75" align="right">Data:</td><td
width="200">$data</td><td width="75"></td></tr><tr><td width="75"
align="right">IP:</td><td width="200">$ip</td><td width="75"></td></tr>
<tr><td
colspan="3" width="350" valign="top"><br>$wpis</td></tr><tr><td colspan
="3"
width="350" colspan="2"><hr size="1"></td></tr></table></center>";

$plik="dane";

if (file_exists("$plik.txt"))
{
$fp = fopen("$plik.txt", "r+");
$fileread = fread($fp, filesize("$plik.txt"));
fseek($fp, 0, SEEK_SET);
}
else
$fp = fopen("$plik.txt", "w");

$pasek = stripslashes($pasek);
fwrite($fp, "$pasekn$fileread");
fclose($fp);

setcookie("ksiega", 1, time() + 86400);
$komunikat = "$nick, dzięki za dodanie wpisa.<br><br><a href="gbook.php">Wst
ecz</a>";
}
else {
$komunikat = "Już dodales wpis.";
}
?>
<html>
<head>
<title>Gbook</title>
<link rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="Content-Language" content="pl">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<head>
<body>
<center>
<?= $komunikat ?>
</center>
</body>
</html>
[/php:1:f05e6fb709]
Go to the top of the page
+Quote Post
mhs
post
Post #16





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


jezeli chodzi o pliki, ktore w poprzednim poscie podalem to oprocz ciastek reszta kodu jest P. d12

ps. sorki, ale mi sie nie chcialo siedziec i poprawiac kodu aby wygladalo to lepiej, krocej i szybciej... wiec od d12 naleza Ci sie BIG podziekowania smile.gif
Go to the top of the page
+Quote Post
d12
post
Post #17





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.08.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Jestem 100% pewny że coś jest nie tak z kodem na cookie w dodany.php, ponieważ nie wyświetla mi strony. Z dodaj_wpis.php także był trzeba było usunąć {. Ale dalej jest coś nie tak z cookie w dodany.php


--------------------
Pozdro D12
GG: 5455157; Email: redakcja@motoweb.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:36