Avatar billede malawimoto Nybegynder
21. december 2006 - 21:19 Der er 17 kommentarer

Hvorfor får jeg en fejl i denne script?

Har brugt den script i mange år, på en mandrake 10.0 server efter jeg flyttet den til en SuSe 10.2 server uden at ændre scriptet kommer følgende fejl

Undefined variable: kodeord in /srv/www/htdocs/addnews.php on line 33, referer: http://bond.007.com/addnews.php


Anybody know why?


<?
if($kodeord=="123"){
echo "Brevet er nu tilf&oslash;jet luk vinduet for at fors&aelig;tte";
$db = mysql_connect("localhost","bond","007");
mysql_select_db("nyheder",$db);
$news_dato = time();

mysql_query("INSERT INTO nyheder(dato,overskrift,tekst,siden) VALUES ('$news_dato','$news_overskrift','$news_tekst','$sidste_overskrift')");
}
else
{
?>

<FORM method=post action=<? $_SERVER['PHP_SELF']?>>
<p><label for="t1">Password:</label></p>
                <p><label for="t1"></label></p>
<br/>
<INPUT type=PASSWORD name=kodeord id=t1>
<br/>
<p><label for="t2">Overskrift:</label></p>
<br>
<INPUT type=text name=news_overskrift id=t2 value="<h3>Overskrift ?</h3>">
<br/>
<br/>
<p><label for="t2">Label til sidste nyt p&aring; siden:</label></p>
<br>
<INPUT type=text name=sidste_overskrift id=t2>
<br/>
<TEXTAREA  id=t3 name=news_tekst cols="400" rows="30">her intastes brevet</TEXTAREA>
<INPUT type=submit value=opdater id=submit>
</FORM>
<?
}
?>
Avatar billede erikjacobsen Ekspert
21. december 2006 - 21:26 #1
Meget meget gammel måde at gøre det på. I dag:

if(isset($_POST['kodeord']) && $_POST['kodeord']=="123"){
Avatar billede zynzz Praktikant
21. december 2006 - 21:27 #2
måske:?
('$news_dato','$_POST[news_overskrift]','$_POST[news_tekst]','$_POST[sidste_overskrift]')");
Avatar billede zynzz Praktikant
21. december 2006 - 21:28 #3
og så det som erikjacobsen skriver !
Avatar billede malawimoto Nybegynder
21. december 2006 - 21:34 #4
Jeg er ikke den stor PHP haj...finder for det mest scripts rundt omkring som jeg genbruger...prøvet lige eriks udgave den virker fint, tak for det...

Hvordan lukker jeg og tildeler dig point
Avatar billede erikjacobsen Ekspert
21. december 2006 - 21:41 #5
Jeg samler slet ikke på point, tak.

Hvis min rettelse er det eneste du behøver, har du stadig en middelalder-opsætning af PHP med register_globals slået til, og hvem ved hvad mere.

Der er langt imellem hestevognene på motorvejen i dag - men en gang var de jo gode nok.
Avatar billede malawimoto Nybegynder
21. december 2006 - 22:02 #6
og det du siger er at den skal slås fra eller hvad?
Avatar billede malawimoto Nybegynder
21. december 2006 - 22:07 #7
det er vist ikke det hele, for når siden opdateres via den script, er de oplysninger ikke opdateret i mysql servern Datoen og ID er der men mangler resten af info.
Avatar billede erikjacobsen Ekspert
21. december 2006 - 22:09 #8
Ok, så er register_globals i det mindste slået fra. Du skal gøre som zynzz skriver
Avatar billede malawimoto Nybegynder
21. december 2006 - 22:15 #9
Er det her ikke en register_globals

<?php
    session_start()
        if(empty($_SESSION['user_name'])) {
        die('Du er ikke logget p&#65533; eller din session er udlbet.
            Pr&aring; venligest at <a href="bond.php">login</a> igen eller kontakt
            <a href="mailto:jaws@bond.007.com">system administrator</a>');}?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="dk">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="Shaken not stirred" />
<meta name="keywords" content="women, lust and money" />
<meta name="author" content="" />
<link rel="stylesheet" type="text/css" href="css.css" media="screen" title="" />
<title></title>
</head>
<body>
Avatar billede erikjacobsen Ekspert
21. december 2006 - 22:29 #10
Den er ok.
Avatar billede malawimoto Nybegynder
21. december 2006 - 22:37 #11
Det vil sige du forslog at min if sætning skal være sådan
<?
if('$news_dato','$_POST[news_overskrift]','$_POST[news_tekst]','$_POST[sidste_overskrift]')");
echo "Brevet er nu tilf&oslash;jet luk vinduet for at fors&aelig;tte";
$db = mysql_connect("localhost","bond","007");
mysql_select_db("nyheder",$db);
$news_dato = time();

mysql_query("INSERT INTO nyheder(dato,overskrift,tekst,siden) VALUES ('$news_dato','$news_overskrift','$news_tekst','$sidste_overskrift')");
}
else
{
?>
Avatar billede malawimoto Nybegynder
21. december 2006 - 22:47 #12
ok tror jeg er med...men i må bærer over med mig..som sagt det er ikke min stærk side...

if(isset($_POST['kodeord']) && $_POST['kodeord']=="123"){
echo "Brevet er nu tilf&oslash;jet luk vinduet for at fors&aelig;tte";
$db = mysql_connect("localhost","bond","007");
mysql_select_db("nyheder",$db);
$news_dato = time();

mysql_query("INSERT INTO nyheder(dato,overskrift,tekst,siden) VALUES('$news_dato','$_POST[news_overskrift]','$_POST[news_tekst]','$_POST[sidste_overskrift]')");
Avatar billede malawimoto Nybegynder
21. december 2006 - 22:59 #13
Har lavet det om til ovenstående og får stadig en fejl meddelse omkring variablet

PHP Notice:  Undefined variable: kodeord in /srv/www/htdocs/addnews.php on line 33, referer: http://jaws.bond.007.com/addnews.php
Avatar billede erikjacobsen Ekspert
21. december 2006 - 23:13 #14
Det gør du ikke med den kode, du viser her.
Avatar billede malawimoto Nybegynder
21. december 2006 - 23:57 #15
Kanon....det virkede...kopierede den forkert fil på serveren...men selvom det virker
siger du sammentidig at den er ancient og skal rewrites med nye PHP code...
Avatar billede erikjacobsen Ekspert
22. december 2006 - 00:19 #16
Nej, det siger jeg ikke længere. Læs hvad der står. Men der er andet, fx:
SQL-injektion er en mulighed, hvis ikke PHP selv laver magic_quotes.

Man skal generelt ikke lege med programmering på en offentlig webside, uden at have et større kendskab til sikkerhed, end jeg fornemmer end du har.
Avatar billede malawimoto Nybegynder
22. december 2006 - 00:52 #17
Jo jeg ved det...kan bare ikke kom videre...Jeg siger mange tak for hjælpen, det kan være jeg skal gør alvor af det og læse et par bøger om PHP.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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