---
title: "Vad är fel?!!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/47811-vad-är-fel"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Asa"
published: "2002-07-13T13:19:14.000Z"
updated: "2002-07-14T11:17:50.000Z"
replies: 19
views: 648
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/47811-vad-är-fel"
---

# Vad är fel?!!

## #1 — Asa, 2002-07-13T13:19Z

Jag får felmeddelande när jag klickar på Tom eller när sidan laddas! Varför?

Warning: Undefined variable: visa in c:\\inetpub\\wwwroot\\php\\hmm.php on line 2

Warning: Undefined variable: visa in c:\\inetpub\\wwwroot\\php\\hmm.php on line 4

```
<? 
if ($visa == "ja") { 
   $text = "JA"; 
} elseif ($visa == "nej") { 
   $text = "NEJ"; 
} else { 
  $text = "Tom"; 
} 
?>  
 
<a href="hmm.php?visa=ja">Ja</a> - 
<a href="hmm.php?visa=nej">Nej</a> - 
<a href="hmm.php">Tom</a>  
<br>  
<?=$text?>
```

Permalänk: https://www.webforum.nu/p/47811

## #2 — bohlin, 2002-07-13T13:37Z

lägg till detta överst:
$visa = $\_GET\["visa"\] ;

Permalänk: https://www.webforum.nu/p/720828

## #3 — Asa, 2002-07-13T13:40Z

Okej - nu blir det fel på den raden jag la in!

Warning: Undefined index: visa in c:\\inetpub\\wwwroot\\php\\hmm.php on line 2

Permalänk: https://www.webforum.nu/p/720829

## #4 — Picklezz, 2002-07-13T13:53Z

går du in på sidan "http://www.domän.se/mapp/index.php" så måste du efteråt skriva "?visa=ja"

Permalänk: https://www.webforum.nu/p/720835

## #5 — Asa, 2002-07-13T13:55Z

Varför? Med asp funkar det ju bra ju! Ska ju bara vara hmm.php först ju! Går det ej menar du?

Permalänk: https://www.webforum.nu/p/720836

## #6 — hawkbog, 2002-07-13T13:57Z

Jag la till lite html innan och efter så att det till slut såg ut såhär:

```php
<html>
<head></head>
<body>
<?
if ($visa == "ja") {
   $text = "JA";
   } elseif ($visa == "nej") {
    $text = "NEJ";
    } else {
    $text = "Tom";
    }
?>

<a href="hmm.php?visa=ja">Ja</a> -
<a href="hmm.php?visa=nej">Nej</a> -
<a href="hmm.php">Tom</a>
<br>
<?=$text?>

</body>
</html>
```

 

Och allt fungerar bra för mig...

(kör php 4.1.2 på Mandrake 8.2)

Permalänk: https://www.webforum.nu/p/720839

## #7 — Asa, 2002-07-13T13:57Z

Så här har jag ju i asp:

\<%If Request.QueryString("kat") = "" Then%\>
Tom
\<%ElseIf Request.QueryString("kat") = "3" Then%\>
1
\<%ElseIf Request.QueryString("kat") = "2" Then%\>
2
\<%End If%\>

Permalänk: https://www.webforum.nu/p/720840

## #8 — Asa, 2002-07-13T13:59Z

Mandrake?? Jag har PHP 4.2.1 och kör med Win XP!

Permalänk: https://www.webforum.nu/p/720841

## #9 — hawkbog, 2002-07-13T14:06Z

Mandrake är en linuxdistribution men jag har svårt att förstå att det skulle spela någon större roll.

Hos mig fungerar det i alla fall, se <http://www.odenholm.nu/download/hmm.php>

Permalänk: https://www.webforum.nu/p/720844

## #10 — Asa, 2002-07-13T14:08Z

Hmm - undra vad felet e då? Men dåvet jag iallafall att koden funkar! Tackar :)

Kan det vara nån fil som inte blivit rätt installerad eller nån fil som fattas på min data?

Permalänk: https://www.webforum.nu/p/720845

## #11 — Matte, 2002-07-13T23:37Z

Som jag kan se så är det inget fel på din PHP-installation. Skriptet uppför sig precis som det ska. Vad du får är en varning om att din variabel inte är definierad eller initierad. Vad du kan göra är att kolla först om den finns:

```
<? 
if (isset($_GET['visa'])){
  if ($_GET['visa'] == "ja") { 
    $text = "JA"; 
  } elseif ($_GET['visa'] == "nej") { 
    $text = "NEJ"; 
  } else { 
    $text = "Något annat"; 
  } 
} else $text = "Tom"; 
?>  
 
<a href="hmm.php?visa=ja">Ja</a> - 
<a href="hmm.php?visa=nej">Nej</a> - 
<a href="hmm.php">Tom</a>  
<br>  
<?=$text?>
```

 
Skulle du ha register_globals=On i din php.ini så går det bra att byta ut $\_GET\['visa'\] mot $visa, men det är av säkerhetsskäl inte något som rekommenderas.

Permalänk: https://www.webforum.nu/p/721011

## #12 — Asa, 2002-07-14T00:05Z

Men det funkar ju när jag skickar upp det på min webhotell (Loopia)!

Permalänk: https://www.webforum.nu/p/721017

## #13 — Selle, 2002-07-14T00:08Z

Hehe, så det funkar inte på din dator? :)

Permalänk: https://www.webforum.nu/p/721019

## #14 — Asa, 2002-07-14T00:09Z

Den är på On och om jag sätter den på Off så funkar ej php för mig! Men allt funkar när jag använder koden du skrev! Har jag som jag skrev så blir det felmeddelanden!

Det jobbiga är att jag jämt får fel på andra phpscript som är rätt ju! Lite jobbigt!

Lite jobbigt med alla såna här felmeddelanden:

Notice: Undefined variable: NAM in FILEN.php on line XX

Permalänk: https://www.webforum.nu/p/721020

## #15 — Asa, 2002-07-14T00:20Z

Hur skriver jag för att få det så här ungefär? Så man kan lägga texten mellan ifsatserna! Jag har ju så nu med asp!

\<?if ($visa == "ja") { ?\>
Ja
\<?if ($visa == "nej") { ?\>
Nej
\<?else?\>
Annat

Permalänk: https://www.webforum.nu/p/721025

## #16 — Matte, 2002-07-14T07:53Z

PHP godkänner en odefinierad variabel men är inte riktigt glad över det och sänder därför ut en notis om det, som ett litet tips om att man bör justera sitt skript lite. 
Dessa notiser går att ta bort med en inställning i php.ini. I äldre php-versioner så var grundinställningen att inte visa notiser så det är därför du hittar en massa skript på nätet som ger dessa varningar. 
För att skriva om din kod, skulle du kunna göra såhär:

```
<? if (isset ($visa) && $visa == "ja") { ?> 
Ja 
<? } elseif (isset ($visa) && $visa == "nej") { ?> 
Nej 
<? } else { ?> 
Annat
<? } ?>
```

 
Att ändra i php.ini är inget jag rekommenderar på en utvecklingsdator, bättre att lära sig skriva "korrekt" kod. För det mesta handlar det om att lägga ett if(isset($variabel)) före. Annars ta en titt på error_reporting i php.ini. Tror för att få bort notiserna, ska du skriva error_reporting  =  E_ALL & \~E_NOTICE (tror jag). Har det själv inställt på E_ALL för att fånga upp alla "felmeddelanden".

Permalänk: https://www.webforum.nu/p/721052

## #17 — Asa, 2002-07-14T08:00Z

Tackar för det! Hjälpte inte att ändra i php.ini filen men jag ¨får väl lära mig skriva "korrekt" kod då!

Men koden du skrev i inlägget ovan funkar fint!

Permalänk: https://www.webforum.nu/p/721054

## #18 — Matte, 2002-07-14T08:20Z

Jag tycker det är bäst att satsa på "korrekt" kod.  :) 

När jag gjorde min senaste uppdatering av PHP så fick jag som grundinställning att inte visa notiser. Detta ändrade jag i php.ini, eftersom jag vill ha alla "felmeddelanden" (alltså på andra hållet). Jag har för mig att det före ändring stod som jag beskrev ovan, men jag minns visst fel.
Annars, om du kör PHP som modul så måste man starta om webservern för att de nya inställningarna i php.ini skall gälla.

Permalänk: https://www.webforum.nu/p/721056

## #19 — Asa, 2002-07-14T08:44Z

Okej - ska kolla om det funkar!

Permalänk: https://www.webforum.nu/p/721061

## #20 — Asa, 2002-07-14T11:17Z

Funkar hur bra som helts nu! Tackar för all hjälp!

Permalänk: https://www.webforum.nu/p/721105

---

Tråden på webben: https://www.webforum.nu/amne/php/47811-vad-är-fel
