Autor Zpráva
nathraxis
Profil
Sem uplnej zacatecnik a stahnul sem si tuhle diskusi. Predesilam ze absolutne netusim o co se tam jedna a mam hned dva problemy.
1. na presentaci stranky se mi zobrazuje cast diskuse nad polickama pro vzplneni v HTML kodu a vec druha ze nevim jak mam provest aby se mi zapsal pridany prispevek. Musim vytvorit nejaky textovy dokument a zapsat ho nekam do kodu?
Prosimoporadte nekdo kam a jak.
Prikladam jeste pro info to co sem stahnul.

Dikes

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Diskuse</title>
</head>
<body>
<?
$jmeno = $_POST['jmeno'];
$email = $_POST['email'];
$web = $_POST['web'];
$zprava = $_POST['zprava'];

$jmeno=HTMLSpecialChars($jmeno); //převede některé znaky na entity 
$email=HTMLSpecialChars($email);
$web=HTMLSpecialChars($web);
$zprava=HTMLSpecialChars($zprava);

$jmeno=stripslashes($jmeno); //odstraní lomítka
$email=stripslashes($email);
$web=stripslashes($web);
$zprava=stripslashes($zprava);

$zprava = str_replace("\n"," <br> ", $zprava); //nové řádky nahradí <br>
$zprava = substr($zprava, 0, 10000);//zpráva bude mít maximálně 10000 znaků pomocí substr

$email_celek=" | <a href='mailto:$email'>$email</a>";
$web_celek=" | <a href='$web'>$web</a>";

if ($web=="http://"){$web_celek="";} //pokud se nevyplní nic se nevypíše 
if ($email==""){$email_celek="";} // -||-

if ($zprava!="" and $jmeno!=""){ //provede se pokud není prázdná zpráva a jméno
$celek="<p>Zprávu poslal <strong>$jmeno</strong>$email_celek $web_celek</p><p>$zprava</p><hr>";
$soubor = fopen ('data-2.inc','a'); //otevře soubor pro doplňování
fwrite ($soubor, $celek); //zapíše zprávu
fclose ($soubor); //zavře soubor
}
?>
<h1>Dokonalejší a bezpečnější diskuse</h1>
<? include "data-2.inc"; ?>
<h2>Přidání zprávy</h2>
<form action="diskuse-2.php" method="post"></p>
<table>
<tr><th>*Jméno: </th><td><input type="text" name="jmeno" maxlength="25"></td></tr>
<tr><th>E-mail: </th><td><input type="text" name="email" maxlength="25"> [nepovinné]</td></tr>
<tr><th>Web: </th><td><input type="text" name="web" value="http://" maxlength="30"> [nepovinné]</td></tr>
<tr><th>*Zpráva: </th><td><textarea cols="60" rows="5" name="zprava"></textarea></td></tr>
<tr><th></th><td><input type="submit" value="odeslat"></td></tr>
</table>
</form>
</body>
</html>
imploder
Profil
nathraxis
Co sis stáhl je HTML stránka obsahující jednoduchý PHP skript a formulář, kterým se ovládá. Při načtení stránky se vypíše obsah souboru data-2.inc. Po odeslání formuláře se děje to samé, jen s tím rozdílem, že se na konec souboru data-2.inc nejdřív zapíše ta zpráva.

Jak to zprovoznit: uložit ten soubor (předpokládám, že se jmenuje diskuse-2.php) do nějakého adresáře na webu a v tom samém adresáři taky vytvořit soubor data-2.inc. To je vše, mělo by to pak fungovat. Je na to potřeba mít na serveru podporované PHP.

Je možné diskusi používat takhle na zvláštní stránce, ale jde ji i začlenit do nějaké už existující. Pokud stránku pojmenuješ diskuse-2.php, opět by to mělo fungovat. Ve formuláři je poněkud nešikovně nastavené action na "diskuse-2.php". Když ho vyhodíš, tj. změníš
<form action="diskuse-2.php" method="post">
na
<form method="post">
budeš moct diskusi včlenit to jakkoliv pojmenované stránky, nejenom "diskuse-2.php". Při neuvedení action se volá stejná URL jako má stránka s formulářem, což je přesně tento případ (formulář i skript zapisující příspěvky je ve stejném souboru).

Je to velice jednoduché řešení, takové minimální funkční. Má nedostatek, že při odeslání příspěvku a reloadnutí stránky se příspěvek odešle znovu (může se to brát i jako vlastnost, ale prakticky je to spíš chyba). Taky tam není žádný antispam. Takže pro praktické využití by to chtělo něco promakanějšího. Ale pokud se chceš naučit, jak to funguje, tak tenhle skriptík je na to ideální.
nathraxis
Profil
Dikes, ale nn je tu jeste jeden problemek., ktery jsem nezminil..ja to vytvarim v microsoft publisheru a diskuzi jsem tam vlozil polozkou vlozit fragment HTML...a vubec netusim jak ulozit tu konkretni samostatnou stranku s tim nazvem co jsi psal...
???nemas(te) s timhle tvoricem webu nekdo zkusenosti?nebo treba nejakou radu jak si vytvorit vlastni diskusi primo pomoci tohodle programu???


Dekuji

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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