KHGrigo
Meister
Hallo
Ich habe angefangen mich mit HTML,PHP,Css und mysql zu beschäftigen.
Ich habe mir nun eine Homepage gebastelt, auf der man daten eingeben kann, die dann an eine Mysql Datenbank gesendet werden sollen. Diese Daten sollen dann (nach Aktualisierung auf der selben Seite ausgegeben werden.
Rein von der Funktion habe ich es hinbekommen.
Das Problem ist, wenn mehrmals auf speichern gedrückt wird, oder die Seite mehrmals aktualisiert wird, werden die Datensätze auch mehrmals in die Datenbank und auf die Homepage geschrieben.
Das Eingabe Formular ist aber leer.
Wie kann ich nun verhindern, das sich die Einträge wiederholen obwohl die Eingabefelder leer sind und nur eine Eingabe gemacht wurde?
Wenn jemand eine einfache Lösung hätte, wäre ich dankbar, da meine Kenntnisse doch noch gegen Null tendieren.
m.f.G.
Ich habe angefangen mich mit HTML,PHP,Css und mysql zu beschäftigen.
Ich habe mir nun eine Homepage gebastelt, auf der man daten eingeben kann, die dann an eine Mysql Datenbank gesendet werden sollen. Diese Daten sollen dann (nach Aktualisierung auf der selben Seite ausgegeben werden.
Rein von der Funktion habe ich es hinbekommen.
Das Problem ist, wenn mehrmals auf speichern gedrückt wird, oder die Seite mehrmals aktualisiert wird, werden die Datensätze auch mehrmals in die Datenbank und auf die Homepage geschrieben.
Das Eingabe Formular ist aber leer.
PHP:
<!-- Bereich der Ausgabe -->
<?php
$verbindung = mysql_connect("xxxxxx", "xxxxxxx", "xxxxxxxx");
mysql_select_db("xxxxxxxxxx");
$abfrage = "SELECT * FROM abgabe";
$ergebnis = mysql_query($abfrage);
echo "<table align=center bordercolor=#ffcc00 border=4>";
while($row = mysql_fetch_object($ergebnis))
{
$res = mysql_query('select * from abgabe', $link);
echo "<tr align=left>";
echo "<td width=100 bgcolor=#cecece><b>$row->Vorname</b>";
echo "<td width=100 bgcolor=#cecece><b>$row->Zuname</b>";
echo "<td width=100 bgcolor=#cecece><b>$row->Abzugeben</b>";
echo "<td width=100 bgcolor=#cecece><b>$row->Tag</b>";
echo "<td width=100 bgcolor=#cecece><b>$row->Datum</b>";
echo "<td width=100 bgcolor=#cecece><b>$row->Tourwunsch</b>";
echo "</tr>";
}
echo "</table>";
mysql_close($verbindung);
?>
<!-- Bereich der eingabe und senden zu mysql -->
<h3>Möchtet ihr eine Tour tauschen?<br />Dann bitte hier eintragen und speichern.</h3>
<form name="myForm" id="myForm" action="flk.php" method="post" >
<div>
<label>Vorname</label>
<input type="text" name="Vorname" />
</div>
<div>
<label>Zuname</label>
<input type="text" name="Zuname" />
</div>
<div>
<label>Abzugeben</label>
<input type="text" name="Abzugeben" />
</div>
<div>
<label>Tag</label>
<input type="text" name="Tag" />
</div>
<div>
<label>Datum</label>
<input type="text" name="Datum" />
</div>
<div>
<label>Tourwunsch</label>
<input type="text" name="Tourwunsch" />
</div>
<br />
<br />
<input type="submit" value="Speichern"/>
</form>
<!-- Senden an Mysql -->
<?php
$verbindung = mysql_connect("xxxxxxxx", "xxxxxxx", "xxxxxx");
mysql_select_db("xxxxxxxxxx[SPOILER="script"][/SPOILER]");
$Vorname = $_POST["Vorname"];
$Zuname = $_POST["Zuname"];
$Abzugeben = $_POST["Abzugeben"];
$Tag = $_POST["Tag"];
$Datum = $_POST["Datum"];
$Tourwunsch = $_POST["Tourwunsch"];
if($Vorname == "" or $Zuname == "" or $Abzugeben == "" or $Tag == "" or $Datum == "" or $Tourwunsch == "") {
echo "Du hast nicht alle Felder ausgefüllt...";
} else {
$eintrag = "INSERT INTO abgabe
(Vorname, Zuname, Abzugeben, Tag, Datum, Tourwunsch)
VALUES
('$Vorname', '$Zuname', '$Abzugeben', '$Tag', '$Datum', '$Tourwunsch')";
$eintragen = mysql_query($eintrag);
if($eintragen == true) {
echo "Dein Wunsch wurde gespeichert...";
} else {
echo "Fehler im System. Konnte nicht gespeichert werden...";
}
}
mysql_close($verbindung);
?>
Wie kann ich nun verhindern, das sich die Einträge wiederholen obwohl die Eingabefelder leer sind und nur eine Eingabe gemacht wurde?
Wenn jemand eine einfache Lösung hätte, wäre ich dankbar, da meine Kenntnisse doch noch gegen Null tendieren.
m.f.G.