Autor Zpráva
JohnGog
Profil
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
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
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
jak to vypisuješ z toho souboru? echem?
panther
Profil
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0