[Anfänger] eMail-Versand + Datenbankeintragung

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

  • [Anfänger] eMail-Versand + Datenbankeintragung

    Hey Leute

    Hab über Google meinen Weg in dieses Forum gefunden.

    Folgendes würde ich gerne machen:

    Nickname + eMail-Adresse in eine Datenbank eintragen lassen, damit sie danach so angezeigt wird, wie das Bild im Anhang.

    Ist dies möglich?


    Nun seid ihr sicher schon gespannt, was es sich mit dem "Senden"-Button auf sich hat ;o)

    Wenn ich auf den Senden Knopf klicke, hätte ich gerne, dass danach dem einen User eine eMail geschickt wird, mit einem gegeben Inhalt (eMailinhalt von Txt, oder HTML-Datei, keine Ahnung was am einfachsten ist...).

    Ist das sehr Aufwändig? Falls jemand etwas ähnliches schson geschrieben hat, hätte ich gegen eine mail nichts dagegen, oder jemand kennt ein Tutorial, das mir hier weiter hilft...

    Vorhanden: MySQL, PHP, SMTP.....

    Besten dank für eure Mühe
    Angehängte Dateien

  • #2
    Re: [Anfänger] eMail-Versand + Datenbankeintragung

    Original geschrieben von ouromov
    Ist dies möglich?
    Ja.

    Einige kleine Anregungen:
    Du liest aus der Datenbank die Einträge aus und gibst sie dann so wie auf
    deinem Bild an den Browser. "Senden" definierst du als Link, der ein Script
    aufruft, welches die E-Mail versendet. An dieses Script würde ich die User-ID
    weitergeben.

    Alles weitere findest du hier im Forum -> Suche ist zu empfehlen...

    Kommentar


    • #3
      Hi

      Dankedir! Ich hab mich schlau gemacht und habe jetzt eine klitze kleine Frage:

      Folgendes hab ich schon:

      <?
      mysql_connect("localhost",
      "schlitzaeugler","xxxxxxxxxx") or die
      ("Keine Verbindung moeglich");
      mysql_select_db("schlitzaeugler") or die
      ("Die Datenbank existiert nicht");
      ?>

      <?
      $nick = $HTTP_POST_VARS["nick"];
      $mail = $HTTP_POST_VARS["mail"];
      ?>

      <?
      $eintrag = "INSERT INTO links (nick, mail) VALUES ('$nick', '$mail',
      ')";
      ?>

      <?
      $eintragen = mysql_query($eintrag);
      ?>


      Jetzt brauch ich ja 2 leere Eingabe-Felder und einen abschicken Button. Nun die Frage: Wie verlink ich den Button, damit er die Aktion $eitragen ausführt?

      Das ist jetzt nur das Eintragen der User in der MySQL-Datenbank

      Ein leernender Noob ^^


      **//EDIT


      So sollte es meiner Meinung nach funktionieren, doch es funktioniert noch nicht )

      <form action="$eintragen">
      <table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
      <tr>
      <td align="right">Nick:</td>
      <td><input name="$nick" type="text" size="30" maxlength="30"></td>
      </tr><tr>
      <td align="right">Mail</td>
      <td><input name="$mail" type="text" size="30" maxlength="40"></td>
      </tr><tr>
      <td>
      <input type="submit" value=" Absenden ">
      <input type="reset" value=" Abbrechen">
      </td>
      </tr>
      </table>
      </form>



      Danke für die, die sich die Mühe nehmen, meine Versuche durchzulesen ^^
      Zuletzt geändert von ouromov; 21.12.2004, 13:38.

      Kommentar


      • #4
        Verwende bitte in Zukunft die PHP-Tags, damit es leichter ist, den Code
        zu lesen.

        In form action="abc.php" muss eine Datei eingetragen sein,
        die nach dem Abschicken ausgeführt wird.
        Du kannst also z.B. ein Script zur Erzeugung des Formulars haben,
        sowie ein Script, das dann die Einträge in die DB vornimmt.

        Also, den unteren Bereich deines Posts z.B. formular.php mit action ->
        dbeintrag.php und der obere Teil eben dbeintrag.php oder so ähnlich.

        Ach, und nimm die $-Zeichen im Formular weg.

        Kommentar


        • #5
          Danke vielmals!

          Also ich hab weiter gearbeitet und ich häng seit ca 4 Stunden irgendwo fest:

          Quelltext bla.htm - ich glaube das Stimmt jetzt

          PHP-Code:
          <form action="bla.php" method="post">
          <
          table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
          <
          tr>
          <
          td align="right">Nick:</td>
          <
          td><input name="nick" type="text" size="30" maxlength="30"></td>
          </
          tr><tr>
          <
          td align="right">Mail</td>
          <
          td><input name="mail" type="text" size="30" maxlength="40"></td>
          </
          tr><tr>
          <
          td>
          <
          input type="submit" value="Absenden ">
          <
          input type="reset" value="Abbrechen">
          </
          td>
          </
          tr>
          </
          table>
          </
          form

          Quelltext bla.php - hier stimmt wohl irgend etwas nicht!

          PHP-Code:
          <?
          mysql_connect("localhost",
          "schlitzaeugler","xxx") or die
          ("Keine Verbindung moeglich");
          mysql_select_db("schlitzaeugler") or die
          ("Die Datenbank existiert nicht");
          ?>

          <?
          $nick = $nick = $_POST["nick"];
          $mail = $mail = $_POST["mail"];
          ?>

          <?
          $eintrag = "INSERT INTO links (nick, mail) VALUES ('$nick', '$mail',
          ')";
          ?>

          <?
          $eintragen = mysql_query($eintrag);
          ?>

          <?
          echo "den user ",$nick," erfolgreich, 
                  m1t der addy ",$mail," geaddet.";
          ?>
          Nun, wie man auf http://schlitzaeugler.sc.funpic.de/php/b/ sehen kann, funktioniert das Formular und auf der nächsten Seite werden auch die Variablen $nick und $mail angezeigt, doch in die Datenbank werden diese irgendwie nicht eingetragen (was man jetzt gleich sieht

          Quellcode abfrage.php - Hier müsste doch mit $ergebnis alle eingetragenen Nicks angezeigt werden, oder?
          PHP-Code:
          <?
          mysql_connect("localhost",
          "schlitzaeugler","xxx") or die
          ("Keine Verbindung moeglich");
          mysql_select_db("schlitzaeugler") or die
          ("Die Datenbank existiert nicht");
          ?>

            <?
            $abfrage = "SELECT nick FROM links";
            ?>


            <?
            $ergebnis = mysql_query($abfrage);
            ?>
           
          <?
            echo "Users: ",$ergebnis," ";
            ?>
          Angehangen den Screenshot mit den Einstellungen der Datenbank. Ich habe das Gefühl, dass ich dort etwas falsches eingestellt habe!

          Kommentar


          • #6
            Grüß Dich,

            Hilfe zum Debuggen:

            es ist schon das du nach den mysql_... funktionen in der regel ein or die hast. zusätzlich solltest du noch ein mysql_error() dazubauen, damit du fehlermeldungen der datenbank angezeigt bekommst.

            insbesondere bei der zeile

            $eintragen = mysql_query($eintrag);

            wobei

            PHP-Code:
            mysql_query($eintrag) or die ('fehler: '.msyql_error()); 
            ausreicht, du brauchst das nicht unbedingt einer variablen zuzuweisen.

            auserdem solltest du mal ein

            PHP-Code:
            echo $eintag
            machen, um dir das sql-statment anzuschauen.

            Kommentar


            • #7
              Original geschrieben von jochenj
              [...] du brauchst das nicht unbedingt einer variablen zuzuweisen.[...]
              was soll der quatsch denn?

              na klar muss man das eine variablen zuweisen. schliesslich ist das ein SELECT, welches werte liefert. ohne die variable kann du nicht fetchen.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                PHP-Code:
                $eintrag "INSERT INTO links (nick, mail) VALUES ('$nick', '$mail',')"
                Habe den Query mal wegen der Übersichtlichkeit in eine Zeile gesetzt.
                Zähl mal die Hochkommata durch, vor allem innerhalb der letzten Klammern...

                Und ein Tipp: mysql_error() und error_reporting sind immer gute Helfer.

                Kommentar


                • #9
                  Danke Leute! Echt starke Hilfe hier...


                  PHP-Code:
                  <?
                  $eintrag = "INSERT INTO links (nick, mail) VALUES ('$nick', '$mail')";
                  ?>

                  <?
                  mysql_query($eintrag);
                  if (mysql_errno()) die ("Fehler: $eintrag, <br>" . mysql_error());
                  ?>

                  Hatte ein Hockkomma zuviel, und nun eine Fehlermeldung eingebaut )

                  Fehler: INSERT INTO links (nick, mail) VALUES ('test', 'test@test.de'),
                  Unknown column 'nick' in 'field list'


                  Irgend ein Fehler mit nick, ich kommt aber net drauf?!

                  Kommentar


                  • #10
                    wie heißen denn die Spaltenbezeichnungen in der Tabelle?
                    Unknown column 'nick' in 'field list'
                    bedeutet ja nur, das sMySQL diese Bezeichnung nicht kennt.

                    Kommentar


                    • #11
                      Unknown column
                      Wer des englischen nicht mächtig ist...

                      Kommentar


                      • #12
                        Original geschrieben von Abraxax
                        was soll der quatsch denn?

                        na klar muss man das eine variablen zuweisen. schliesslich ist das ein SELECT, welches werte liefert. ohne die variable kann du nicht fetchen.
                        sorry, hab mich uneindeutig geäußert, war beim INSERT befehl, da ich davon ausging, dass das anzeigen funktioniert und nur das reinschreiben nicht (beim SELECT ist klar, das ich damit weiterarbeiten will)

                        EDIT:
                        btw. wurde das prob jetzt gelöst?

                        Kommentar


                        • #13
                          Es funktioniert alles, nur wie kann ich die Abfrage-Ergebnis schöner darstellen? Also nicht in einer Linie, sondern tabelar. z.B.:

                          ID NICK MAIL
                          ID NICK MAIL
                          ID NICK MAIL
                          ID NICK MAIL
                          ID NICK MAIL
                          ID NICK MAIL

                          Mein Script sieht so aus:

                          PHP-Code:
                          <?
                          mysql_connect("localhost",
                          "schlitzaeugler",".....") or die
                          ("Keine Verbindung moeglich");
                          mysql_select_db("schlitzaeugler") or die
                          ("Die Datenbank existiert nicht");
                          ?>

                          <?
                          $result = mysql_query("SELECT * FROM links");
                          while($row=mysql_fetch_array($result))
                          {
                            echo $row[id]." ".$row[nick]." ".$row[mail];
                          }
                          ?>
                          Zuletzt geändert von ouromov; 23.12.2004, 10:37.

                          Kommentar


                          • #14
                            probiers mit html

                            PHP-Code:
                            while($row=mysql_fetch_array($result))
                            {
                              echo 
                            $row[id]." ".$row[nick]." ".$row[mail] ."<br>\n";

                            kannst du auch in ne tabelle schreiben. überleg aber bitte im vorfeld, was in die schleife gehört und was nicht.

                            gruß jochen

                            Kommentar

                            Lädt...
                            X