Autor Zpráva
Polaroid
Profil
"Stránku nelze aktualizovat bez opakovaného odeslání informací!!!"

Tak právě této hlášky bych se opravdu velice rád zbavil! Jde o to, že mam fórum, a jakmile, poté co přidá příspěvek, uživatel klikne na aktualizovat, tak se mu pochopitelně objeví tato hláška. A to se mi opravdu nelíbí, protože když klikne na Opakovat, tak se pochopitelně příspěvek přidá znovu. A když dá Storno, tak se to pochopitelně neaktualizuje.

Jak z toho ven??? Zkusil jsem si napsat podmínku, která by jednoduše zjišťovala, jestli článek s textem, který je právě uložen v danné proměnné existuje, ale to asi není nejlepší řešení.

Proto se ptám, existuje způsob, jak tento problém vyřešit. Věřím, že se s tím určitě někdo z vás setkal.
DoubleThink
Profil *
Musíš pochopit, že z pohledu prohlížeče je tvoje zobrazená stránka výsledkem hodnot, které předtím odeslal metodou POST. On neví, že dostane stejnou stránku i když ty hodnoty nepošle znovu.

Můžeš to po přidání přesměrovat na nějakou informační stránku ("Váš příspěvek byl přidán") a dát tam odkaz zpět na to fórum.
Polaroid
Profil
To je sice pěkný návrh na řešení celého problému, ale když se na to podíváme z druhé strany tak nikde to takhle nemaj a přesto se prohlížeč na nic neptá!
Oswald
Profil *
Ahoj, nebo můžeš ten formulář nasměrovat na skript, který pouze vloží ten příspěvek a pak tě pomocí [code]header("Location: xxx");[ /code] přesměruje zpět. To by to mělo vyřešit.
Honza Hučín
Profil
Částečným řešením je také tlačítko "Aktualizovat stránku" umístěné na vhodném místě a s odkazem na tu samou stránku, aby uživatel klikl na tlačítko a ne na refresh.
Polaroid
Profil
Supr! Ale to přece nic neřeší, prohlížeč odešle informace o tom, že se má příspěvek přidat pouze na jiný skript, ale jinak zůstane vše postarém, nehledě na to, že ten přidávací skript zůstane v Historii a bude mást klienta.
Polaroid
Profil
To byla reakce na Oswalda
Oswald
Profil *
Nezůstane v historii, zkus to.
Polaroid
Profil
Znáš někoho Honzo, kdo by taková tlačítka využíval??
Polaroid
Profil
Tak jinak! Jak to maj teda vyřešený ostatní fóra (třeba toto)!
Petra
Profil
No taky se dají zkontrolovat všechna pole formuláře (teda kromě času přidání) jestli se náhodou neshodují s něčím co už tam je. A pokud ano, pak "Milý návštěvníku, tak tohle už jsi mi jednou psal".
Oswald
Profil *
Polaroid: to co jsem psal, tak používám a funguje to.
Polaroid
Profil
Takže pokaždý když klient aktualizuje uvidí takovoudlect skvělou hlášku, to bude mít určitě radost!
llook
Profil
Dělá se to různě. To co říkal DoubleThink je vidět docela často. Myslím, že to tak má třeba fórum vBulletin, akorát kromě odkazu je tam ještě meta refresh.
Ale lepší se mi zdá to co říká Oswald, protože toho si uživatel ani nevšimne:

header("Location: http://host/path?query");
Polaroid
Profil
Pokud to fakt funguje Oswalde, tak díky! Jdu to vyzkoušet!
Polaroid
Profil
Tak sem to vyzkoušel a funguje to!!!!!

Díky vám všem!
Zoníček
Profil
Polaroid
Please hoď jsem kód :) nebo mě na maila :) jak ti to fachá ? dix
llook
Profil
Zoníček: Na začátek souboru, ještě před tím, než je poslán na výstup jakýkoli obsah, umísti tohle:

<?php
header('Location: http://adresa_na_kterou_chceš_přesměrovat/');
?>

Přičemž adresa by měla být absolutní, tedy včetně http://.
RAmses
Profil *
ja to resim tak ze mam v obsluznem scriptu knihy pod php scriptem tohle
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=book.php">
</head></html>
Toto téma je uzamčeno. Odpověď nelze zaslat.