|
| 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
| |
|
|