Autor | Zpráva | ||
---|---|---|---|
aduben Profil * |
#1 · Zasláno: 28. 9. 2009, 17:47:20
Prosím , nevíte kde je chyba v tomto skriptu?
<div class="odkazy"> <p><a href="index.php">Úvod</a> | <a href="index.php?text=uprising">Uprising</a> | <a href="index.php?text=resistance">Resistance</a> | <a href="index.php?text=guiding">Guiding light</a></p> </div><!-- konec odkazu --> <div id="texty-muse"> <?php $text = $_GET["text"]; if ($text == "uprising") {include "uprising.inc";} elseif ($text == "resistance") {include "resistance.inc";} elseif ($text == "guiding") {include "guiding.inc";} else {include "index.inc";} ?> </div><!-- konec textu muse --> Celý skript mi funguje , jenom na hlavním stránce index.php mi to hlásí :Undefined index: text in C:\PHPWebServer\http_docs\pokus-include\index.php on line 30 Podotýkám že php zatím tak dobře neovládám, ovšem mi nepříjde že by tam byla nějaká parsovací chyba...... tento skript jsem stáhla z Odkaz Pokud někdo poradí, budu ráda. Dík |
||
Beavis Profil |
#2 · Zasláno: 28. 9. 2009, 17:50:34 · Upravil/a: Beavis
aduben
Chyba je, že se index nedá vkládat do indexu. Tedy dá, ale je lepší použít místo else {include "index.inc";} třeba else {include "novinky.inc";} //edit: Moje chyba, nevšiml jsem si odlišných koncovek. Server neví který index použít, takže stále platí rada uvedená výše. |
||
aduben Profil * |
#3 · Zasláno: 28. 9. 2009, 18:01:01
Soubory jsem přejmenovala, skript funguje ale astále mi to tam háže to: ....undefined.......
|
||
Beavis Profil |
#4 · Zasláno: 28. 9. 2009, 18:46:38
aduben
Pak je chyba na straně serveru. |
||
aduben Profil * |
#5 · Zasláno: 28. 9. 2009, 18:47:50
Vyzkouším ho tedy na ostrem serveru a uvidím.
|
||
aduben Profil * |
#6 · Zasláno: 28. 9. 2009, 18:57:14
na ostrém serveru bez problémů................
|
||
aduben Profil * |
#7 · Zasláno: 28. 9. 2009, 19:02:04
asi není v pořádku, že mi apache server hlásí že nelze otevřít manažer služeb....že?
|
||
Beavis Profil |
#8 · Zasláno: 28. 9. 2009, 19:02:48
aduben
Opravdu není :-) Doporučuji XAMPP server.. |
||
aduben Profil * |
#9 · Zasláno: 28. 9. 2009, 19:41:26
Půjde mi ve Vistách?
|
||
aduben Profil * |
#10 · Zasláno: 29. 9. 2009, 11:50:12
ten server mi to nevyřeší, některé ostré servery jsou nastaveny tak aby chyby nehlásily
|
||
perun Profil |
#11 · Zasláno: 29. 9. 2009, 12:17:57
„Chyba je, že se index nedá vkládat do indexu. “
Ale toto nie je podstatou tej chyby. problém, prečo ti PHP vypisuje danú hlášku je ten, že pristupuješ k prvku poľa, ktorý neexistuje (a nastavenia serveru sú také, že ti to vypíše chybu, čo väčšinou nerobí). Oprav tento kód: $text = $_GET["text"]; na niečo takéto: $text = ''; if (isset($_GET['text'])) { $text = $_GET['text']; } |
||
nightfish Profil |
#12 · Zasláno: 29. 9. 2009, 12:19:33 · Upravil/a: nightfish
aduben
zapomeň na všechno, co tu Beavis napsal, jsou to bludy řádek 11 svého kódu uprav na if (isset($_GET['text'])) $text = $_GET["text"]; else $text = ""; EDIT: pozdě |
||
Joker Profil |
#13 · Zasláno: 29. 9. 2009, 12:19:51 · Upravil/a: Joker
Beavis:
„Server neví který index použít, takže stále platí rada uvedená výše.“ eh? aduben: Příčina je jinde než píše Beavis. Undefined index: text in C:\PHPWebServer\http_docs\pokus-include\index.php on line 30 = v poli $_GET není definován index "text" Zřejmě hlavní stránku máte jen index.php bez ?text=něco, tím pádem není definované $_GET["text"] a PHP vyhodí poznámku (mimochodem, je to poznámka - notice, nikoliv chyba) , když se s ním snažíte pracovat. Řešení: použijte isset() nebo empty(). Příklad: $text = isset($_GET["text"]) ? $_GET["text"] : ""; „na ostrém serveru bez problémů“ Ve skutečnosti problém přetrvává, jen ostrý server je nastavený tak, že nezobrazuje poznámky (což je vcelku logické nastavení) edit: njn, to mám z toho, že píšu tak dlouhé příspěvky :-) |
||
aduben Profil * |
#14 · Zasláno: 29. 9. 2009, 20:18:00
ok funguje to, dík
|
||
Časová prodleva: 15 let
|
0