T
tai
Guest
Hallo! Ich versuche mich gerade an einem Newsscript und habe dabei ein Problem. Eigentlich funktioniert ja alles sehr gut, genau so wie ich es mir vorstelle. Nur sobald ich einen Eintrag absende, dieser erfolgreich in die Datenbank gespeichert wird und ich dann auf Aktualisieren klicke, habe ich den unschönen Effekt das der Eintrag nochmal gespeichert wird. Nun meine Frage, wie kann ich das verhindern? Wie wird das im allgemeinem gemacht?
Hier noch mein Code:
Und wenn ich schon dabei bin, wie setze ich am besten eine Kommentar Funktion um? So das zu jedem News-Eintrag Kommentare abgegeben werden können. An was meine Ideen hier scheitern ist die Zuordnung der Kommentare zum Richtigen News-Eintrag.
Danke!
Hier noch mein Code:
PHP:
<?php
session_start();
if (!isset($_SESSION['ok']) || $_SESSION['ok'] !== true) {
header('Location: start.php');
}
session_regenerate_id($delete_old_session = true);
$key = mysql_connect("", "", "") or die ("Keine Verbindung möglich");
mysql_select_db("");
if (isset($_POST['absenden'])) {
//stripslashes wegen eingeschalteten Magic Quotes.
if (isset($_POST['name']) && !is_array($_POST['name']) && $_POST['name'] != '') {
$name = htmlspecialchars(stripslashes($_POST['name']));
}
if (isset($_POST['titel']) && !is_array($_POST['titel']) && $_POST['titel'] != '') {
$titel = htmlspecialchars(stripslashes($_POST['titel']));
}
if (isset($_POST['intern']) && !is_array($_POST['intern']) && $_POST['intern'] != '') {
$intern = htmlspecialchars(stripslashes($_POST['intern']));
if ($intern == 'nein') {
$intern = '0';
} else {
$intern = '1';
}
}
if (isset($_POST['nachricht']) && !is_array($_POST['nachricht']) && $_POST['nachricht'] != '') {
$nachricht = nl2br(htmlspecialchars(stripslashes($_POST['nachricht']), ENT_QUOTES));
}
$datumsql = date('d.m.Y');
$namesql = mysql_real_escape_string($name);
$titelsql = mysql_real_escape_string($titel);
$nachrichtsql = mysql_real_escape_string($nachricht);
$sql = "INSERT INTO news
(intern, datum, name, ueberschrift, nachricht)
VALUES
('$intern', '$datumsql', '$namesql', '$titelsql', '$nachrichtsql')";
$daten_schreiben = mysql_query($sql);
if ($daten_schreiben) {
echo 'Daten wurden geschrieben';
}
}
?>
<!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" xml:lang="de" lang="de">
<head>
<title>News schreiben</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<link href="style.css" type="text/css" rel="stylesheet" />
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />
</head>
<body>
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<input type="text" name="name" value="Ihr Name" /><br />
<input type="text" name="titel" value="Titel" /><br />
<input type="radio" name="intern" value="nein" checked="checked" /> Öffentlich
<input type="radio" name="intern" value="ja" /> Intern<br />
<textarea name="nachricht">Ihre Nachricht...</textarea><br />
<input type="submit" name="absenden" value="Absenden" />
</form>
</body>
</html>
Und wenn ich schon dabei bin, wie setze ich am besten eine Kommentar Funktion um? So das zu jedem News-Eintrag Kommentare abgegeben werden können. An was meine Ideen hier scheitern ist die Zuordnung der Kommentare zum Richtigen News-Eintrag.
Danke!