Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich habe schon seit paar Tagen eine Problem die ich nicht lösen kann. Hab schon viel Forums durchgesucht, aber…

Jetzt aber zu Sache. Ich habe vor eine so genante "GelbeSeiten" zu erstellen. Ich habe fast alles fertig. Als letzte habe ich mir vorgestellt, dass die Kunden, wessen Daten angezeigt werden, sich registrieren lassen müssen. Mit dem Drück auf den Button "Speichern", sollen die Kunden automatisch eine E-Mail erhalten und MÜSSEN in dieser E-Mail angegebenen Link aufrufen. Bevor sie dies nicht getan haben, werden ihren Daten nicht angezeigt.

Ich habe die Site mit PHP programmiert und bitte um die Hilfe auch im PHP. Eigentlich kann ich E-Mails mit mail() senden. Wie kann ich die auch empfangen und Ergebnis, als boolesche wert in den Datenbank speichern.

danke

MfG max

Hi, ich mach das auf meiner Seite so:

1. Zufalls-Aktivierungscode generieren und in DB unter User-ID speichern, in DB "status=inactive"

2. Mail an User schicken (mit Aktivierungslink, z.B. ... index.php?action=activate&userid=2&code=123456

3. Wenn User auf Link klickt wird geprüft ob der Aktivierungscode mit dem in der DB gespeicherten übereinstimmt, wenn ja dann wird "status=active" in der DB gesetzt, wenn nicht, dann bleibt der User inaktiv ("status=inactive")

Mit dem Code kannst du umgehen, das der User einfach

"index.php?action=activate&userid=2" (ohne Code)

eintippt und dann freigeschaltet ist ohne eine Bestätigungsemail bekommen zu haben

Mit dem Code kannst du umgehen, das der User einfach

"index.php?action=activate&userid=2" (ohne Code)

eintippt und dann freigeschaltet ist ohne eine Bestätigungsemail bekommen zu haben

das ist nicht dein ernst oder ? wenn irgend jemand so eine mail liest und sie zu verstehen weiss, zerschiesst er dir die daten sofort mit einer for schleife

code sollte schon md5 verschlüsselt sein in der DB.

das ist nicht dein ernst oder ? wenn irgend jemand so eine mail liest und sie zu verstehen weiss, zerschiesst er dir die daten sofort mit einer for schleife

code sollte schon md5 verschlüsselt sein in der DB.

Ja, hast Recht! Das Beispiel sollte nur stark vereinfacht sein.

Aber ich denke im Prinzip funktioniert so eine Aktivierung schon ganz gut.

Ja, das hab ich auch alles so ungefähr vorgestellt.

Habe ein Feld Status mit Typ enum('inactive','active') in mein MySQL-Datenbank gesetzt.

Jetzt habe ich noch zwei weitere Fragen. Erste: aus welchen Daten besteht ein Link und Zweite: kann ich auf einem lokal installierten Apache Server das alles Testen?

Noch was dazu: bei Anmeldung brauchen die Kunden keinen Passwort, da die Daten nur eingeben und die, Daten, dann nicht mehr bearbeiten dürfen.

von palvoelgyi

In dem Link sollte die richtige Seite aufgerufen werden und der Aktivierungscode sollte mitgegeben werden.

Hallo noch mal

Ja das ist klar dass die richtige Seite aufgerufen werden soll und der Aktivierungscode sollte mitgegeben werden. Jetzt frage ich aber aus welchen Komponenten ein Link besteht?

Hier ist kleine Beispiel:


Teil 1:
$update_sql=mysql_query("UPDATE kundendaten SET Status='active' WHERE pass='0cd2e631fcad84a74c35f60ec1c93463'");
$Ergebnis1 = mysql_query($update_sql, $connect) or die (mysql_error());

Teil 2:
$empfaenger = "m1@web.de";
$betreff = "Deine Anmeldung beim www.xxxx.de";
$from = "From: max<max@web.de>";

mail("$empfaenger","$betreff","Hallo $username! <br><br>
Vielen Dank, dass du dich in der Community von D.t.K. regsitriert hast.
Um deine Anmeldung abzuschließen klicke bitte auf folgenden Aktivierungslink: <br><br>
http://localhost/Registrierung.php?action=active&pass=0d2451e1e349a0db20e2c65813753788
","$from");

[/PHP]

wie soll ich beide Teile zusammen setzen und welche header soll ich noch eintragen, da wenn ich Teil 2 so sende, wie es ist, sagt er mir den Fehler.

[PHP]Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in D:\program files\xampp\htdocs\MyRusTel\Registrierung.php on line 276
Die Mail konnte nicht versendet werden.

MfG max

$from = "From: max<max@web.de>";
mail("$empfaenger","$betreff","Hallo $username! <br><br>
Vielen Dank [...]","$from");[/PHP]

wie soll ich beide Teile zusammen setzen und welche header soll ich noch eintragen, da wenn ich Teil 2 so sende, wie es ist, sagt er mir den Fehler.

[PHP]Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in D:\program files\xampp\htdocs\MyRusTel\Registrierung.php on line 276
Die Mail konnte nicht versendet werden.

der fehler resultiert möglicherweise daher (habs nicht getestet), dass du den mailbody durch eigene zeilenümbrüche und nicht CRLF (\r\n) terminierst.

versuch mal das $from eine zeile raufzuziehen, <br><br> schmeiss weg, das ist HTML formatierung und deinem quellcode zufolge versendest du dein mail im format plain, was sollen da <br>'s bringen. die scheinen dann ja nur im mailtext auf und werden logischerweise nicht als umbrüche interpretiert.

im übrigen würde ich dir schon allein aus sicherheitsüberlegungen heraus die verwendung einer mailklasse empfehlen, z.b. PEAR::Mail oder den phpmailer.

s'Amstel

Antwort auf Eingabe von Amstelchen

Ich habe, ehrlich zu sagen, noch keine Erfahrungen mit einem Mailserver. Kannst du mir, bitte, mal helfen. Ich habe auch ein Mailserver Name Hamster bei mir installiert, aber ich bin nicht ganz sicher, dass ich ihn richtig konfiguriert habe. Brauche ein Rat.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.