ugrás a tartalomhoz

Frissítésnél post újraküldés elleni védelem?

Radon · 2013. Jan. 27. (V), 16.03
Az lenne a problémám, ha a weboldalamon elküldök 1 kérdőívet, és frissítek, pl f5öt nyomok, akkor újraküldi az adatokat, és pl 1 fórumhozzászólásnál megduplázódik a kommentem. Eddig úgy védtem ki, hogy megnéztem, a nevem mellett van-e ugyan ilyen post, és ha igen, akkor nem írja sqlbe, de ez nem jó, mert előfordulhat hogy 1 hét múlva ugyan azt akarom írni.
Valami olyan kellene, ami a facebookon van, hogy f5re fel sem jön az ablak, hogy újraküldje-e az adatokat.
A weboldalam nem igényel frissítést, csak védeni akarom, hogy egy felhasználó véletlen f5öt nyomna, vagy frissíti az oldalt.
 
1

location

Hidvégi Gábor · 2013. Jan. 27. (V), 16.16
PHP-ban header('location: akarmi.php'); paranccsal lehet. A lényeg, hogy a http fejlécben menjen ki a fenti karakterlánc.
2

Betettem a html kód <HEAD>

Radon · 2013. Jan. 27. (V), 18.50
Betettem a html kód <HEAD> részébe a legelejére ezt:
<?php
header('Location:index.php?col=22&ami=196');
?>
Semmi nem történt, f5re újraküldi a postomat.
Mit hagyok ki?
Ezt a header működést nem értem még manuálbol sem.
3

exit

Hidvégi Gábor · 2013. Jan. 27. (V), 19.09
Azt elfelejtettem írni, hogy utána kell egy exit;, azaz a PHP futásának be kell fejeződnie.
Kereső
4

beirtam az exitet, de semmi

Radon · 2013. Jan. 27. (V), 20.22
beirtam az exitet, de semmi változás. minden olyan, mint előtte. nem is tudom minek kellene történnie, esetleg magától újratölt az oldal, és akkor kiürül a post változó?
vagy nem tudom, de nem történik semmi.
5

Túl későn

numen · 2013. Jan. 27. (V), 20.29
A header() függvény dokumentációjából:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.
6

Semmi nincs a header() előtt,

Radon · 2013. Jan. 27. (V), 21.07
Semmi nincs a header() előtt, igy kezdődik a html-em:

<HTML>
<HEAD>
<?php
header()


Biztos jó helyen van, mert már nem írja, hogy "header already sent".
de nem történik semmi, viszont a postom duplázódik.
7

<HTML> <HEAD> <?php header()É

Poetro · 2013. Jan. 27. (V), 21.08
<HTML>
<HEAD>
<?php
header()
Én úgy látom legalább két sor van a header hívása előtt.
8

sorrend

QXY · 2013. Jan. 28. (H), 05.35
Amennyiben egy php fájlon belül szeretnéd elintézni:

0. Adatbázis kapcsolódás.
1. vizsgálat: Jött új hozzászólás?
2. igen: Adatbázisba írás
3. - header('Location ...'); exit;
4. nem: tartalom megjelenítése

Ahogyan már írták, a header() függvény előtt semmilyen kimenet ne legyen, még egy soremelés sem!
9

köszi

Radon · 2013. Jan. 29. (K), 00.47
Köszi mindenkinek már működik.