Autor Zpráva
Goran42
Profil
Dobrý den .
Při pokusu o zprovoznění svých stránek jsem se setkal s touto chybou: Notice: Undefined index: action in /3w/wz.cz/p/plechovky/pokus.php on line 6
Řádek č.6 v souboru pokus.php vypadá takto :
   <?php $action = $_GET["action"]; ?>
   
Při vytváření stránek vycházím z informací na stránkách: www.tvorba-webu.cz/php/vetveni.php
Netuším ale zda chyba nesouvisí i s něčím jiným.
Za všechny rady děkuji.


Moderátor juriad: Neobaluj prosím celý příspěvek mezi značky [pre] a [/pre].
Dan Charousek
Profil
Jednoduše:

Proměnná $_GET obsahuje asociativní pole klíč => hodnota, které si vytáhne z url adresy (z té sekce za otazníčkem). Vypadá-li adresa např. takto: index.php?klic1=pes&klic2=kocka následující výpis vypíše "pes, kocka"

echo $_GET['klic1'] . " " . $_GET['klic2'];

Ty si ve svém scriptu ukládáš do proměnné $action hodnotu, které se nachází pod klíčem action právě v adrese.
No ale co když v adrese takový klíč není? Tak se snažíš přistoupit do pole pro hodnotu pod klíčem, který v něm není. Asi jako bych se snažil o toto:

$array = ['key1' => 'neco'];
echo $array['rododendron'];

Dostanu stejný notice jako ty s tím, že přistupuji k něčemu, co v poli není. Proto, než se pokusíš hodnotu pod daným klíčem číst, musíš zjistit, zda tam vůbec je:

$action = isset($_GET['action']) ? $_GET['action'] : 'Výchozí hodnota, pokud klíč není v adrese';
Goran42
Profil
Díky za radu, provedl jsem změnu podle rady . Ale mám problém, mám 2 php soubory ( "stránky" ) označené a1 , a2 ale o provedení změny mi i po změně "stránky" v adresním řádku (... /index.php?str=a2 ) nebo i po kliknutí na odkaz v menu zůstává pouze "stránka" zadaná v: $action = isset($_GET['action']) ? $_GET['action'] : 'Výchozí hodnota, pokud klíč není v adrese'; , jako "Výchozí hodnota, pokud klíč není v adrese" . Nemohu přijít na to kde dělám chybu ...
Dan Charousek
Profil
Se podívej, jak vypadá ten kus kódu:

$action = isset($_GET['action']) ? $_GET['action'] : 'Výchozí hodnota, pokud klíč není v adrese';

a co jsi uvedl za adresu:

... /index.php?str=a2
Goran42
Profil
AHA .. já jsem ale hlupák .. opraveno a funguje to díky za ochotu a trpělivost ... :-)

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:

0