| Autor | Zpráva | ||
|---|---|---|---|
| JohnGog Profil |
#1 · Zasláno: 30. 9. 2010, 12:06:28
Zdravím, chtěl bych se zeptat, jak upravím kód, aby se mi příspěvky starší zobrazovali hned a ne až po odeslání nového příspěvku.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body bgcolor="grey">
<br>
<h1>Guestbook:</h1>
<form action="guestbook.php" method="POST">
Vaše jméno: <input type="text" name="jmeno"> <br>
Váš email: <input type="text" name="email"> <br>
Vzkaz pro nás: <br>
<textarea name="zprava" cols="50" rows="8"></textarea> <br>
<b>Potvrzovací kód: </b> <input type="text" name="nahoda"> <br>
<input type="submit" value="odeslat" name="odeslat" ><br>
<br>
</form>
<?php
$nahodax = $_POST['nahoda'];
if($random == $nahodax)
{
if(!empty($_POST['odeslat']))
{
$datum = date("l-m-Y",Time());
$email = $_POST['email'];
$text = '<b>'.'Čas: '.'</b>'.$datum.'<br>'.'<b>'.'Jméno: '.'</b>'.$_POST['jmeno'].'<br>'.'<b>'.'Email: '.'</b>'.$_POST['email'].'<br>'.'<b>'.'Zpráva: '.'</b>'.$_POST['zprava'].'<br>'.'<br>'.'<hr>';
if (preg_match('~\\.[^\\.]{0,4}$~', $email)){
//http://cz.php.net/strrpos//
$soubor = fopen("soubor.txt", "r+");
$original = fread($soubor, filesize('soubor.txt'));
fseek($soubor, 0); // umožní nastavit kurzor na požadovanou pozici.
ftruncate($soubor, 0); // zkrátí soubor na danou délku
fwrite($soubor, $text);
echo($text.$original);
fwrite($soubor, $original);
fclose($soubor);
}
else
{echo("ŠPATNÁ PŘÍPONA");}
}
}
else {echo("ŠPATNÁ ODPOVEĎ");}
?>
</body>
</html>
|
||
| bismakrxie Profil |
#2 · Zasláno: 30. 9. 2010, 13:51:25
na konec toho tveho scriptu před ukončení echa dáš:
include "a cesta k tomu souboru, např, vzkaz/soubor txt"; takže takhle $soubor = fopen("soubor.txt", "r+");
$original = fread($soubor, filesize('soubor.txt'));
fseek($soubor, 0); // umožní nastavit kurzor na požadovanou pozici.
ftruncate($soubor, 0); // zkrátí soubor na danou délku
fwrite($soubor, $text);
echo($text.$original);
fwrite($soubor, $original);
fclose($soubor);
}
else
{echo("ŠPATNÁ PŘÍPONA");}
}
}
else {echo("ŠPATNÁ ODPOVEĎ");}
include("adresar/soubor.txt");
?>
</body>
</html>jestli budeš mít problém klidně se ozvi. |
||
| JohnGog Profil |
#3 · Zasláno: 30. 9. 2010, 14:51:31
Asi si to špatně pochopil, mam guestbook - návštěvní knihu, prostě kliknu na odkaz a vyjede mi tento script, ale hned se mi nezobrazí staré příspěvky, tudíž kdyby mi tam někdo napsal něco, tak nemůžu na to reagovat hned, ale musel bych tam napsat blbost stylu: "swas" aby se mi zobrazily starší příspěvky a mohl bych na ně reagovat, toto mi nejde /ten include mi udělal to že se mi tam příspěvek upnul 2x)
|
||
| bismakrxie Profil |
#4 · Zasláno: 30. 9. 2010, 17:15:42
jak to vypisuješ z toho souboru? echem?
|
||
| panther Profil |
#5 · Zasláno: 30. 9. 2010, 17:19:26
JohnGog:
„ale hned se mi nezobrazí staré příspěvky“ divíš se, když tam máš čtení ze souboru v podmínce if (!empty($_POST['oedslat']))? |
||
| jenikkozak Profil |
#6 · Zasláno: 30. 9. 2010, 17:38:50
JohnGog:
„Asi si to špatně pochopil“ Použij navrhované řešení[#2] bismakrxie, pouze vyhoď řádek „echo($text.$original);“, který duplikuje výpis dat, které pak vypíšeš pomocí toho include. |
||
|
Časová prodleva: 15 let
|
|||
0