Avatar billede Slettet bruger
24. juni 2009 - 12:56 Der er 11 kommentarer og
1 løsning

Gb

Hej.

Jeg har hentet et GB script fra nielsgamborg.dk
men når jeg har sat det op og udfyldt felterne og det og jeg trykker på hjemmesiden at den skal oprtte indlægget.
sker der intet,

her er mit script:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php
/* Tilpas variablerne til dine oplysninger */
    $host = "localhost";     //skal ikke ændres i 90% af tilfældende
    $bruger = "wipez_dk";        //"navn på din bruger"; //se de udleverede papirer/spørg dit wehotel
    $kodeord = "******";     //"MosterFie"; //dit personlige password
    $database = "bog";        //"navn på din database"; //se de udleverede papirer/spørg dit wehotel
       
/* Herfra ændres på eget ansvar - Der forbindes til databasen */
    $db = mysql_connect($host,$bruger,$kodeord)or die ('Der kunne ikke forbindes til databasen. Fejl: ' . mysql_error());;    //der connectes til databasen
    mysql_select_db($database,$db);       
                       
/* navn og besked hentes i html formularen.  */   
    if($_POST["skriv"]){
        $navn = htmlspecialchars($_POST[navn]); 
        $besked  = htmlspecialchars($_POST["besked"]);
       
/*Tjekker om begge felter er udfyldt*/       
        if($navn != "" || $besked != ""){
               
/* Sikkerheds script mod SQL injektions*/
            if(!get_magic_quotes_gpc()){           
                $navn = addslashes($nyhed_overskrift);
                $besked = addslashes($nyhed_tekst);
            }
               
/* Der tester på om navn og besked er postet før. For at undgå ens indlæg, når man  opdaterer  siden */   
            $sql = "SELECT * FROM bog ";
            $sql .= "WHERE navn = '" . $navn . "' ";
            $sql .= "AND  besked = '" . $besked ."' ";
            $result= mysql_query($sql);
               
            if($row = mysql_fetch_row($result)){
                echo "<p style='color:red;' >Indlægget findes allerede, og blev ikke gemt igen.</p>";
            }else{
                $dato_array=getdate();            //php datofunktion
                $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . " - " . $dato_array["year"];
                mysql_query("INSERT INTO bog(navn, dato, besked) VALUES('$navn','$dato','$besked')");  //data skrives til tabellen bog
            }
        }   
    }
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Untitled Document</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<div id="header">
<img src="images/ur.png" alt="Klokken/dato" class="ur"/>
<span class="date">
<?php
echo date("d/m/Y - H:i");
?>
</span>
<div id="menu">
  <ul id="simple-menu">
    <li><a href="http://www.wipez.dk/"><span>Hjem</span></a></li>
    <li><a href="http://www.wipez.dk/downloads/"><span>Downloads</span></a></li> 
      <li><a href="http://www.wipez.dk/gaestebog/"><span>Gæstebog</span></a></li>
      <li><a href="http://www.wipez.dk/kontakt/"><span>Kontakt</span></a></li>
  </ul>
</div>
</div>
<div id="content">
<form method="post" id="gaestform" action="http://www.wipez.dk/gaestebog">
        <p>
            <input type="hidden" name="skriv" value="1" >
            Navn: <br />
            <input type="text" name="navn" size="25" >
            <br />
            <br />
            <textarea name="besked" cols="50" rows="10"></textarea>
            <br />
            <input type="submit" value="Send">
        </p>
</form>

<?php
    $foresp = mysql_query("SELECT navn, dato, besked FROM bog ORDER BY nr DESC"); //Data hentes i tabellen bog
    echo "<table>";
    while($data = mysql_fetch_array($foresp)){
        echo "<tr><td style=\"vertical-align:top;padding:15px;\">";
        echo "<b>" . $data["navn"];
        echo "</b><br />";
        echo $data["dato"];
        echo "</td><td style='vertical-align:top;padding:15px;'>";
        echo nl2br($data["besked"]);    //nl2br = newline oversættes til html breaktag.
        echo "</td></tr>";
    }
    echo "</table>";
?>
</div>
<div id="footer">
<p>&copy; 2009 - Alle rettigheder forbeholdes | Designet af <a href="http://www.wipez.dk/">wipez.dk</a><br />
  <a href="http://www.wipez.dk/">Hjem</a> | <a href="http://www.wipez.dk/downloads">Downloads</a> | <a href="http://www.wipez.dk/gaestebog">Gæstebog</a> | <a href="http://www.wipez.dk/kontakt">Kontakt</a><br />
  Valid <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.wipez.dk%2F&amp;charset&#61;%28detect+automatically%29&amp;doctype&#61;Inline&group=0&amp;user-agent&#61;W3C_Validator%2F1.654">XHTML</a> | <a href="http://jigsaw.w3.org/css-validator/validator?uri=#61;http%3A%2F%2Fwipez.dk%2F&amp;profile=css3&amp;usermedium=all&amp;swarning=#61;1
">CSS</a>
</div>
<br />
</body>
</html>
Avatar billede majbom Novice
24. juni 2009 - 13:42 #1
prøv at smid en die på din query:

mysql_query("INSERT INTO bog(navn, dato, besked) VALUES('$navn','$dato','$besked')");  //data skrives til tabellen bog

rettes til:

mysql_query("INSERT INTO bog(navn, dato, besked) VALUES('$navn','$dato','$besked')") or die(mysql_error());  //data skrives til tabellen bog
Avatar billede Slettet bruger
24. juni 2009 - 13:47 #2
hvad linje?
Avatar billede Slettet bruger
24. juni 2009 - 13:56 #3
Fandt det selv men det hjalp ikke?
den gider stadig ikke at vise indlæggene
Avatar billede majbom Novice
24. juni 2009 - 20:02 #4
det kunne være at du skulle rette:

/* Sikkerheds script mod SQL injektions*/
            if(!get_magic_quotes_gpc()){           
                $navn = addslashes($nyhed_overskrift);
                $besked = addslashes($nyhed_tekst);
            }

til:

/* Sikkerheds script mod SQL injektions*/
            if(!get_magic_quotes_gpc()){           
                $navn = addslashes($navn);
                $besked = addslashes($besked);
            }
Avatar billede Slettet bruger
26. juni 2009 - 10:48 #5
har lige prøvet men den gider ikke?
Jeg har haft den her GB før, og den har virket men ved ikke hvad der går galt?
Avatar billede majbom Novice
26. juni 2009 - 11:36 #6
/*Tjekker om begge felter er udfyldt*/       
        if($navn != "" || $besked != ""){

bør vel også være:

/*Tjekker om begge felter er udfyldt*/       
        if($navn != "" && $besked != ""){

??
Avatar billede Slettet bruger
27. juni 2009 - 19:02 #7
jeg kan ikke få det til at virke :S
Avatar billede majbom Novice
27. juni 2009 - 19:57 #8
kommer den til koden der indsætter i db?

bliver der indsat tomme rækker i dben?

du kan jo prøve at få den til at echo noget tekst ud som det allerførste i hver eneste if-sætning, for at se hvor langt den kommer, for noget tyder på at den ikke kommer hele vejen, til din insert query
Avatar billede Slettet bruger
27. juni 2009 - 20:02 #9
tror jeg har fundet fejlen som jeg ikke har fået udfyldt:

<form method="post" id="gaestform" action="http://www.wipez.dk/gaestebog">

det skal nok hedder;

<form method="post" id="gaestform" action="minfil.php">
Avatar billede majbom Novice
27. juni 2009 - 21:45 #10
ja, det er da et godt bud :)

den havde jeg sq overset...
Avatar billede Slettet bruger
16. august 2009 - 16:39 #11
fandt fejlen.
Havde ikke angivet en DB
Avatar billede majbom Novice
19. august 2009 - 10:46 #12
:)
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