Diskuze: problem s header
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 16 zpráv z 16.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


header musi byt vlozeny uplne na zaciatku stranky a pred nim nesmie byt ani
prazdny riadok, ako ani HTML kod...
cezi takto:
<?php
header (...)
PHP KOD
?>
HTML kod
kazde jedno vypisanie do stranky zabezpeci poslanie hlavicky a to sposobi vygenerovanie chyby, ze uz je header pouzity
Tomu rozumím, já nevím, jak udělat, aby ve formuláři při špatném
zadání byly zachovány hodnoty v kolonkách.
Dle článku je to řešené přesměrováním pomocí header. Jenže to
použít nemůžu viz tvoje odpověď. Tak se ptám, jak to vyřešit
jinak...
prostě ten řádek s header přesuneš úplně na začátek toho php soubor.
odeslání header je v článků z důvodu aby nedocházelo k následnému znovuodeslání formuláře při reloadu stránky. Při odeslání header se vyčistí $_POST.
pokud chceš aby při špatně vyplněném formuláři zůstal formulář
předvyplněn tak na stránce kde zpracováváš výstup z formuláře použij
podmínku
if ($odesláno) { // odesláno, uloženo do databáze a pod.
header('Location: index.php'); // přesměruj se kam potebuješ dál
}
else {
header('Location: index.php?jmeno=$prijmeni='); // nebo se vrať na stránku z
formulářam a přes $_GET si předej obsah.
Pokud nechčeš předávat obsah zpět přes $_GET tak můžeš použít
$_SESSION
}
tuto podmienku by som dal uplne na zaciatok stranky, lebo inak, ak by sa vygeneroval pred nou vystup do stranky, tak funkcia header() ti vyhlasi presne tuto chybu
jednoducho praca s funkciou header() patri uplne na zaciatok suboru, ked este nie je vkladanie vystupu do stranky
Ahoj, chtěl bych s zeptat, jestli existuje nějaká jiná možnost jak
přesměrovat na jinou stránku, když nelze použít header? Mám stránku, do
které se mi načítá stránka formulář (http://www.itnetwork.cz/…dani-stranek). A potřebuji
nakonec přidat přesměrování na stránku s výpisem dat.
idaálně
$edit = mssql_query('UPDATE tabulka SET Nazev = "' . $nazev . '", ICO = "' . $ico . '", DIC = "' . $dic . '", Adresa = "' . $adresa . '", Telefon = "' . $telefon . '", Email = "' . $email . '" WHERE ID_Dodavatel = ' . $_POST['id_dodavatel'] . '');
if($edit)
{
$hlaska = ('Editováno');
header('Location: http://www.neco.cz/formular/uvod.php?strana=test2');
exit();
}
Nevím, jak se to dělá dnes, ale dříve jsem používal toto:
echo "<meta http-equiv='Refresh' content='0;URL=..'>";
Díky moc. Pomohlo to. Ani nedokážu vysvětlit přoč jsem se tomu chtěl
vyhnout. Nenapadlo mě, že to bude fungovat. Ještě jednou dík 
Co presne pomohlo? resim ten stejny problem
A proč nepoužít header?
Běžná praxe je ta, že na začátku php skriptu se nejdřív zpracují akce
(uložení, smazání, cokoliv..) přes ify a pokud je třeba headery, tedy
pokud některá z těch podmínek platí, provede se kód, pošle hlavička na
přesměrování a zavolá se exit();.
Používání html refreshe je krajně nevhodné.
Další alternativou, jak obejít nefunkčnost header() kvůli předchozímu výstupu je output buffering.
Output Buffering - Jestli si to dobře pamatuji, začíná PHP soubor
ob_start();// Spusit
a končí
ob_end_flush(); // Odeslat a vypnout buffer
pozn. To je jen postup, který dovoluje "odesílat" hlavičku i po vypsání textu.
Omlouvám se za případné chyby, moc to nepoužívám.
pomohl mi meta refresh. Už jsem asi někdě četl, že to neni vhodné jak
píše Richard. Dokud jsem měl stránku čistou a vykonávali se nejdříve
scripty a poté až výpis, header fungoval. Po tom co jsem stránku začal
vlkádat do hlavní stránky pomocí http://www.itnetwork.cz/…dani-stranek
už header nefungoval.
Ano, preste stejny problem jsem mel, kdyz jsem v tutorialu na clanek
sestavovan istranek pomoci php
Ale jde to elegantne vyresit objekty, viz clanek "Jednoduchy redakcni system v
PHP (MVC). Ja se prokousal serialem o objektovem programovani v PHP a ted delam
ten redakcnci system a tam se presne tohle resi pomoci objektu, takze az se k
tomu prokouses, zadnej metarefresh potrebovat nebudes 
Zobrazeno 16 zpráv z 16.