Autor | Zpráva | ||
---|---|---|---|
Grogg Profil * |
#1 · Zasláno: 1. 1. 2006, 19:00:22
Zdravim, potřebuji poradit s knihou hostů.
Odešlu zprávu, nová zpráva se zobrazí, ale jakmile dám aktualizovat, tak mě prohlížeč upozorňuje, že jsou na stránce zachována postdata (když to odkliknu OK, tak se zpráva odešle znovu). Nevíte jak po odeslání zprávy ty postdata smazat. Díky |
||
Dero Profil |
#2 · Zasláno: 1. 1. 2006, 19:02:53
Vložíš příspěvek a před jakýmkoliv posláním dat prohlížeči (fce echo, začátek stránky atp.) použije fci header k přesměrování na sebe sama, ovšem bez jakýchkoliv doprovodných dat.
<?php // zapises data if ([zapsano]) header("Location: guestbook.php"); // zbytek skriptu/stranky |
||
koudi Profil |
#3 · Zasláno: 1. 1. 2006, 19:03:11
Tak po uložení dat pužij funkci header pro přesměrování.
|
||
Wan-To Profil * |
#4 · Zasláno: 1. 1. 2006, 19:05:16
Docela dobře se to dá obejít tak, že se oddělí skripty pro vkládání příspěvků a jejich zobrazování. Formulář se odešle na skript, který zpracuje POST data a vloží příspěvek. Místo toho, aby tenhle skript vygeneroval výstup, pošle hlavičku Location: jméno_skriptu_zobrazení, která prohlížeč přesměruje zpět na knihu návštěv.
|
||
Grogg Profil * |
#5 · Zasláno: 1. 1. 2006, 19:31:44
Zkusil jsem to, ale nová zpráva se nezobrazí hned, na stránce se objeví až po opětovné aktualizaci.
nevim jestli jsem to správně napsal, do php moc nevidim: <?php if ($Zprava!="") header("Location: diskuse.php"); ?> -> tohle jsem vložil na první řádek diskuse.php, je to tak možné zapsat nebo jsem to nepochopil? |
||
Dero Profil |
#6 · Zasláno: 1. 1. 2006, 19:33:48
Grogg: Nejdřív musíš vložit zprávu do databáze/souboru a potom až přesměrovat.
|
||
Grogg Profil * |
#7 · Zasláno: 1. 1. 2006, 19:36:48
Bohužel, já už mam na začátku stránky (nesouvisí to s knihou) použitý příkaz echo...
|
||
Dero Profil |
#8 · Zasláno: 1. 1. 2006, 19:37:59
Grogg: K jakému účelu?
|
||
Grogg Profil * |
#9 · Zasláno: 1. 1. 2006, 19:40:23
Dobrý, děkuji moc za pomoc, už mi došlo, že to můžu vložit až za ten skript, takže se za poslední příspěvek omlouvám a ještě jednou děkuji
|
||
Časová prodleva: 22 dní
|
|||
Johny_r Profil * |
#10 · Zasláno: 24. 1. 2006, 00:28:38
Můžu se zeptat, kam to teda mám vložit? Pořád mi to hlásí, že Cannot modify header information - headers already sent by...
Stránka vypadá asi takto ? skript pro zapsání formulářových dat do databáze ? html formulář ? skript pro vypsáni obsahu databáze do stránky ? takže kam s tím: header('Location: guestbook.php'); Díky moc. |
||
Hugo Profil |
#11 · Zasláno: 24. 1. 2006, 05:51:27
Johny_r
Musíš to vložit ns konec souboru, který uloží požadavek. Ale před odesláním hlavičky nesmí odejít ŽÁDNÝ výstup. zpracuj-data.php ? skript pro zapsání formulářových dat do databáze Header ('Location: guestbook.php'); ? guestbook.php ? skript pro vypsáni obsahu databáze do stránky ? |
||
Johny_r Profil * |
#12 · Zasláno: 26. 1. 2006, 00:16:33
2 Hugo:
Díky, pochopil jsem a chodí mi to. Stojím teď ale před jiným problémem. Chci zkontrolovat, jestli byla vyplněna všechna pole formuláře a když ne, tak aby skript napsal upozornění nad formulář. Nemůžu ale přijít na to, kam dát ten kontrolovací skript. Představuju si to nějako jako: ? if (!empty ($promenna1) & !empty ($promenna2)) { // zápis dat do databáze header ('location: zpátky na stránku s fórem'); } else { echo ('Vyplň celej formulář'); } ? Jde to nějak takhle nebo jsem vedle a musím na to jinak? A pokud je to ok, tak kam to umístit, aby to chodilo. Díky za rady... |
||
Niel Profil * |
#13 · Zasláno: 26. 1. 2006, 01:01:36
skus takto
if (($promenna1!=="") and ($promenna2!=="")) { } takto nejako by to malo chodit |
||
Časová prodleva: 3 měsíce
|
|||
Martin Kuželka Profil |
#14 · Zasláno: 18. 4. 2006, 16:19:43
gajdynator: dík, že nám přiděláváš práci. V tomhle threadu jsem kromě několika (asi 5) spamů musel mazat ještě příspěvky po tobě.
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0