Avatar billede Frederik Nybegynder
11. januar 2005 - 20:23 Der er 4 kommentarer og
1 løsning

Nyheds Script.

Hej.
Jeg er ny til php og har prøvet at lave et eks. på et nyheds script fra en bog, men når jeg logger ind skriver den bare med det samme at nyheden er tilføjet og så skriver der er en fej bagefter og på den side jeg har sat nyheden til at blive vist er der også bare en fejlmeddelelse. Så det ville være dejligt hvis i kan fortælle mig hvad jeg eventuelt kan gøre.

Her er koden til siden hvor man tilføjer nyheden:

<?
$kodeord = md5("kodeord");
if($kodeord == $kodeord){
    echo "Nyheden er tilføjet";
    $db = mysql_connect("localhost", "root", "password");
    musql_select_db("nyheder", $db);
    $nyhed_dato = time();

mysql_query("insert into nyheder (dato, overskrift, tekst) values (´$nyhed_dato´, ´$nyhed_overskrift´, ´$nyhed_tekst´,)");

} else {
?>
<form method=post actions=<? echo $php_self; ?>>
kodeord:<br>
<input type=password name=kodeord><br>
overskrift:<br>
<input type=text name=nyhed_overskrift><br>
tekst:<br>
<textarea name=nyhed_tekst>her indtastes nyheden</textarea><br>
<input type=submit value=skriv>
</form>
<?
}
?>

Her er koden til hvor nyheden skulle blive vist :

<?
$db = mysql_connect("localhost", "root", "password");
mysql_select_db("nyheder", $db);
$foresp = mysql_query("SELECT dato, overskrift, tekst FROM nyheder ORDER BY dato DESC LIMIT 0,2");
while($data = mysql_fetch_array($foresp)){

    echo"<B>$data[1]</B> - ";
    echo date("j/n - Y", $date[0]);
    echo "<BR>$data[2]<BR><BR>";
}
?>


Kan det eventuelt være noget jeg ikke har tilføjet rigtigt i MySQL databasen? og hvis det er hvordan retter jeg det så?


på forhånd tak :)


- XuZeM

ps. Jeg har rettet så "localhost" "root" "password" passer til mine oplysninger.
Avatar billede baitianlong Nybegynder
12. januar 2005 - 00:15 #1
Der er mange små fejl:

1) if($kodeord == $kodeord){      Det er det jo ! Hvad skulle det ellers være ? Altså altid true, derfor bliver formularen aldrig vist.

2) musql_select_db("nyheder", $db);    Jeg tror du mener mysql_select_db

3) <form method=post actions=<? echo $php_self; ?>>    Der er s på action, og det er en god ide at bruge anførselstegn på parametrene generelt

<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">

4) echo date("j/n - Y", $date[0]);    Bemærk du har skrevet date i stedet for data til sidst


------------------------

<?
$indkodeord = $_POST['kodeord'];
$kodeord = md5("kodeord");
if($indkodeord == $kodeord){
    echo "Nyheden er tilføjet";
    $nyhed_overskrift = $_POST['nyhed_overskrift'];
    $nyhed_tekst = $_POST['nyhed_tekst'];
    $db = mysql_connect("localhost", "root", "password");
    mysql_select_db("nyheder", $db);
    $nyhed_dato = time();
    mysql_query("insert into nyheder (dato, overskrift, tekst) values (´$nyhed_dato´, ´$nyhed_overskrift´, ´$nyhed_tekst´)");


Prøv at rette de par ting :)
Avatar billede baitianlong Nybegynder
12. januar 2005 - 00:18 #2
og for at komme ind skal man så indtaste:

26a6036ad77728fa6758787622add9a2

da det er md5 kryptering af "kodeord". Den er svær at huske :P
Avatar billede moocher Nybegynder
12. januar 2005 - 06:36 #3
Jeg vil foreslå, som jeg tror legende.dk så fint pointere, at du md5'er dit indtastede kodeord :D

$indkodeord = md5($indkodeord);
Avatar billede Frederik Nybegynder
13. januar 2005 - 13:42 #4
øøhm, Jeg forstår ikke helt hvad i mener?
kan i prøve at forklare det lidt nærmere?


- XuZeM
Avatar billede Frederik Nybegynder
28. maj 2006 - 12:05 #5
- lukker
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