Hallo zusammen,
ich lasse den User über mehrere Seiten Daten eingeben, um diese dann am Ende gesammelt in verschiedene Tabellen zu schreiben.
Dieses schreiben soll aber nur einmal möglich sein, sprich der Reloadbutton des Browsers soll ignoriert werden, da bei dem schreiben eine eindeutige Nummer erzeugt wird.
Momentan wird bei jedem aktualisieren im Browser um eins erhöht und geschrieben. Mein Gedanke war es, über den SQL-FEhler 1062 das abzufanken, aber das haut gar nicht hin. Wie mache ich das am beten??? Hab schon nach reloadsperre gesucht. Da bin ich aber nicht wirklich fündig geworden. Hier das Script dazu:
Über Hilfe und Unterstützung würde ich mich freuen
Gruß
Michael
ich lasse den User über mehrere Seiten Daten eingeben, um diese dann am Ende gesammelt in verschiedene Tabellen zu schreiben.
Dieses schreiben soll aber nur einmal möglich sein, sprich der Reloadbutton des Browsers soll ignoriert werden, da bei dem schreiben eine eindeutige Nummer erzeugt wird.
Momentan wird bei jedem aktualisieren im Browser um eins erhöht und geschrieben. Mein Gedanke war es, über den SQL-FEhler 1062 das abzufanken, aber das haut gar nicht hin. Wie mache ich das am beten??? Hab schon nach reloadsperre gesucht. Da bin ich aber nicht wirklich fündig geworden. Hier das Script dazu:
PHP-Code:
require_once($root . "/functions/db_connection.php");
$letzte_au_nr = "";
$error = array();
$query = "SELECT * FROM auftraege ORDER BY au_nr DESC LIMIT 1";
$result = mysql_query($query);
if (!$result)
{
die ('Ungültige Abfrage: ' . mysql_error());
}
while($row = mysql_fetch_assoc($result))
{
$letzte_au_nr = $row['au_nr'];
}
$query = "INSERT INTO auftraege SET au_nr='" . $neue_au_nr ."'";
$result = mysql_query($query);
if (!$result)
{
if(mysql_errno() == 1062)
{
array_push($error, "AU-Nr schon vorhanden");
}
else
{
die ('Ungültige Abfrage: ' . mysql_error());
}
}
$neue_au_nr = $letzte_au_nr + 1;
if(count($error) == 0)
{
....Hier kommen die ganzen INSERT INTO .....
}
else
{
echo "<div id='fehler'>";
if (isset($error) && count($error) > 0) //Prüfen ob array $error da ist UND ob es einen Eintrag hat.
{
for ($i=0; $i < count($error); $i++) //Ausgabe aller Einträge des Arrays $error
{
echo $error[$i] . "<br />";
}
}
echo "</div>";
}
Gruß
Michael
Kommentar