Ankündigung

Einklappen
Keine Ankündigung bisher.

Mail von MySql DB abfragen nach Regestrierung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mail von MySql DB abfragen nach Regestrierung

    Hey Leute ich bin neu hier und würde mich auch gerne direkt vorstellen
    Ich bin Niklas und arbeite gerade an einer Präsentierung.
    Es soll eine Website erstellt werden. Die nötigen Html und Css sowie Java Kenntnisse bringe ich mit. Mir steht eine Domain mit Webspace zur Verfügung.
    Mit Filezilla lade ich persönlich am liebsten die Daten hoch. Eine Datenbank ist bereits eingerichtet.
    Jetzt möchte ich, dass man beim absenden der Registrierung eine Mail erhält.
    Dazu nutze ich aktuell folgendes Script:
    <!DOCTYPE html>
    <html>
    <head>
    <title>PHP mail()</title>
    </head>
    <body>
    <?php
    $empf = "?????????";
    $betreff = "Regestrierung";
    $from = "From: blabla.de <info@blabla.de>\n";
    $from .= "Reply-To: info@blabla.de\n";
    $from .= "Content-Type: text/html\n";
    $text = "<h1>Regestrierung abgeschlossen!</h1><p style=\"color: black;\">Vielen Dank für Ihre Regestrierung auf blabla.de. Ihr Kundenkonto wurde freigeschaltet und kann nun genutzt werden. Mit freundlichen Grüßen Ihr Team von blabla.de.</p>";

    mail($empf, $betreff, $text, $from);
    ?>
    </body>
    </html>

    Die Registrierung ist gebastelt und er schickt mir auch die Mail raus. Aber ich muss diese natürlich manuell eintippen. Ich möchte aber gerne, dass er die Mail Adresse von der Datenbank zieht und dann ? Kann ich dann einfach Script anstelle der Fragezeichen nutzen ? -> $empf = "?????????"; <-
    Bitte denkt daran, dass es sich hier nur um ein Beispiel handelt. Ich bin fast fertig nur dieser eine Punkt ist noch nicht fertig...

    Ich freue mich auf rege Antworten und verabschiede mich mit der Bitte um Hilfe

    Mit besten Grüßen
    Niklas

  • #2
    Hast Du denn diese E-mail auch in der Datenbank gespeichert? und wenn ja wie? Nachdem der User sich registriert hat kannst du per

    http://php.net/manual/de/function.mysql-insert-id.php

    die letzte id abfragen und diese speicherst Du in einem Cookie/Session. Anhand dieser ID kannst Du dann wieder die DB abfragen und Dir die gewünschte E-Mail holen

    Diese mySQL Funktion ist veraltet, aber mach Dich doch mal mit einer DB PHP Klasse vertraut, empfehlen kann ich Dir

    http://medoo.in/
    :cookie: ?

    Kommentar


    • #3
      Ja das diese MySql Funktion veraltet ist habe ich mir bereits gedacht.. das sind halt die recht minimalistischen Kenntnisse von den letzten 3 Wochen schreiben ^^
      Allerdings ist es nur aus Vorführ zwecken. Daher ist es nicht so wichtig, da sich Personen mit Test- Mail Adressen regestrieren würden.

      Die Regestrierung sieht komplett etwa so aus:

      <h3>Registrieren</h3>
      <?php
      if(!isset($_GET["page"])) {
      ?>
      <form action="register.php?page=2" method="post" >
      Benutzername*<input type="text" name="benutzername" /><br />
      Vorname*<input type="text" name="vorname" /><br />
      Nachname*<input type="text" name="nachname" /><br />
      Straße und Hausnummer*<input type="text" name="strnr" /><br />
      Postleitzahl und Ort*<input type="text" name="plzort" /><br />
      E-Mail Adresse*<input type="text" name="mail" /><br />
      Passwort*<input type="password" name="pw" /><br />
      Passwort wiedeholen*<input type="password" name="pw2" /><br />
      <input type="submit" value="Senden" />
      <?php
      $empf = echo $post['mail'];
      $betreff = "Regestrierung von blabla.de";
      $from = "From: info@blabla.de <info@blabla.de>\n";
      $from .= "Reply-To: info@blabla.de\n";
      $from .= "Content-Type: text/html\n";
      $text = "<h1>Regestrierung abgeschlossen!</h1><p style=\"color: black;\">Vielen Dank für Ihre Regestrierung auf blabla.de. Ihr Kundenkonto wurde freigeschaltet und kann nun genutzt werden. Mit freundlichen Grüßen Ihr Team von blabla.de.</p>";

      mail($empf, $betreff, $text, $from);
      ?>
      </form>
      <?php
      }
      ?>
      <?php
      if(isset($_GET["page"])) {
      if($_GET["page"] == "2") {
      $benutzername = strtolower($_POST["benutzername"]);

      $vorname = strtolower($_POST["vorname"]);
      $nachname = strtolower($_POST["nachname"]);
      $strnr = strtolower($_POST["strnr"]);
      $plzort = strtolower($_POST["plzort"]);
      $mail = strtolower($_POST["mail"]);

      $pw = md5($_POST["pw"]);
      $pw2 = md5($_POST["pw2"]);

      if($pw != $pw2) {
      echo "Deine Passwörter stimmen nicht überein. Bitte wiederhole deine Eingabe....<a href=\"register.php\">zurück</a>";
      } else {
      $verbindung = mysql_connect("", "", "")
      or die ("Fehler im System");

      mysql_select_db("")
      or die ("Verbidung zur Datenbank war nicht möglich...");

      $control = 0;
      $abfrage = "SELECT benutzername FROM login WHERE benutzername = '$benutzername'";
      $ergebnis = mysql_query($abfrage);
      while($row = mysql_fetch_object($ergebnis))
      {
      $control++;
      }
      if($control != 0) {
      echo "Username schon vergeben. Bitte verwende einen anderen Usernamen....<a href=\"register.php\">zurück</a>";
      } else {
      $eintrag = "INSERT INTO login
      (benutzername, vorname, nachname, strnr, plzort, mail, passwort)

      VALUES
      ('$benutzername', '$vorname', '$nachname', '$strnr', '$plzort', '$mail', '$pw')";

      $eintragen = mysql_query($eintrag);

      if($eintragen == true) {
      echo "Vielen Dank. Du hast dich nun registriert...<a href=\"index.php\">Jetzt anmelden</a>";
      } else {
      echo "Fehler im System. Bitte versuche es später noch einmal...";
      }
      mysql_close($verbindung);
      }
      }
      }
      }
      ?>
      </body>
      </html>

      Mit den ID Einstellungen kämpfe ich jetzt schon seit letzter Woche. Die Spalte habe ich ID genannt, allerdings listet er mir nicht diese nicht runter und schreibt überall "0". Heißt das denn nun ich kann einfach statt die Fragezeichen " int mysql_insert_id ([ resource $link_identifier = NULL ] ) " einfügen ? Kannst du evtl. die Funktion eintippen und mir daraufhin erklären was du getan hast ? Bis jetzt hat das lernen mit PHP so am besten funktioniert
      Super das die Antwort so schnell kam !

      Kommentar


      • #4
        ***EDIT***Hab das mit der ID gerade hinbekommen. Er listet jetzt auf also 1-...

        Kommentar


        • #5
          Du musst dem Feld "id" in deiner Tabelle die Eigenschaft "AUTO INCREMENT" und "PRIMARY KEY" geben, somit zählt die ID automatisch bei jedem Eintrag hoch....
          :cookie: ?

          Kommentar


          • #6
            PHP-Code:
            $control 0;
            $abfrage "SELECT benutzername FROM login WHERE benutzername = '$benutzername'";
            $ergebnis mysql_query($abfrage);
            while(
            $row mysql_fetch_object($ergebnis))
            {
            $control++;
            }
            if(
            $control != 0) {
            echo 
            "Username schon vergeben. Bitte verwende einen anderen Usernamen....<a href=\"register.php\">zurück</a>";

            ist schon kompliziert hinzuschauen

            mid dem Framework, dass ich Dir geschickt hab, würd es so heißen:

            PHP-Code:
            if($medoo->count('login',['benutzername'=>$benutzername]) != 0){
            // Fehler
            } else {
            // Good Job

            :cookie: ?

            Kommentar

            Lädt...
            X