---
title: "Vad är felet???"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/70998-vad-är-felet"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Dike"
published: "2003-03-13T14:01:48.000Z"
updated: "2003-03-14T00:47:08.000Z"
replies: 5
views: 248
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/70998-vad-är-felet"
---

# Vad är felet???

## #1 — Dike, 2003-03-13T14:01Z

Jag kör en gästbok med ett lätt script som jag hittade på nätet.
Den består av en fil, "gb.php". Koden nedan finns i gb.php...

\<? 
if ($message) 
{ 
$message = ereg_replace("\\r\\n\\r\\n", "\\n\<P\>", $message); 
$date = date("l, F j Y, h:i a"); 
$message = "\<B\>$name \</B\> -- $date\<P\> $message \<BR\>\<HR\>"; 
$fp = fopen (basename($PHP_SELF) . ".comment", "a"); 
fwrite ($fp, $message); 
fclose ($fp); 
} 
@readfile(basename(($PHP_SELF . ".comment"))); 
?\> 
\<FORM method="post"\> 
\<b\>Name:\</b\>\<BR\>\<INPUT name="name" type="text" size="55"\>\<BR\> 
\<b\>Message:\</b\>\<BR\>\<TEXTAREA name="message" rows=10 cols=55 wrap=virtual\> 
\</TEXTAREA\>\<BR\> 
\<INPUT name="submit" type="submit" value="Post"\> 
\</FORM\>

Men när jag ska kolla på sidan så visas:

"Notice: Undefined variable: message in C:\\Documents and Settings\\semteX\\My Documents\\webbserver\\user\\danjel\\iowa\\gb.php on line 2"

Vad ska jag göra???

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

## #2 — UrMe, 2003-03-13T14:47Z

variablen $message är inte definierad.

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

## #3 — Duffer, 2003-03-14T00:35Z

eftersom att det är en if sats du börjar med måste den ha ngt att gå emot

t.ex. om du hade haft

if($message "inte är \*ngt\*")
då ska detta hända bla bla bla-...

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

## #4 — Darren, 2003-03-14T00:42Z

Ändra register_globals till On i php.ini filen. Observera att du då också skapar visa säkerhetsluckor i php...

Om du inte vill göra det så kan du ändra alla:
$message till $\_POST\["message"\] och
$name till $\_POST\["name"\]

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

## #5 — Darren, 2003-03-14T00:45Z

> **Duffer skrev:**
>
> eftersom att det är en if sats du börjar med måste den ha ngt att gå emot
> 
> t.ex. om du hade haft
> 
> if($message "inte är \*ngt\*")
> då ska detta hända bla bla bla-...

Detta är inte sant... 

Om variabel som du kontrollerar innehåller något värde så kommer *if($variabel)* returnera true och då uppfylls villkoren till if-satsen.

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

## #6 — Matte, 2003-03-14T00:47Z

Det första du kan göra är att kolla om variabeln är satt:

```
if ( isset($message) )
```

 
Nu kan det också vara så att du har register_globals satt till Off i din php.ini. Det är numera standard, men tidigare var det för det mesta On. Skriptet kräver On för att fungera.
Då måste du bygga om din kod. Du kan t.ex göra så här:

```php
<?php

if (isset($_POST['message'])) 
{ 
$message = ereg_replace("\r\n\r\n", "\n<P>", $_POST['message']); 
$date = date("l, F j Y, h:i a"); 
$message = "<B>{$_POST['name']} </B> -- $date<P> $message <BR><HR>"; 
$fp = fopen (basename($_SERVER['PHP_SELF']) . ".comment", "a"); 
fwrite ($fp, $message); 
fclose ($fp); 
} 
@readfile(basename(($_SERVER['PHP_SELF'] . ".comment")));
 
?>
```

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

---

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