Autor Zpráva
aduben
Profil *
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
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";}
, aby nedocházelo k ˝pomlácení˝ indexu.
//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 *
Soubory jsem přejmenovala, skript funguje ale astále mi to tam háže to: ....undefined.......
Beavis
Profil
aduben
Pak je chyba na straně serveru.
aduben
Profil *
Vyzkouším ho tedy na ostrem serveru a uvidím.
aduben
Profil *
na ostrém serveru bez problémů................
aduben
Profil *
asi není v pořádku, že mi apache server hlásí že nelze otevřít manažer služeb....že?
Beavis
Profil
aduben
Opravdu není :-) Doporučuji XAMPP server..
aduben
Profil *
Půjde mi ve Vistách?
aduben
Profil *
ten server mi to nevyřeší, některé ostré servery jsou nastaveny tak aby chyby nehlásily
perun
Profil
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
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
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 *
ok funguje to, dík

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