bereits vorbelegtes feld in formular

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • bereits vorbelegtes feld in formular

    moin moin
    habe folgenes problem. und zwar habe ich eine seite auf der neukunden geworben werden. der werber gibt dort die daten wie name und vorname und email für den neukunden an. nun bekommt der neukunde ne mail von mir in der er sich registrieren soll. ich möchte nun das sein name vorname und email bereits im feld drinne stehen und er eigentlich nur noch die daten überprüfen muss. weiss nicht wie ich diese vorgefertigten felder erstellen soll.

    kann bitte jemand helfen.
  • Na an sich erstellst du vorgefertigte Felder ja so:

    Quellcode

    1. <input type="text" name="kundenname" value="vorgefertigter Inhalt />


    Du musst dir halt überlegen wie du die Daten dahinbekommst.
    Ich sehe da erstmal 2 Möglichkeiten.
    Entweder du modifiziert den Link der eMail wo der Neukunde draufklickt so:

    irgendeineseite.php?kundenname=Mueller&vorname=Hans&email=mail@irgendwas.de

    und wertest es dann mit PHP (also die $_GET-Variablen) aus.

    Oder: Du speicherst bei dem Kunden, der den Neukunden wirbt, also beim Abschicken der email irgendwo die Daten (z.B. in ner Datenbank) und versihest sie mit nem Code oder ner ID. Dann kannst du die ID/den Code in dem Link mitgeben und die Daten aus der Datenbank auslesen. Danach schreibst du die Daten in die Formularfelder.

    Allerdings müsste man sich bei beiden Varianten einen Kopf darum machen, wie sicher/unsicher das ist.

    Ein Anfang ist es aber erstmal, denk ich...

    cya
  • hi,

    klar sind wir hier alle freaks :P

    das dokument weis dass, weil du alle daten aus dem formular über die url an eine andere seite weitergibst (zur verarbeitung). außerdem musst du für jeden der 5 neukunden einen eindeutigen namen vergeben... und über diese namen kannst du auf den inhalt zugreifen...


    alles klar?

    mfg da BendIt
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • und da wäre dann doch wieder für mich ein unlösbares problem.
    habe jetzt die neukunden daten in eine datenbank weggeschrieben. der neukunde erhält nun eine email in der er sich registrieren soll. name email sind bereits ja gespeichert und die sollen ihm auch angezeigt werden sodass er nur noch seine tel eingeben muss. wie bekomm ich denn nun seine bereots bestehenden daten aus
    der datenbank raus und in die angabefelder rein?
  • Die Lösung mit der DB ist der Übergabe der Daten per URL deutlich vorzuziehen und besser skalierbar.

    Aber das hast du ja bereits gemacht. Ich nehme an, daß alle Daten zu einem Kunden in eine Tabelle geschrieben werden. Wenn du in dieser Tabelle einen Primärschlüssel hast kannst du diesen als zunächst einzigen Parameter in der Url die per Mail versandt wird übergeben.

    Das folgende Script liest diese ID aus und schaut in der Datenbank nach den Daten zu dieser ID, fertigt ein Formular an und trägt die Defaultwerte in die Formularfelder ein.

    Fertig!

    Nicht ganz. mad hatte zurecht das Thema Sicherheit angesprochen. Was passiert z.B. wenn ein Kunde anfängt lustig die URL zu manipulieren und einfach mal die ID variiert. Dann kann er eine nette Übersicht über alle potentiellen Neukunden gewinnen. Das willst du aber sicher nicht!

    Aber dieses Problem läßt sich lösen, indem du nach dem ersten Eintragen der Daten beim Erstellen der Mail z.B. den Namen des Kunden nutzt und ihn ebenfalls (zusätzlich zur ID) als Parameter übergibst. Beim Auslesen müssen beide Angaben als Bedingung des SELECTs verwendet werden. Damit ist eine wilde Manipulation der Parameter ausgeschlossen. Wichtig ist aber, daß dieser Name URL-codiert wird, oder du mittels md5 direkt einen Hash daraus machst.
  • Naja Verwirrung entsteht immer dann, wenn man Fachbegriffe verwendet und der jeweilige Anfänger/Fragensteller diese Fachbegriffe nicht kennt.

    Dazu dienen Beispiele.

    Also:
    Wenn du in der DB z.B. eine ID als primären Schlüssel hast (damit man die Datensätze eindeutig erkennen kann), dann solltest du diese ID über die URL mitschicken: datei.php?id=587 (z.B.)

    Nun kann aber jeder diese ID manipulieren, indem er einfach eine andere hineinschreibt. Um das zu verhindern, hat Marcus folgendes vorgeschlagen:

    datei.php?id=587&name=mueller

    Dann nutzt du bei der Datenbankabfrage die ID und den Namen um sicherzustellen, dass es der richtige Datensatz ist.

    url-codiert bedeutet hier, dass der Name nicht im Klartext da steht (also nicht "mueller" ) sondern über eine Verschlüsselung umgewandelt wird.
    Hierzu gibt es mehrere Möglichkeiten.

    Der von Marcus angesprochene md5-Hash ist ein weit verbreiteter Algorithmus.
    PHP liefert dafür die Funktion md5() mit. Wenn du den Namen damit codiert und ihn dann mit dem codierten String in der DB abgleichst, ist das eine relativ sichere Variante.

    der Aufruf der URL würde dann ungefähr so aussehen:

    datei.php?id=587&name=54ab4c9df68f32840787ae47b1ba9afc (für mueller)

    Wenn du Fragen hast, stell sie ruhig weiter...

    cya