cardex
Mitglied
Erstmal sorry wegen des Titels, mir ist nichts eingefallen was mein Prob besser beschreibt.
Ich bin grad ein wenig mit Klassen am rumbasteln. Zu Übungszwecken hab ich mir eine Guestbook Klasse geschrieben. Jetzt habe ich aber folgendes Problem.
Wenn ich etwas eintragen will, wird in der Klasse die Funktion entry_form aufgerufen. Sie gibt ein Template mit den einzelnen Formularfeldern fürs Guestbook wieder und beinhaltet ein Hidden Input Feld welches beim abschicken auf 'true' gesetzt wird. Wenn nun der Wert 'true' gesetzt ist, wird in der Klasse per If Anweisung die Funktion db_eintrag aufgerufen. Die schreibt mir die einzelnen Werte in die Datenbank (Name, Email, Beitrag usw.). Soweit läuft alles auch einwandfrei, wenn ich jetzt aber die Guestbookübersicht aktualisiere/reloade wird mit jedem reload wieder ein Eintrag in der Datenbank vorgenommen, weil bei der If Anweisung der Wert des Hidden Input Feldes immer noch 'true' ist.
Nun die eigentliche Frage, wie überprüfe ich ob bereits in die Datenbank eingetragen wurde oder noch besser, wie kann ich die Variable löschen? Den Wert einfach nach durchlaufen der Funktion von 'true' auf 'false' setzen hat nicht funktioniert.
Das ist die Funktion in der Klasse. Hab am Ende der Funktion schon probiert mit:
$_POST['submit'] = "false";
den Wert der Variable zu ändern. Aber das hab ich ja oben schon geschrieben.
Ich bin grad ein wenig mit Klassen am rumbasteln. Zu Übungszwecken hab ich mir eine Guestbook Klasse geschrieben. Jetzt habe ich aber folgendes Problem.
Wenn ich etwas eintragen will, wird in der Klasse die Funktion entry_form aufgerufen. Sie gibt ein Template mit den einzelnen Formularfeldern fürs Guestbook wieder und beinhaltet ein Hidden Input Feld welches beim abschicken auf 'true' gesetzt wird. Wenn nun der Wert 'true' gesetzt ist, wird in der Klasse per If Anweisung die Funktion db_eintrag aufgerufen. Die schreibt mir die einzelnen Werte in die Datenbank (Name, Email, Beitrag usw.). Soweit läuft alles auch einwandfrei, wenn ich jetzt aber die Guestbookübersicht aktualisiere/reloade wird mit jedem reload wieder ein Eintrag in der Datenbank vorgenommen, weil bei der If Anweisung der Wert des Hidden Input Feldes immer noch 'true' ist.
Nun die eigentliche Frage, wie überprüfe ich ob bereits in die Datenbank eingetragen wurde oder noch besser, wie kann ich die Variable löschen? Den Wert einfach nach durchlaufen der Funktion von 'true' auf 'false' setzen hat nicht funktioniert.
Code:
function db_eintrag()
{
if(isset($_POST['submit']) AND ($_POST['submit'] == "true"))
{
$submit_mysql = new dbCommunication;
$submit_mysql->start_connection();
$submit_mysql->select_db("test");
$timestamp = time();
$datum = date("d.m.Y H:i",$timestamp);
$ip = $_SERVER['REMOTE_ADDR'];
$submit_mysql->db_entry("INSERT INTO guestbook (date, nick, homepage, email, entry, timestamp, ip)
VALUES ('$datum', '$_POST[gbNickname]', '$_POST[gbHomepage]', '$_POST[gbEmail]', '$_POST[gbEntry]', '$timestamp', '$ip')");
$submit_mysql->close_connection();
}
}
Das ist die Funktion in der Klasse. Hab am Ende der Funktion schon probiert mit:
$_POST['submit'] = "false";
den Wert der Variable zu ändern. Aber das hab ich ja oben schon geschrieben.