Autor | Zpráva | ||
---|---|---|---|
Solidgauleiter Profil |
#1 · Zasláno: 27. 5. 2012, 14:27:47
Ahojte. Chcel by som sa vás opýtať, či by ste mi vedeli poradiť, čo si mám naštudovať na tvorbu guestbooku ako je aj tu:
http://www.pizzeria-drak.sk/navstevna-kniha.php Stačí ak mi vypíšete všetky funkcie k tomu, alebo mi poradíte dáky dobrý tutoriál na návštevnú knihu. Už som skúšal veľa. Ale nikdy som si nevedel prispôsobiť, teda vložiť ten formulár a tie odkazy, výpisky na vlastnú stránku. Stále to bolo osobitne :( Ďakujem za radu.. |
||
Someone Profil |
#2 · Zasláno: 27. 5. 2012, 14:29:02
Stačí ti PHP a HTML... Psal jsem o tom docela podrobný návod, tak snad pomůže.
|
||
Solidgauleiter Profil |
#3 · Zasláno: 27. 5. 2012, 14:55:05
Díky.. Kuknem sa na to pozdejšie.. Musím vyhladnúť už :D
|
||
Solidgauleiter Profil |
#4 · Zasláno: 27. 5. 2012, 18:35:51
No skúšal som to.. Spravil som zatiaľ len na Meno a správu + dátum. Lenže najnovšie mi dáva na spodok. Taktiež neviem či to budem vedieť nadesginovať.. Poradil by mi dakto dáky návod aj s CSS na takýto guestbook ?
|
||
martin1312 Profil |
#5 · Zasláno: 27. 5. 2012, 18:44:18
pri ukladani prispevku ho vloz na zaciatok suboru .txt a nie na koniec. Teda namiesto tohto riadku
$puvodni .= $text_k_vlozeni; $puvodni = $text_k_vlozeni . $puvodni; Tym dosiahnes, ze sa ti nove prispevky budu vkladat a teda aj nasledne vypisovat nahor stránky. |
||
Medvídek Profil |
Someone:
Při ukládání jak to máš ty, že nejnovější budou vždy vespod stačí použít jen toto: file_put_contents($file, $data, FILE_APPEND | LOCK_EX); $pole = explode("\n",$text); //sortovat tady |
||
Solidgauleiter Profil |
#7 · Zasláno: 28. 5. 2012, 21:15:05
Skúsim sa s tým zajtra pohrať. Inak kde sa naučím perfektne naprogramovať zatiaľ len jednoduchý webdesign ? Čím viac stránok tým lepšie :) Ďakujem.
|
||
Časová prodleva: 5 dní
|
|||
Solidgauleiter Profil |
#8 · Zasláno: 2. 6. 2012, 09:50:58
martin1312:
Dosiahnuť som to dosiahol. Lenže mi zduplikuje aj predošlý komentár. :( |
||
martin1312 Profil |
#9 · Zasláno: 2. 6. 2012, 10:54:25
momentalne nemam cas sa nato divat. Ked vyskusas radu od Medvídek tak to ide?
Skus sa v tom trochu pohrabat co sa uklada do premennej $puvodni a $text_k_vlozeni . Ked budem mat cas a stale ti to nepojde tak to pozrem.
PS: zduplikovany komentar sa ukazuje aj po obnoveni stránky? (F5) |
||
Solidgauleiter Profil |
JJ.. Však si to vyskúšaj :D
http://test.pizza-zapad.sk/navstevna-kniha.php Idem sa s tým skúsiť pohrať.. ak budeš mať čas kukni sa na to :) <center> <form name="contactform" id="contactform" method="post"> <table width="450px"> </tr> <tr> <td valign="top"> <label for="meno">Meno:</label> </td> <td valign="top"> <input type="text" name="meno" maxlength="10" size="30" value=""> </td> </tr> <tr> <td valign="top"> <label for="text"><br>Text:</label> </td> <td valign="top"> <textarea name="text" maxlength="1000" cols="42" rows="6"></textarea> </td> </tr> </table> <button type="submit" name="odoslat" value="Odoslať!"> Odoslať !</button> <h2>Všetky položky je povinné vyplniť !</h2> <h3>© Pizza Západ 2012</h3> </form> </center> <?php if (isset($_POST['odoslat'])) { $meno = $_POST['meno']; $meno = htmlspecialchars($meno); $meno = str_replace("'","'",$meno); /* Jelikož je apostrof ' oddělovačem, který se v textu nesmí vyskytovat tak jej najdeme a nahradíme entitou pro apostrof. (') Pomocí funkce HTMLSPECIALCHARS ošetříme vstupní text proti vkládání HTML Př.: Z <div> vznikne </div> */ $text = $_POST['text']; $text = htmlspecialchars($text); $text = str_replace("\n","<br />",$text); /* Pokud se odentruje v textu, tak nám vznikne nový znak \n, který nám zmate explode a výsledné rozdělení celého souborů do příspěvků a příspěvky do jednotlivých údajů by bylo chybné. Tudíž než vytvoříme vkládaný text, najdeme pomocí funkce str_replace všechny znaky \n (1. argument funkce) a nahradíme je řetězcem <br /> (2. argument funkce -> HTML tag pro zalomení) */ $text = str_replace("'","'",$text); /* Totéž co u jména, nahradíme apostrof entitou. */ $text_k_vlozeni = $meno."'".$text."'".Date("d.m.Y")."\n"; $puvodni = file_get_contents("soubor.txt"); $puvodni .= $text_k_vlozeni . $puvodni; file_put_contents("soubor.txt",$puvodni); } $text = file_get_contents("soubor.txt"); $pole = explode("\n",$text); foreach ($pole as $zaznam) { if (!empty($zaznam)) { // Podmínka, která zkontroluje, zda proměnná $zaznam něco obsahuje, pokud ano, vypíše data $vysledky = explode("'",$zaznam); echo "<b> ".$vysledky[0]." | ".$vysledky[2]."</b><br />"; echo " <i> ".$vysledky[1]."</i><br />"; } } ?> Mám dostupnú aj jednu databázu tak ak poznáte dáky dobrý návod tak sem s ním :) |
||
Solidgauleiter Profil |
#11 · Zasláno: 3. 6. 2012, 14:07:29
Kus som poblúdil na nete a našiel som niečo podobné. Funguje mi to, a už som si to ako tak nastavil v CSS. takže to aj dáko vyzerá.
KÓD: <?php $action = $_POST['action']; $meno = $_POST['meno']; $mail = $_POST['mail']; $text = $_POST['text']; $kontrola = $_POST['kontrola']; function antispam($email, $meno){ $return = "<script type=\"text/javascript\"><!--\ndocument.write('<a href=\"' + 'mailto:' + '"; for($i=0;$i<strlen($email);$i++){ $code .= $email{$i}=='@' ? "' + '".ord("@")."' + '" : "".ord($email{$i}).";"; } $return .= $code."' + '\">' + '".$meno."' + '<\/a>');\n--></script>"; RETURN $return; } ?> <center> <form name="contactform" id="contactform" method="post" action="navstevna-kniha.php"> <table width="450px"> <tr> <td valign="top"> <label for="meno">Meno: *</label> </td> <input type="hidden" value="uloz" name="action" /> <td valign="top"> <input type="text" name="meno" maxlength="25" size="30" value="<?php echo $meno ?>"> </td> </tr> <tr> <td valign="top"> <label for="text">E-mail:</label> </td> <td valign="top"> <input type="text" name="mail" maxlength="50" value="<?php echo $mail ?>" size="30" /> </td> </tr> <tr> <td valign="top"> <label for="text"><br>Text: *</label> </td> <td valign="top"> <textarea name="text" maxlength="1000" cols="42" value="<?php echo $text ?>" rows="6"><?php echo $text ?></textarea> </td> </tr> <tr> <td> </td> <td>Ochrana proti spamu: 4 + 5 = <input type="text" name="kontrola" value="<?php echo $kontrola ?>" size="8" /> </td> </tr> </table> <button type="submit" name="odoslat" value="Odoslať!"> Odoslať !</button> <h2>Položky označené hviezdičkou (*) sú povinné !</h2> <h3>© Pizza Západ 2012</h3> </form> <div class="vysledok"> <table> <?php if ($action=='uloz'): $subor = "kniha.body"; @$ext = fopen($subor, "r"); @$obsah = fread($ext, filesize($subor)); @FClose($ext); if($kontrola != "9"): echo "<h6>Nesprávny údaj pri ochrane proti spamu !</h6>"; elseif(($text=="") or ($meno=="")): echo "<h6>Nie sú vyplnené všetky povinné údaje !</h6>"; else: $ext = fopen("kniha.body", "w"); $mail = HTMLSpecialCHars($mail); if($mail == "") $mail = ""; else $mail = antispam($mail,$mail); $meno = HTMLSpecialCHars($meno); $text = HTMLSpecialCHars($text); $tab = "<tr><td width=\"250\" ><b>".$meno." | ".Date(" j.n.Y H:i")."</b></td></tr> <tr><td colspan=\"2\"><i>".$text."</i></td></tr> <tr><td width=\"150\" align=\"right\"><h3>".$mail."</h3></td></tr> <tr><td width=\"350\"><hr/></td></tr>"; fputs($ext, "$tab"); fputs ($ext, "$obsah"); FClose($ext); @$ext = fopen("kniha.body", "r"); @fpassThru($ext); endif; else: @$ext = fopen("kniha.body", "r"); @fpassThru($ext); endif; ?> |
||
Časová prodleva: 11 let
|
0