Chápu to tak, že soubor edit.php zobrazí data v textovém poli formuláře, takže umožní jejich změnu a poté se stiskem tlačítka pro odeslání formuláře tyto změny provedou, o což se zase postará soubor edit.php. Je to správně? Pokud ano, tak je potřeba podívat se na toto:
V souboru edit.php je část sloužící k načtení dat z databáze a jejich zobrazení ve formuláři a dále je tam část, která provádní požadovanou změnu v databázi (tato část se spustí pouze pokud již je požadavek na editaci, což se asi zajišťuje pomocí dotazu v url - např. něco jako edit.php?id=10).
Je potřeba mít v souboru všechny části ve správném pořadí:
1. část která provádí změnu v databázi (editace)
2. část která načítá data pro jejich zobrazení
3. část která data zobrazuje ve formuláři.
Tak je zajištěno, že data se nejdříve modifikují a až pak se znovu načítají a zobrazují ve formuláři. Pokud je soubor edit.php vyvolán přímo z index.php, tak se první část neprovede a pouze se načtou a zobrazí data.
Jinak ještě rada - u všech souborů php které zobrazují nějaká data z databáze, která se mohou měnit, je potřeba zajistit, aby se stránka neukládala u uživatele do vyrovnávací paměti, ale aby se vždy načítala ze serveru.
Stačí do souboru vložit na začátek následující třířádkový php kód (zkopíroval jsem to i s hlavičkou html, aby bylo zřejmé, kam řádky umístit):
Kód: Vybrat vše
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?
Header("Pragma: no-cache");
Header("Cache-Control: no-cache");
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");
?>
<html>
<head>
...... tady je vlastní stránka ........
Jo a pokud to co jsem napsal nepomůže, tak ještě napiš, pořád ještě mám v rukávu jeden trumf
