Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Aktualisieren - doppelter Eintrag verhindern
kekskruemel
---
Geschrieben am: Fr 12.09.2008, 07:04
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 327
Mitglied seit: 8.11.2005


Hallo,

ich suche derzeit nach einer guten Lösung um auf einer Seite in php zu verhindern, dass durch Aktualisieren erneut ein Datenbankeintrag durchgeführt wird und erneut die Email an eine entsprechende Person gesendet wird.

Wie kann man das am Besten lösen?

Danke für eure Ideen und Hilfen


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
 
Jörg Kruse
#2 Geschrieben am: Fr 12.09.2008, 07:35 (+00:31)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 418
Mitglied seit: 19.12.2004


Oft reicht es schon, wenn man nach dem Eintragen weiterleitet auf eine Dankeseite o.ä. - diese kann gefahrlos aktualisert werden.

Ansonsten könntest du im Formular noch ein hidden input einbauen, dessen Wert nach dem Datenbankeintrag auch einer entsprechenden Sessionvariable zugeordnet wird. Anhand der Sessionvariable kann das Script dann erkennen, ob der Eintrag bereits erfolgt ist


--------------------
Top
PMEmail PosterUsers Website
Top
 
mainlink
Mainlink Internet
#3 Geschrieben am: Fr 12.09.2008, 07:55 (+00:20)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 242
Mitglied seit: 12.09.2007


Ist nicht so elegant, aber ich schaue immer, ob in den letzten x Inserts ein Eintrag mit identischer IP-Adresse und den selben y Zeichen (substr()) existiert.


--------------------
Rootservers, Webspace und Mailaccounts unter FreeBSD: Mainlink Internet
Top
PMEmail PosterUsers WebsiteMSN
Top
 
Oliver Pester
#4 Geschrieben am: Fr 12.09.2008, 10:31 (+02:35)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 54
Mitglied seit: 23.06.2008


Hallo,

die Weiterleitungs-Lösung von Jörg ist in meinen Augen die einfachste und beste.

Nachdem du die Daten in die Datenbank geschrieben hast (oder deine Email verschickt), einfach per

CODE

<?
header('Location:danke.html');
?>


auf eine "Danke"-Seite weiterleiten. Dort sind die POST-Daten dann nicht mehr verfügbar und die Seite kann ohne Probleme aktualisiert werden.

Grüße
Oli


--------------------
Top
PMEmail PosterUsers Website
Top
 
MadeG
#5 Geschrieben am: Fr 12.09.2008, 12:37 (+02:05)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 157
Mitglied seit: 27.04.2008


hatte das vorher auch so, aber seit ich beim neuen hoster bin, kommt bei mir eine fehlermeldung, dass der header schon gesandt wurde...
Top
PMEmail PosterUsers Website
Top
 
Jörg Kruse
#6 Geschrieben am: Fr 12.09.2008, 13:54 (+01:17)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 418
Mitglied seit: 19.12.2004


Der Aufruf von header() muss erfolgen, bevor Teile des HTML-Dokumentes ausgegeben werden. Auch eine Leerzeile vor dem "<?php" zählt hierbei als Ausgabe


--------------------
Top
PMEmail PosterUsers Website
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#7 Geschrieben am: Fr 12.09.2008, 20:01 (+06:06)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2410
Mitglied seit: 4.02.2006


QUOTE (kekskruemel @ Fr 12.09.2008, 07:04)
ich suche derzeit nach einer guten Lösung um auf einer Seite in php zu verhindern, dass durch Aktualisieren erneut ein Datenbankeintrag durchgeführt wird und erneut die Email an eine entsprechende Person gesendet wird.

Ich muß gestehen, ich hatte das Problem noch nie.

Da das aber nicht an meiner PHP-Abstinenz liegen kann:

(1) <form method='POST'> nutzen, dann stehen die Parameter nicht in der Url. Ist nichts angegeben, wird GET verwendet, damit führt auch ein Return in der Adresszeile zu einem Zweiteintrag.

(2) Auf die Spalte mit der Mail eine Unique-Einschränkung draufpacken. Dann muß man bloß noch den Fehler beim zweiten Speichern abfangen.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/26288

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Gate24 - Eintrag Sandro Feuillet 139 2 Do 13.11.2008, 09:05
Eintrag in Verzeichnissen/Bookmarkdiensten ajse80 198 7 Mi 5.11.2008, 12:30
Bild automatisch aktualisieren LindaXtra 288 5 So 5.10.2008, 13:09
Mpeg in doppelter Größe anzeigen Ronald Nickel 164 8 Di 30.09.2008, 13:07
Webformular automatischer Eintrag in CRM Software Beginner 237 3 Mi 24.09.2008, 09:51
Gewinnspiel - Automatisierte Einträge verhindern? hgw 619 18 Mi 10.09.2008, 09:32
Textklau verhindern Jenny Brix 352 15 Sa 9.08.2008, 09:09
Webkatalog Eintrag ohne Backlinkpflicht jeronimo 934 21 Do 17.07.2008, 09:52
Eintrag in Webkataloge Sten 737 10 Fr 20.06.2008, 19:37




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]