Autor Zpráva
Háva
Profil
Ahoj,

Mám tři stránky: str1.php , str2.php a str3.php

Na stránce str1.php mám odkaz na stránku str2.php:
<a href='str2.php?akce=edit&amp;id=".$id."&amp;k=".$k."'>STR2</a>
Na straně str2.php si přebírám proměné s kterými následně pracuji:
$id=$_GET["id"];
$k=$_GET["k"];

Dále pak na str2.php mám odkaz na str3.php:
<a href='str2.php?akce=smaz&amp;id=".$id."&amp;k=".$k."'>STR3</a>
Zde je opět převezmu pomocí GET provedu změnu a mám zde automatické přesměrování zpátky na str2.php
$cesta = substr($_SERVER["PHP_SELF"], 0, strrpos($_SERVER["PHP_SELF"], "/"));
header("Location: $cesta/str2.php?akce=yes&amp;id=".$id."&amp;k=".$k]http://$_SERVER[SERVER_NAME]$cesta/str2.php?akce=yes&amp;id=".$id."&amp;k=".$k."", true, 303);
No a tady je můj problém: Po přesměrování kdy v příkazovým řádku vidím jak hodnutu id tak i k, vyjede mi chybové hlášení:
Notice: Undefined index: id in C:\wamp\www\str2.php on line 107
Notice: Undefined index: k in C:\wamp\www\str2.php on line 108

Kde na těchto dvou řádcích je toto:
$id=$_GET["id"];
$k=$_GET["k"];

Co mám špatně když ze stránky str1.php se mi údaje převezmou a ze stránky str3.php vyhodí chybu?
Davex
Profil
Háva:
Dále pak na str2.php mám odkaz na str3.php:
>
<a href='str2.php?akce=smaz&amp;id=".$id."&amp;k=".$k."'>STR3</a>
To je odkaz na str2.php.

Co mám špatně když ze stránky str1.php se mi údaje převezmou a ze stránky str3.php vyhodí chybu?
Chyba je v adrese, kterou odesíláš v hlavičce Location. Nemají tam být HTML entity a nevím, jestli to zdvojení je tam naschvál nebo to zmršila tato diskuse.

Mělo by to být asi nějak takto:
header("Location: http://$_SERVER[HTTP_HOST]/$cesta/str2.php?akce=yes&id=$id&k=$k", true, 303);
Tori
Profil
Davex:
nevím, jestli to zdvojení je tam naschvál nebo to zmršila tato diskuse
Bbcode převodník, psala jsem o tom do Úpravy diskuse • 2012 (návrhy a úpravy sandboxu), možná už se to v sandboxu vyřešilo, nevím.
Davex
Profil
Tori:
Bbcode převodník, psala jsem o tom
Něco takového jsem tušil. V sandboxu se to taky neopravilo, ale preventivně jsem rozbil potencionální odkaz pomocí h[!]ttp://.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: