Variable als verlinkung

  • Hey,


    ich möchte wenn sich jemand registriert, dass eine email gesendet wird mit dem bestätigungslink (zusammengesetzt aus überprüfseite und spezielle hash id). Nun wenn ich die Variable als Verlinkung in den a-tag reinschreib in meinem mail text dann wird dies nimmer als link erkannt.. ka. warum. Und wenn ich durch den . selektor die hash id so hinzufüg, dann wird diese nichtmal beachtet.... Warum isn des so ?


    Mein aktueller Stand dabei ist:


    Zeile 22: Der Link. Wie schaffe ich es das die variable als linkziel und verlinkungstext angezeigt wird ?


    Freu mich auf eure Hilfe.


    Stef

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von Stef ()

  • in Zeile 58 definierst Du erst den $bestaetigungslink.
    Demnach gibt es für Zeile 22 keinen Wert.
    Also die Var muss vor Zeile 22 definiert worden sein.

    BTW: wenn Du den Hash zur Aktivierung so erstellst, dann kann sich (theoretisch) jeder selbst einen erstellen.
    Besser ist es, einen wirklich zufälligen hash zuu erstellen und den in der db abzulegen.

  • Hey,


    ups.. so ein kleiner aber fataler Fehler.


    Ok. Und wie kann man denn einen zufälligen hash erstellen ?


    Mit ner function welche buchstaben vermischt und dann diese zufällig gewählten Buchstaben dann zu hashen ?


    Gruß,
    Stef

  • Normalerweise reicht schon sowas:

    PHP
    1. $activationHash = md5(microtime() . $email);


    Oder das hier: http://stackoverflow.com/a/876154/3411766

    PHP
    1. $generatedKey = sha1(mt_rand(10000,99999).time().$email);


    Du könntest auch password_hash() nutzen:

    PHP
    1. $activationHash = password_hash(microtime() . $email, PASSWORD_DEFAULT);


    Das wäre dann ein unique hash, der allerdings etwas zu lang werden kann.
    Außerem verbrät password_hash() einiges an resourcen - also bissl ungünstig.


    Es muss einzigartig sein.
    Und selbst wenn jemand den PHP-Code kennt, mit dem Du den hash erstellst,
    muss es sehr schwer bis nicht möglich sein den hash selbst zu erstellen.