Gemme i DataBasen...??
Hej...Er ny indenfor PHP/MySQL..osv.
Jeg prøver at oprette en gæstebog, har følgende scripts/Html formular, men kan ikke få det til at virke, Html formen kommer godt nok frem, og jeg skriver navn og besked, trykker "Send", felterne tømmes. Men den skriver ikke indlægget under formen, som var planen. Jeg prøver så at gå i PhpMyAdmin, hvor jeg oprettede DataBasen "web145-bog", vælger tabellen bog, men der ingen data i den.
Nogle der kan se, hvad der er galt, her er filen "gb1.php" indeholdende min kode :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<?php
/* Tilpas variablerne til dine oplysninger */
$host = "localhost"; //skal ikke ændres i 90% af tilfældende
$bruger = "root"; //"navn på din bruger"; //se de udleverede papirer/spørg dit wehotel
$kodeord = ""; //"MosterFie"; //dit personlige password
$database = "web145-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);
/* Der spam-tjekkes og navn og besked hentes i html formularen. */
if(isset($_POST["skriv"]) && strtolower($_POST["spamtjek"]) == "grøn"){
$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($navn);
$besked = addslashes($besked);
}
/* 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
}
}
}
?>
<html>
<head>
<title>
Gæstebog.
</title>
</head>
<h3>Gæstebog </h3>
<body>
<form method="post" id="gaestbog" action="C:\xampp\htdocs\gb1.php">
<p>
<input type="hidden" name="Skriv" value="1"/>
navn: <br />
<input type="text" name="navn" size="35"/> <br /> <br />
Besked: <br />
<textarea name="besked" cols="50" rows="10"></textarea>
<br /> <br />
Hvilken farve er skoven: <br />
<input type="text" name="spamtjek" size="35" />
<br />
<input type="submit" value="Send"/>
</p>
</form>
<?php
$foresp = mysql_query("SELECT navn, dato, besked FROM bog ORDER BY nr DESC") or die(mysql_error()); //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>";
?>
</body>
</html>
På forhånd tak..!!
