DB Eintrag doppelt o.0

Headymaster

Erfahrenes Mitglied
Hallo!

Also ich schreibe grad an ner Gästebuch Klasse, die durch Class nesting zunächst erstmal auf eine mysql Klasse, später auf eine Klasse die Eingaben überprüft und eine mail-Klasse zugreifen soll.

So das zugreifen auf die MySql-Klasse habe ich bisher wunderbar so hinbekommen:
PHP:
<?php
 function get_class_mysql($get_mysql, $get_mysql_ending)
	   {
	       require_once("$get_mysql.$get_mysql_ending");
		   $this->class_obj_mysql = new mysql($dbhost, $dbuser, $dbpw, $dbname);
	   }
?>

So nun ist in der Gästebuch eine Funktion. um Einträge hinzuzufügen:
PHP:
<?php
function insert_entry($name, $email, $title, $inhalt)
	   {
	       $datum = date("Y.m.d");
		   $ip = $_SERVER['REMOTE_ADDR'];
		   $this->class_obj_mysql->query("INSERT INTO `gbook` (datum, ip, name, email, title, inhalt) VALUES ('$datum', '$ip', '$name', '$email', '$title', '$inhalt')");
	   }
?>

Ja das Problem ist nur, dass der Eintrag jedesmal doppelt geschrieben wird...
Habt ihr vielleicht ne Idee woran das liegen kann?!

Würde mich sehr freuen.

MFG Niels
 
wann und wo rufst du denn immer diese insert_entry function auf, vielleicht läuft er da zweimal rein. hast du schonmal rein debugt?
 
Also habe ne index.php, in der ich alle klassen, wie z.b. mysql.php lade und außerdem das index-template ausgebe, den Contentswitch usw.

so hatte vorher in der index.php include("module/mysql.php"); aber als ich dann die klasse gbook.php aufgerufen habe, in der nun nochma die mysql_klasse includet werden soll, kamm immer der fehler Fatal error: Cannot redeclare class mysql in blabla.....

ich habe über google nachgeschaut und rausgefunden, dass man dann lieber nur require_once nehmen sollte, da dann die die Datei nur in jeweils dem einem Ablauf benutzt wird.

So aufgerufen habe ich die gbook.php klasse, indem ich in meiner navigation ein link dazu eingefügt habe. Bei Klick wird die gb.php aus dem Ordner /includes includet.

gb.php:
PHP:
<?php
############ Buffer Starten ####################
ob_start();
################################################
$gbook = new gbook();
$gbook->get_class_mysql('mysql', 'php');
$gbook->insert_entry('Nille', 'nilson@nilson-coding.de', 'Goile Seite!', 'Man, die Seite is echt fett geworden^^....<br>Macht weiter so ;-)');
############ Buffer Ende #######################
ob_end_flush();
################################################
?>

Soweit erstmal...wenns noch weitere Fragen gibt einfach her damit ;-)

MFG Niels
 
Hat keiner ne Idee woran es liegen kann?!

Also wenn ihr noch mer Details braucht .... kein Problem.....aber würd mich schon über Hilfe freuen :)

MFG Niels
 
Hi,

ist zwar weit her geholt, aber hast du irgendwo ein Bild eingebunden das als Src keine angabe hat, wenn das der Fall ist wird deine Seite nochmals aufgerufen.

Aber noch was anderes wozu Bufferst du das?

Versuch vielleicht mal in der insert_entry ne ausgabe zu machen. Danach wenn das 2 mal ausgegeben wird suchst du einfach mal in all deinen Dateien nach nem aufruf der Funktion.

Gruß
King of Darkness
 
Also Prob hat sich gelöst....keine Ahnung warum....aber jez gehts....habe einfach an der Klasse weitergearbeitet und die nachher mal über ein Formular aufgefurfen und dann ging es^^


MFG Niels
 
Zurück