/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Fejl ?
Fra : Jesper Poulsen


Dato : 29-01-06 18:59

Hej!

Jeg har kodet en gæstebog, men da jeg så skulle afprøve den fik
jeg en fejl! Jeg forstår den ikke, for synes det ser helt korrekt
ud det jeg har skrevet.

Kode:

<?php
$db = mysql_connect("localhost", "user", "pass");
mysql_select_db("gbog", $db);

if($skriv){
$besked = str_replace("\n", "<br />", $besked);
$dato_array = getdate();
$dato = $dato_array["mday"]."/". $dato_array["mon"]."-".
$dato_array["year"];
mysql_query("INSERT INTO bpg (navn, email, dato, besked) VALUES
('$navn','$email','$dato','$besked')");
}
?>

Fejl:

Notice: Undefined variable: skriv in ..\index.php on line 17

Line 17:

if($skriv){..

Håber I kan hjælpe!

Mvh Jesper Poulsen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Erlend Klakegg Bergh~ (29-01-2006)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 29-01-06 19:19

Jesper Poulsen skrev:
> Hej!
>
> Jeg har kodet en gæstebog, men da jeg så skulle afprøve den fik
> jeg en fejl! Jeg forstår den ikke, for synes det ser helt korrekt
> ud det jeg har skrevet.
> Kode:
>
> <?php
> $db = mysql_connect("localhost", "user", "pass");
> mysql_select_db("gbog", $db);
>
> if($skriv){
> $besked = str_replace("\n", "<br />", $besked);
> $dato_array = getdate();
> $dato = $dato_array["mday"]."/". $dato_array["mon"]."-".
> $dato_array["year"];
> mysql_query("INSERT INTO bpg (navn, email, dato, besked) VALUES
> ('$navn','$email','$dato','$besked')");
> } ?>
>
> Fejl:
>
> Notice: Undefined variable: skriv in ..\index.php on line 17
>
> Line 17:
>
> if($skriv){..
>
> Håber I kan hjælpe!

Feilmeldingen tilsier at variabelen $skriv ikke er i bruk (har ikke fått
noen verdi). Foreslår at du går gjennom koden og kontrollerer om det er
gjort noe før den oppgitte koden som er feil.

For din egen del kan du skrive følgende kode før if-setningen. Den skal
vise "true" på begge punktene for at innholdet i if-setningen skal kjøre.

echo "<br>Er i bruk: ".(isset($skriv) ? "true" : "false");
echo "<br>Har positiv verdi: ".(isset($skriv) && (int) $skriv > 0 ?
"true" : false)."<br>";

Lykke til.

--

Vennlig hilsen

Erlend Klakegg Bergheim

Jesper Poulsen (29-01-2006)
Kommentar
Fra : Jesper Poulsen


Dato : 29-01-06 20:20

> Feilmeldingen tilsier at variabelen $skriv ikke er i bruk (har ikke fått
> noen verdi). Foreslår at du går gjennom koden og kontrollerer om det er
> gjort noe før den oppgitte koden som er feil.
>
> For din egen del kan du skrive følgende kode før if-setningen. Den skal
> vise "true" på begge punktene for at innholdet i if-setningen skal kjøre.
>
> echo "<br>Er i bruk: ".(isset($skriv) ? "true" : "false");
> echo "<br>Har positiv verdi: ".(isset($skriv) && (int) $skriv > 0 ?
> "true" : false)."<br>";

Ja, men den er jo i brug skulle jeg mene ?

Kode:

<form method="post" action="<?php echo $PHP_SELF;?>">
<input type="hidden" name="skriv" value="2">
Navn: <br /><input type="text" name="navn"><br />
Email: <br /><input type="text" name="email"><br />
Tekst: <br /><textarea name="besked"> </textarea><br />
<input type="submit" value="Send"> <input type="reset" value="Slet">

Mvh Jesper Poulsen

>Lykke til

Tak:)

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Erlend Klakegg Bergh~ (29-01-2006)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 29-01-06 20:23

Jesper Poulsen skrev:
>> Feilmeldingen tilsier at variabelen $skriv ikke er i bruk (har ikke fått
>> noen verdi). Foreslår at du går gjennom koden og kontrollerer om det er
>> gjort noe før den oppgitte koden som er feil.
>>
>> For din egen del kan du skrive følgende kode før if-setningen. Den skal
>> vise "true" på begge punktene for at innholdet i if-setningen skal kjøre.
>>
>> echo "<br>Er i bruk: ".(isset($skriv) ? "true" : "false");
>> echo "<br>Har positiv verdi: ".(isset($skriv) && (int) $skriv > 0 ?
>> "true" : false)."<br>";
>
> Ja, men den er jo i brug skulle jeg mene ?
>
> Kode:
>
> <form method="post" action="<?php echo $PHP_SELF;?>">
> <input type="hidden" name="skriv" value="2">
> Navn: <br /><input type="text" name="navn"><br />
> Email: <br /><input type="text" name="email"><br />
> Tekst: <br /><textarea name="besked"> </textarea><br />
> <input type="submit" value="Send"> <input type="reset" value="Slet">
>
> Mvh Jesper Poulsen
>
>> Lykke til
>
> Tak:)

Feilen ligger nok i at register_globals er satt til "off" på serveren.
Hva skjer om du bytter prøver følgende:

Bytte ut:
if ($skriv)

Med:
if (isset($_POST["skriv"]) && $_POST["skriv"] == 2)


Håper det løser problemet ditt. :)


--

Vennlig hilsen

Erlend Klakegg Bergheim

Søren Bertelsen (29-01-2006)
Kommentar
Fra : Søren Bertelsen


Dato : 29-01-06 20:25

Erlend Klakegg Bergheim skrev:
> Jesper Poulsen skrev:
>>> Feilmeldingen tilsier at variabelen $skriv ikke er i bruk (har ikke
>>> fått noen verdi). Foreslår at du går gjennom koden og kontrollerer
>>> om det er gjort noe før den oppgitte koden som er feil.
>>> For din egen del kan du skrive følgende kode før if-setningen. Den
>>> skal vise "true" på begge punktene for at innholdet i if-setningen
>>> skal kjøre.
>>> echo "<br>Er i bruk: ".(isset($skriv) ? "true" : "false"); echo
>>> "<br>Har positiv verdi: ".(isset($skriv) && (int) $skriv > 0 ?
>>> "true" : false)."<br>";
>>
>> Ja, men den er jo i brug skulle jeg mene ?
>> Kode:
>>
>> <form method="post" action="<?php echo $PHP_SELF;?>">
>> <input type="hidden" name="skriv" value="2">
>> Navn: <br /><input type="text" name="navn"><br />
>> Email: <br /><input type="text" name="email"><br />
>> Tekst: <br /><textarea name="besked"> </textarea><br />
>> <input type="submit" value="Send"> <input type="reset" value="Slet">
>>
>> Mvh Jesper Poulsen
>>
>>> Lykke til
>>
>> Tak:)
>
> Feilen ligger nok i at register_globals er satt til "off" på serveren.
> Hva skjer om du bytter prøver følgende:
>
> Bytte ut:
> if ($skriv)
>
> Med:
> if (isset($_POST["skriv"]) && $_POST["skriv"] == 2)
>
>
> Håper det løser problemet ditt. :)
>
>
du mangler så også at slutte nogle linjer af, bl.a. linje 17 :)

;

Jesper Poulsen (29-01-2006)
Kommentar
Fra : Jesper Poulsen


Dato : 29-01-06 20:57

> Feilen ligger nok i at register_globals er satt til "off" på serveren.
> Hva skjer om du bytter prøver følgende:
>
> Bytte ut:
> if ($skriv)
>
> Med:
> if (isset($_POST["skriv"]) && $_POST["skriv"] == 2)
>
>
> Håper det løser problemet ditt. :)

Tak! Det gjorde det :)

Mvh Jesper Poulsen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Leif Neland (30-01-2006)
Kommentar
Fra : Leif Neland


Dato : 30-01-06 09:39

Jesper Poulsen wrote:
> Hej!
>
> Jeg har kodet en gæstebog, men da jeg så skulle afprøve den fik
> jeg en fejl! Jeg forstår den ikke, for synes det ser helt korrekt
> ud det jeg har skrevet.
>
> Kode:
>
> <?php
> $db = mysql_connect("localhost", "user", "pass");
> mysql_select_db("gbog", $db);
>
> if($skriv){
> Fejl:
>
> Notice: Undefined variable: skriv in ..\index.php on line 17
>
¨For the record: Det er pga at "register_globals" ikke er sat.
Af sikkerhedsmæssige grunde kan man så ikke bare sætte en variabel ved at
poste eller get'e, men den skal refereres som $_GET[skriv] eller
$_POST[skriv] eller $_COOKIE[skriv]

register_globals er pr default ændret til at være slået fra, så man ikke
f.ex. skal kunne bypasse et login, ved at tilføje et &logged_in=true, hvis
scriptet er dårligt skrevet.

register_globals slået fra gør det netop også muligt at fange brug af
ikke-initialiserede variable; var register_globals slået til, kunne php ikke
vide, om du regnede med at $skriv kom fra din form, eller det var en
stavefejl.

Leif



Jesper Poulsen (30-01-2006)
Kommentar
Fra : Jesper Poulsen


Dato : 30-01-06 18:32

> For the record: Det er pga at "register_globals" ikke er sat.
> Af sikkerhedsmæssige grunde kan man så ikke bare sætte en variabel ved at
> poste eller get'e, men den skal refereres som $_GET[skriv] eller
> $_POST[skriv] eller $_COOKIE[skriv]
>
> register_globals er pr default ændret til at være slået fra, så man ikke
> f.ex. skal kunne bypasse et login, ved at tilføje et &logged_in=true, hvis
> scriptet er dårligt skrevet.
>
> register_globals slået fra gør det netop også muligt at fange brug af
> ikke-initialiserede variable; var register_globals slået til, kunne php ikke
> vide, om du regnede med at $skriv kom fra din form, eller det var en
> stavefejl.

Okay, tak! Det er meget rart at vide :)

Mvh Jesper Poulsen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste