Daniel: e-cards mit PHP, ein Lösungsansatz...

Beitrag lesen

Hallo Boardies,

Hallo Mike,

ich versuche mich gerade ein einem e-card Modul für meine HP.

Wollte es mit PHP + mySQL lösen.

Ich hab mir das in etwa so gedacht:
Man wählt erst ein Bild, schreibt in ein Formular Empfänger, Absender (jew. Name + email) sowie einen kurzen Text.

Das ist meistens so ;-)

Wenn man auf absende klickt, wird diese Kombination in der DB gespeichert, und ein link an Absendre und Empfänger geschickt, auf der man die ecard sehen kann.

OK, baue aber noch was ein, daß die Daten nur eine bestimmte Zeit lang gespeichert werden, da sonst schnell die Datenbank zugemüllt wird. Jede Ecard sollte höchstens eine Woche da sein.

Damit man immer nur die für einen bestimmten ecards sehen kann, währe es unsinnig z.B. die id der cards immer um eins raufzuzählen und dann als Referenz für die URL zu verwenden.

Genau, fortlaufende IDs sind selten brauchbar. Ständig muß man beim Anlegen eines neuen Datensatzes die Tabelle LOCKen, die größte ID auslesen, um eins erhöhen, Datensatz schreiben und Tabelle unlocken.
Mit zufälligen Zahlen (oder besser noch Strings) kann man da eine ganze Menge Code/Rechenzeit sparen.

Deshalb dacht ich, ich erstell mir jedesmall eine 10-stellige Zufallszahl, speichere die mit in die DB und setzt daraus die URL zusammen.
Also z.B. /ecard.php$ref=1234567890

Das 2x die gleiche Zufallszahl generiert würde halte ich für rel. unwahrscheinlich, da ich auch nicht damit rechne, dass der "Service" extrem oft benutzt wird.

Benutze dazu am besten Funktionen wie uniqid(). Beachte aber auch am besten die Hinweise in den Kommentaren zur Doku.

So, was haltet ihr von diesem Ansatz ?
Brauchbar oder offensichtliche Mängel ?

Prinzip ist eigentlich in Ordnung, achte nur noch auf die angesprochenen Details.

Ein Problem ist noch der email-Versand, da ich bei einem formmailer die Zieladresse nicht fest ins script eintragen könnte -> spam !?

Könntest Du diesen Pukt bitte mal genauer erläutern, irgendwie verstehe ich Dich hier nicht ganz.

Bin auf eure Antworten gespannt :-)

Bis demnächst
Mike

Hoffe, geholfen zu haben,

Daniel