PHP/MySQL... Indlægget findes allerede, når browser opdateres på F5!!!
Hej...Har et problem jeg ikke lige kan se, hvad skyldes...
Når jeg kalder min gæstebog, filen gb3.php og skriver navn website og besked og trykker "submit" - knappen, sætter den indlægget ind i en MySql database og rydder mine <input> felter.
Hvis jeg op daterer på adresselinjens runde pil(http:// localhost/gb3php), skriver den denne besked :
echo "<p style='margin-top:0;margin-left:50px;color:red;' >Indlægget findes allerede, og blev ikke gemt igen.</p>";
Men vælger jeg mit menu punkt "Gæstebog" som også refererer til "/gb3.php" skriver den ikke ovenstående linje om at indlægget allerede findes..!!
/* 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"]);
$website = htmlspecialchars($_POST["website"]);
/*Tjekker om begge felter er udfyldt*/
if($navn != "" || $besked != ""){
/* Sikkerheds script mod SQL injektions*/
$navn = mysql_real_escape_string($navn);
$besked = mysql_real_escape_string($besked);
if($website != "") {
/* Der tester på om navn og besked er postet før. For at undgå ens indlæg, når man opdaterer siden */
$website = mysql_real_escape_string($website);
$sql = "SELECT * FROM bog ";
$sql .= "WHERE navn = '" . $navn . "' ";
$sql .= "AND besked = '" . $besked ."' ";
$sql .= "AND website ='" . $website ."' ";
$result= mysql_query($sql);
}else{
$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='margin-top:0;margin-left:50px;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"];
$hours = ($dato_array["hours"] < 10) ? '0'. $dato_array["hours"] : $dato_array["hours"];
$minut = ($dato_array["minutes"] < 10) ? '0'. $dato_array["minutes"] : $dato_array["minutes"];
$sec = ($dato_array["seconds"] < 10) ? '0'. $dato_array["seconds"] : $dato_array["seconds"];
$tid = $hours . ":" .$minut . ":" .$sec;
mysql_query("INSERT INTO bog(navn, dato, besked, tid, website) VALUES('$navn','$dato','$besked','$tid','$website')") or die(mysql_error()); //data skrives til tabellen bog
}
}
}
Håber der er nogen der kan hjælpe mig med at lokalisere fejlen..!!
På forhånd tak!!!
