vendégkönyv
Sziasztok! Az itt található oldallal van némi gondom: link
A vendégkönyvet szeretném az oldalba beilleszteni, amit előzőleg a netről szedtem le.
Problémám az, hogy a vendégkönyv index.php néven van mentve. Ha beleírok, értelem szerűen frissülne az oldal az új tartalommal. De ekkor az én saját oldalam index oldala töltődik be. Megpróbáltam átnevezni a vendégkönyvet index.php-ről guest.php-ra.
Megnéztem a php forrást, hogy hol kéne szintén kijavítani az "index"-et guestra, de amiket próbáltam nem jöttek össze. Végignéztem a vendégkönyv php függvényeit, és a header() függvényt próbáltam módosítani, de így is ugyanaz maradt az eredmény. Mit kéne módosítanom, h a vendégkönyv ne index.php, hanem az említett pl. guest.php néven is működjön? Előre is köszi a tippeket!
Itt a forrás:
■ A vendégkönyvet szeretném az oldalba beilleszteni, amit előzőleg a netről szedtem le.
Problémám az, hogy a vendégkönyv index.php néven van mentve. Ha beleírok, értelem szerűen frissülne az oldal az új tartalommal. De ekkor az én saját oldalam index oldala töltődik be. Megpróbáltam átnevezni a vendégkönyvet index.php-ről guest.php-ra.
Megnéztem a php forrást, hogy hol kéne szintén kijavítani az "index"-et guestra, de amiket próbáltam nem jöttek össze. Végignéztem a vendégkönyv php függvényeit, és a header() függvényt próbáltam módosítani, de így is ugyanaz maradt az eredmény. Mit kéne módosítanom, h a vendégkönyv ne index.php, hanem az említett pl. guest.php néven is működjön? Előre is köszi a tippeket!
Itt a forrás:
<?php
ob_start();
?>
<?php
if (isset($_GET['error']))
{
print "Hiba: Minden mező kitöltése kötelező!<br />";
}
//egy oldalon ennyi üzenet
$egyoldalon = "10";
//a tároló fájl neve
$f = "tarol.txt";
$handle = fopen($f,"r");
if ($tomb = @fread($handle,filesize($f)))
{
$uzenetek = explode ("\n",$tomb);
$uzenetek = array_reverse($uzenetek);
$uzenetszam = (count($uzenetek)-1);
if (!isset($_GET['lap']))
{
$_GET['lap'] = 1;
}
$lapszam = intval(($uzenetszam+($egyoldalon-1))/$egyoldalon);
if ($lapszam!=1)
{
print "<div id=\"sorszam\">Oldalak: ";
for($i=1;$i<=$lapszam;$i++)
{
if ($i!=$_GET['lap'])
{
echo '<a href="'.$PHP_SELF.'?lap='.$i.'">['.$i.']</a>';
}//if
else
{
echo $i;
}//else
}//for
print "<br />Összes üzenet:$uzenetszam</div>";
}//if
if ($_GET['lap'] !== 1)
{
$i = ($_GET['lap']-1)*$egyoldalon;
}
if ($_GET['lap'] == 1){
$i = 1;
}
while($uzenetek[$i] == true)
{
if ($egyoldalon > 0)
{
$resz = explode("|",$uzenetek[$i]);
?>
<?php
$i++;
$egyoldalon--;
}//if
else
{
break;
}
}//while
}//if fread
else
{
print ("Hiba: Nem tudom megnyitni a fájlt ,Vagy nincs még bejegyzés");
}
?>
</body>
</html>
<?php
if (isset($_POST['mehet']))
{
if ($_POST['uzenet'] !== "" && $_POST['nev']!== "" && $_POST['email'] !== "")
{
$fajl = "tarol.txt";
$handle = fopen($f,"a+");
$tomb = fread($handle,filesize($f));
$uzenetek = explode ("\n",$tomb);
$aktualis = count($uzenetek);
$uzenet = $_POST['uzenet'];
$uzenet = htmlspecialchars($uzenet);
$uzenet = str_replace("[sm01]","<img src='sm01.gif' alt='sm01' />",$uzenet);
$uzenet = str_replace("[sm02]","<img src='sm02.gif' alt='sm02' />",$uzenet);
$uzenet = str_replace("[sm03]","<img src='sm03.gif' alt='sm03' />",$uzenet);
$uzenet = str_replace("[sm04]","<img src='sm04.gif' alt='sm04' />",$uzenet);
$uzenet = str_replace("[sm05]","<img src='sm05.gif' alt='sm05' />",$uzenet);
$uzenet = str_replace("\n","<br />",$uzenet);
$row = $_POST['nev']."|";
$row .= $_POST['email']."|";
$row .= $uzenet."|";
$row .= date("Y-m-d H:m:s")."|";
$row .= $aktualis."\n";
fwrite($handle,$row);
header ("location: index.php");
}
else
{
header ("location: index.php?error=1");
}
}
?>
<?php
ob_end_flush();
?>
ob_start();
?>
<?php
if (isset($_GET['error']))
{
print "Hiba: Minden mező kitöltése kötelező!<br />";
}
//egy oldalon ennyi üzenet
$egyoldalon = "10";
//a tároló fájl neve
$f = "tarol.txt";
$handle = fopen($f,"r");
if ($tomb = @fread($handle,filesize($f)))
{
$uzenetek = explode ("\n",$tomb);
$uzenetek = array_reverse($uzenetek);
$uzenetszam = (count($uzenetek)-1);
if (!isset($_GET['lap']))
{
$_GET['lap'] = 1;
}
$lapszam = intval(($uzenetszam+($egyoldalon-1))/$egyoldalon);
if ($lapszam!=1)
{
print "<div id=\"sorszam\">Oldalak: ";
for($i=1;$i<=$lapszam;$i++)
{
if ($i!=$_GET['lap'])
{
echo '<a href="'.$PHP_SELF.'?lap='.$i.'">['.$i.']</a>';
}//if
else
{
echo $i;
}//else
}//for
print "<br />Összes üzenet:$uzenetszam</div>";
}//if
if ($_GET['lap'] !== 1)
{
$i = ($_GET['lap']-1)*$egyoldalon;
}
if ($_GET['lap'] == 1){
$i = 1;
}
while($uzenetek[$i] == true)
{
if ($egyoldalon > 0)
{
$resz = explode("|",$uzenetek[$i]);
?>
<?php
$i++;
$egyoldalon--;
}//if
else
{
break;
}
}//while
}//if fread
else
{
print ("Hiba: Nem tudom megnyitni a fájlt ,Vagy nincs még bejegyzés");
}
?>
</body>
</html>
<?php
if (isset($_POST['mehet']))
{
if ($_POST['uzenet'] !== "" && $_POST['nev']!== "" && $_POST['email'] !== "")
{
$fajl = "tarol.txt";
$handle = fopen($f,"a+");
$tomb = fread($handle,filesize($f));
$uzenetek = explode ("\n",$tomb);
$aktualis = count($uzenetek);
$uzenet = $_POST['uzenet'];
$uzenet = htmlspecialchars($uzenet);
$uzenet = str_replace("[sm01]","<img src='sm01.gif' alt='sm01' />",$uzenet);
$uzenet = str_replace("[sm02]","<img src='sm02.gif' alt='sm02' />",$uzenet);
$uzenet = str_replace("[sm03]","<img src='sm03.gif' alt='sm03' />",$uzenet);
$uzenet = str_replace("[sm04]","<img src='sm04.gif' alt='sm04' />",$uzenet);
$uzenet = str_replace("[sm05]","<img src='sm05.gif' alt='sm05' />",$uzenet);
$uzenet = str_replace("\n","<br />",$uzenet);
$row = $_POST['nev']."|";
$row .= $_POST['email']."|";
$row .= $uzenet."|";
$row .= date("Y-m-d H:m:s")."|";
$row .= $aktualis."\n";
fwrite($handle,$row);
header ("location: index.php");
}
else
{
header ("location: index.php?error=1");
}
}
?>
<?php
ob_end_flush();
?>
Form
Lehet h igazad van A form
A form első sora ami érdekes szerintem:
<form name="beir" method="post" action="<?=$_SERVER['PHP_SELF']?>">
E szerint a vendégkönyv azaz az index.php önmaga dolgozza fel a megkapott infókat.
Ezt én megváltoztattam így:
<form name="beir" method="post" action="guest.php">
Azért guest.php, mert átneveztem index.php-ről
Továbbá megváltoztattam ezt is:
header ("location: guest.php");
}
else
{
header ("location: guest.php?error=1");
}
Itt szintén az index.php-t írtam át guest.php-re, mindkét helyen
Ekkor már azt csinálja a progi, hogy már kiírja az üzenetet de egy teljesen új oldalra.
Így: link
Gondolo még mindig a FORM sorban van a hiba, és gondolom az action résznél. Mit kéne ott javítanom szerinted?
Továbbá megváltoztattam ezt
...
header ("location: guest.php");
Miért? Ha azt akarod, hogy az index.php jelenjen meg utána, akkor hagyd azt. Legfennebb annyi szépítéssel, hogy a vendégkönyv részt tölteted be:
Köszi! Működik!
Esetleg tudnátok nekem tippet
Akismet
Akkor kérnék 1 kis segítséget
A telepítési útmutató azt írja h töltsem fel a wp-content-en belül a plugins könyvtárba
Ezt létre kéne hoznom a szerveremen?
És aztám meg azt írja h aktiváljam a Worldress plugin menujében. Az meg merre van???
Aztán meg jöhet az API key.
Előre is elnézést kérek a gagyi kérdésekért, de szeretném rendesen megcsinálni viszont ezzel az Akismettel még nem boldogulok!
Köszi a türelmeteket!:)
A telepítési útmutató azt
Nem. Azt a WordPress felhasználóknak írja. Neked azt írja, hogy
Bővebben lásd például itt: http://achingbrain.net/stuff/php/akismet , feltéve, hogy atw.hu-n PHP 5 fut.
Na most már letöltöttem a
Akismet.class.php-ban kitöltöttem ahogy a linkelt ábrán is volt. De ezek mind kommentben vannak. Ha kiszedem a komment jeleket azonnal hibákat ír ki az oldalamon. Mivel a komment rész html kódot tartalmaz a php-n belül. De ha komentbe hagyom nem fog működni (gondolom)
A segédlet alapján amit
Akismet.class.php-ban kitöltöttem ahogy a linkelt ábrán is volt.
Micsináltál? Az Akismet.class.php-ben még véletlenül sem kell kitöltsél semmit.
Akkor viszont nem értem, hogy
Bár szerintem még most se sikerült aktiválnom a spamvédelmet:(
A Usage részbeli forráskódról
De azt írja, h töltsem le a
Elmagyaráznád nekem, vagy ha tudsz valami egyszerűbb megoldást a spam-ek ellen, és leírnád azt is szivesen venném. Előre is bocs a fárasztó kérdésekért!