Avatar billede -jesper- Nybegynder
08. oktober 2002 - 22:12 Der er 10 kommentarer og
1 løsning

PHP: Brok over udefinerede variabler

Halløjsa..

Jeg kører med en IIS server med PHP plugin. Mit problem er meget simpelt men jeg kan ikke selv finde løsningen på det. Jeg kalder f.eks. en side hvori at hvis der findes nogle ekstra variabler skal den udføre nogle kommandoer - eks.:

test.php:

..
..
<? If($page=="index"){?>
her er index
<? } ?>
...
..

Når jeg så bare kalder filen uden parametre, "test.php" skriver den:

Notice: Undefined variable: page in blablablablablablabla\test.php on line 6

jeg kan løse problemet ved at skrive øverst $page = ""; men det ødelægger jo mine variabler i så fald...

Hjææælp! :) Jeg tror at løsningen på ligge i php.ini i win-biblioteket men jeg ved hvad jeg skal gøre...
Avatar billede -jesper- Nybegynder
08. oktober 2002 - 22:35 #1
Der mangler selvfølgelig et "ikke" i .. jeg ved hvad jeg skal gøre... :)
Avatar billede jakoba Nybegynder
08. oktober 2002 - 22:39 #2
efter php version 4.2 bliver get og post værdier ikke længere oprettet som individuelle variable.  test ef med:

    <? If($_GET['page']=="index"){ ?>
eller
    <? If($_POST['page']=="index"){ ?>

om ikke en af dem giver en værdi.
se: http://dk.php.net/manual/en/language.variables.external.php
men der er også andre ændringer sæ læs videre.
http://dk.php.net/manual/en/language.variables.predefined.php

mvh JakobA
Avatar billede homsabu Nybegynder
08. oktober 2002 - 22:42 #3
grunden til at den melder fejl (hvis du kun kalder filen test.php UDEN variabler) er at så kommer scriptet til at se sådan ud;
<? If(=="index"){?>
her er index
<? } ?>
Og så mangler der jo et eller andet i scriptet... der mangler at stå at "noget" skal være lig "noget"....
Avatar billede agercon Nybegynder
08. oktober 2002 - 22:46 #4
Sæt følgende i din php.ini:

  error_reporting  =  E_ALL & ~E_NOTICE

De herligste hilsner, Claus Sørensen
Avatar billede agercon Nybegynder
08. oktober 2002 - 22:48 #5
Det er jo kun en advarsel (Warning) du modtager og ikke en fejl (Error).

I PHP behøver du ikke at sætte dine variabler før de benyttes, selv om det er en god idé.

De herligste hilsner, Claus Sørensen
Avatar billede -jesper- Nybegynder
08. oktober 2002 - 22:49 #6
Hmm, jeg tror jeg har fumlet i min forklaring.. Det jeg mener er at min test.php skal kunne vise flere ting, f.eks. $page==telefonliste,$page==kageopskrift osv. I ved sikkert hvad jeg mener nu. Og så kan man kalde filen med kageopskrift direkte ved at skrive: test.php?page=kageopskrift og det er jo også fint nok..

Men så fejler den hvis jeg blot vil kalde den test.php hvor den måske viser en oversigt over de andre valgmuligheder..
Avatar billede homsabu Nybegynder
08. oktober 2002 - 22:53 #7
så lav en;
<?
if($page==$null){
$page==index;
}
?>
Avatar billede agercon Nybegynder
08. oktober 2002 - 22:53 #8
-jesper-: Se mit svar og kommentaren lige under.

JakobA: Det kan også gøres således:

<? if ( ($_GET['page']=="index") || ($_POST['page']=="index") ) { ?>
  Skrives hvis betingelserne er opfyldt.
<? } ?>
Avatar billede -jesper- Nybegynder
08. oktober 2002 - 22:54 #9
Herligt - det var blot Claus' finesse - jeg lige skulle bruge..

Det er blot til start brug - bare vent, jeg skal nok få programmeret den "tight" ;) - Endnu engang tak for alle forslag...
Avatar billede -jesper- Nybegynder
08. oktober 2002 - 23:10 #10
ARGH, det løste ikke problemet... :( Jeg har et webhotel hos Tiscali og der viker følgende:

<?
echo "..";
if($show=="test"){
echo "SUCCES!";
}
?>

men det virker ikke på min egen server..
Avatar billede -jesper- Nybegynder
08. oktober 2002 - 23:14 #11
JakobA, den virkede :)....

<? if ( ($_GET['show']=="test") ) { ?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester