| 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: 13 let
|
|||
0