/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
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
Kode
Fra : Kokane
Vist : 1010 gange
50 point
Dato : 21-05-07 13:17

Jeg har lånet st script til et nyheds system og ændret lidt i det. Jeg kan dog desværre ikke få kode-funktionen til at virke. Når man indtaster en nyhed, kan man indtaste hvilken som helst kode! Nyheds systemet ligger på denne side: www.dengulefar.dk
Er der nogen der kan se hvad der er galt?

Koden ser så ledes ud:

Scriptet ser således ud:
<html><head><style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #999999;
}
body {
background-color: #000000;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
a {
font-size: 11px;
color: #999999;
}
a:visited {
color: #999999;
text-decoration: none;
}
a:hover {
color: #999999;
text-decoration: underline;
}
a:active {
color: #999999;
text-decoration: none;
}
a:link {
text-decoration: none;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<STYLE type=text/css>
<!--
html{
{SCROLLBAR-FACE-COLOR: #333333;
SCROLLBAR-HIGHLIGHT-COLOR: #000000;
SCROLLBAR-SHADOW-COLOR: #000000;
SCROLLBAR-3DLIGHT-COLOR: #000000;
SCROLLBAR-ARROW-COLOR: #ffff00;
SCROLLBAR-TRACK-COLOR: #000000;
SCROLLBAR-DARKSHADOW-COLOR: #000000; }
.style2 {font-weight: bold}
</STYLE>

</head>
<body>
<table width="400" height="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="left" valign="top"><form method="post" action="<? echo $PHP_SELF;?>">
<p align="center">&nbsp; </p>
<p align="center">
<?php
$db_host = "localhost";
$db_username = "dengulefar_dk";
$db_password = "X";
$db_dbname = "dengulefar_dk";

if(isset($_POST["kodeord"])&&$_POST["kodeord"]=="dgf"){
echo "<b>Nyheden er hermed tilf&oslash;jet</br></div>";
} else {
echo "<b>Tilf&oslash;j Nyhed</br>";
}

$db = mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_dbname, $db);

$nyhed_dato = time();

$nyhed_overskrift = $_POST["nyhed_overskrift"];
$nyhed_tekst = $_POST["nyhed_tekst"];

if(!get_magic_quotes_gpc()){
$nyhed_overskrift = addslashes($nyhed_overskrift);
$nyhed_tekst = addslashes($nyhed_tekst);
}
mysql_query("INSERT INTO nyheder (dato, overskrift, tekst) VALUES ('$nyhed_dato', '$nyhed_overskrift', '$nyhed_tekst')");
?>
</p>
<p><b class="style2">Kodeord:</b><br>
<input type="password" name="kodeord">
<br>
<span class="style2"><b><br>
Overskrift</b>:</span><br>
<input type="text" name="nyhed_overskrift">
<br>
<span class="style5"><br>
<strong>Tekst:</strong></span><br>
<textarea name="nyhed_tekst" cols="40" rows="5"></textarea>
<BR>
<br>
<input name="submit" type="submit" value="skriv">
</p>
<p>&nbsp;</p>
</form>
<div align="center"><a href="nyhed.vis.php" target="iframe">Tilbage til nyheder </a></div></td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>

Venlig hilsen
Kokane

 
 
Accepteret svar
Fra : præceptor

Modtaget 50 point
Dato : 21-05-07 14:42

Har du ikke læst de tre sidste indlæg til dig i http://www.kandu.dk/spg104433.aspx - efter du havde lukket. Dem skulle du tage at læse, fordi de bl.a. indeholder en løsning på det problem du har her.

Du kan jo nok se, at du ikke får meget ud af at teste for kode her:

Kode
if(isset($_POST["kodeord"])&&$_POST["kodeord"]=="dgf"){
echo "<b>Nyheden er hermed tilf&oslash;jet</b></div>";
} else {
echo "<b>Tilf&oslash;j Nyhed</br>";
}


Det eneste du får ud af det er, at teksten:

Nyheden er hermed tilføjet

udprintes hvis kodeord er rigtig, eller at teksten:

Tilføj Nyhed

udprintes hvis kodeord er forkert.

og det er jo ikke meget. Hele scriptet skal omstruktureres således:

if(isset($_POST["kodeord"])&&$_POST["kodeord"]=="dgf"){

hvis formen er udfyldt og kodeord samtidig er udfyldt korrekt, så skal der fortsættes her, og dette afsnit vedvarer indtil der afsluttes med en venstrevendt krølleparentes.

I dette afsnit anbringes det scriptafsnit som tager sig af indsættelse af data i database

} else {

Hvis formen ikke var udfyldt eller hvis kodeordet var forkert, så fortsættes der her, og her kan vi for så vidt nøjes med at skrive en overskrift for udfyldning af form og derefter blot afslutte PHP scriptet og lade formudfyldningen foregå i html.

}

og ud fra denne forklaring kan du se, at scriptets ophavsmand ikke selv har opfyldt den struktur han egentlig lagde op til. Det er den struktur jeg har bragt på plads med den foreslåede ændring af scriptet.

gå tilbage og læs de tre sidste indlæg i http://www.kandu.dk/spg104433.aspx


Kommentar
Fra : Kokane


Dato : 21-05-07 15:19

Hej Præceptor,
efter at jeg godkendte tråden, fik jeg ingen email om at der var kommet nye indlæg. Jeg har tjekket dine indlæg i den gamle tråd.
Jeg tror det virker nu.
Mange tak for hjæjpen.

VH
Kokane

Godkendelse af svar
Fra : Kokane


Dato : 21-05-07 15:20

Tak for svaret præceptor.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste