| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
hp
Anmeldedatum: 28.03.2008 Beiträge: 1
|
Verfasst am: Fr März 28, 2008 1:58 pm Titel: Doppleter Datenbankeintrag |
|
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: |
$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 |
|
| Nach oben |
|
 |
Jan.Kristinus Erfinder

Anmeldedatum: 24.08.2004 Beiträge: 1782 Wohnort: Wiesbaden
|
Verfasst am: Fr März 28, 2008 3:41 pm Titel: |
|
hallo,
vielleicht ist es folgendes.
der Artikel wird im Templates mehrmals ausgelesen.
z.B. sowas:
| Code: | 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: | $content = $this->getArticle();
if ($content==""){ echo "kein inhalt"; }
echo $content; |
vielleicht wars das schon.. lg
jan _________________ Yakamara Media GmbH & Co. KG | Wandersmannstraße 68 | 65205 Wiesbaden
Tel.: 0611-504.599.21
http://www.yakamara.de/ |
|
| Nach oben |
|
 |
Laser
Anmeldedatum: 02.04.2008 Beiträge: 1
|
Verfasst am: Mi Apr 02, 2008 7:06 pm Titel: |
|
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
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 |
|
| Nach oben |
|
 |
|