Doppleter Datenbankeintrag

Fragen/Tipps allgemeiner Art.

Doppleter Datenbankeintrag

Beitragvon hp » 28. Mär 2008, 13:58

Hallo...



Der gestrige Tag hat echt Nerven gekostet, da ich folgendes Problem einfach net lösen konnte...

Ich habe ein Modul angelegt das mit entsprechende Formulardaten in eine Datenbank schreiben soll...Klappt auch alles wunderbar, nur dass diese Daten 2-fach geschrieben werden...

Das Formular wird nur einmal abgeschickt...ausgabe aller gesendeten Daten bestätigte dies! ->doppletes Senden daher ausgeschlossen!!!

Wenn ich eine redirect nach erfolgreichen Eintrage mache, werden trotzdem die Daten 2 mal in die DB geschrieben...->Fehlerursache noch immer unbekannt

Um das Problem zu finden, wurde nur eine DB-Insert ins Modul geschrieben, keine weitere Formularbehandlung!!!

Code: Alles auswählen
$user = new sql();                 
$user->setTable('user');
$user->setValue('hash', $hash);
$user->insert();


Wenn das Modul im Backend aufgerufen wird, werden die Daten nur einmal geschrieben, wird das Modul aber im Frontent angezeigt werden die Daten wieder doppelt geschrieben...->Fehlerursache weiterhin unbekannt

Ich habe absolut keine Ahung an was das liegen könnte und bin daher für jeden Vorschlag zur Fehleridentifizierung dankbar....

hp
hp
 
Beiträge: 1
Registriert: 28. Mär 2008, 13:38

Beitragvon Jan.Kristinus » 28. Mär 2008, 15:41

hallo,

vielleicht ist es folgendes.

der Artikel wird im Templates mehrmals ausgelesen.

z.B. sowas:

Code: Alles auswählen
if ($this->getArticle()==""){ echo "kein inhalt"; }
echo $this->getArticle();


das fuehrt dazu, dass der article zweimal und damit der php code auch zweimal ausgeführt wird. deswegen am besten den artikel vorher in eine variable speichern und diese dann abfragen und ausgeben..

Code: Alles auswählen
$content = $this->getArticle();
if ($content==""){ echo "kein inhalt"; }
echo $content;


vielleicht wars das schon.. lg
jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/
Benutzeravatar
Jan.Kristinus
Admin
 
Beiträge: 1923
Registriert: 24. Aug 2004, 21:11
Wohnort: Frankfurt

Beitragvon Laser » 2. Apr 2008, 19:06

Danke Jan.Kistinus, ich hatte genau denselben Fehler und wäre ohne deinen hilfreichen Post wohl NIE im Leben auf die Idee gekommen, den Fehler dort zu suchen!

Ich arbeite ebenfalls gerade an einem Modul, mit welchem ich Daten in eine eigens erstellte Tabelle einfügen kann, und hatte schon befürchtet, dass ich die new sql(); falsch verwenden würde.

Also bei mir hat dein Trick funktioniert, vielen Dank

P.S.: Leider hab ich am Anfang nicht ganz verstanden, dass man diesen Code ins Template einfügen und abändern muss, und habs deshalb direkt ins Modul kopiert und dort angepasst. Bitte nicht nachmachen, bei mir hat sich der apache (vom xampp paket) mit einem hübschen Memory Error verabschiedet :mrgreen:

EDIT: Aja, das Thema sollte man vielleicht auch im R4 Bereich verlinken, denn ich verwende 4.1 und bei mir trat exakt derselbe Fehler auf
Laser
 
Beiträge: 1
Registriert: 2. Apr 2008, 19:01


Zurück zu Allgemeines [R4]

Wer ist online?

Mitglieder in diesem Forum: Gregor.Harlan und 0 Gäste