kostenloser Webspace werbefrei: lima-city


an mysql und e-mail senden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Ich habe versucht, dass alle mysql einträge in meinem Newssystem nicht nur in eine mysql Datenbank sondern zusätzlich noch per mail an mich versandt werden.
    Das Problem ist nur ich kriege es nur hin das sich das mail Programm öffnet und dort der text erscheint, nicht aber das er ohne irgendeinen Befehl oder ein programm einfach per e-mail im Hintergrund verschickt wird aber geht das überhaupt?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. das ist ganz einfach: dazu nimmst du die Funktion \'mail()\'


    http://de3.php.net/mail

    hier solltest du alles finden was du brauchst
    sonst frag einfach nochmal.

    gruss joma
  4. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Ja das habe ich alles hinbekommen. Blöderweise kann ich aber keine Parameter im Text verwenden wie z.b $Text. Ich habe schon alles versucht. Warum geht es nicht?
  5. wie meinst du das mit keine Parameter im text verwenden.
    beschreib doch deine Probleme ein bisschen besser.


    eine Mail schrebst du so:

    $empfanger = \'irgendjemand@irgendwo.ch\';
    $betreff = \'Hallo meine Mail\';
    $text = \'Hallo wie geht es dir mit^r geht es gut.\';
    $absender = \'ich@zuhause.ch\';
    
    mail($empfanger; $betreff; $text; \'From: \'.$absender);


    gruss joma

  6. Ja das habe ich alles hinbekommen. Blöderweise kann ich aber keine Parameter im Text verwenden wie z.b $Text. Ich habe schon alles versucht. Warum geht es nicht?

    WEiß nicht ob ich das jetzt richtig verstanden haben, aber $ zB musst du in PHP escapen wenn du es ausgeben willst.
    \\$
  7. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Das habe ich acuh gemacht nur das Ich unter dem Text Parameter haben will.
    Siehe hier:

    Text= Benutzername: <? echo $benutzername ?> ...

    So soll das aussehen nur es funktioniert nicht.
  8. das würde ich alles in eine php block packen und so schreiben:

    $text = \'Benutzername: \'.$benutzername;


    denn die ganze mail anweissung muss in einem php-Block stehen, also warum

    no-smoke schrieb:

    Text= Benutzername: <? echo $benutzername ?> ...

    So soll das aussehen nur es funktioniert nicht.


    Beitrag geändert: 28.1.2008 18:44:59 von joma93

  9. Das habe ich acuh gemacht nur das Ich unter dem Text Parameter haben will.
    Siehe hier:

    Text= Benutzername: <? echo $benutzername ?> ...

    So soll das aussehen nur es funktioniert nicht.


    Das was du da schreibst kann so nur direkt ausgegeben werden, aber zB nicht von einer PHP-Funktion verarbeitet werden, Text ist ja zB in deinem Fall nicht mal eine Variable.
  10. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Also irgendwie ist das komisch ich habe alles in einem Php block stehen und es klappt trotsdem nicht

    $nachricht = \'Benutzername: .$benutzername\';



    Beitrag geändert: 28.1.2008 18:50:06 von no-smoke

  11. Also irgendwie ist das komisch ich habe alles in einem Php block stehen und es klappt trotsdem nicht

    $nachricht = \'Benutzername: .$benutzername\';



    Beitrag geändert: 28.1.2008 18:50:06 von no-smoke


    Poste mal den ganzen Code
  12. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Wie du gleich in meinem Dukoment feststellen kannst habe ich alles oben angegeben was er wissen muss:

    <?php
    //die Konfigurationsdateien lesen
    error_reporting(E_ALL);
    include \"inc/config.php\";
    
    //Datebnbanklogin
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
    
    
    
    //Parameter holen
    $benutzername = htmlentities($_POST[\'benutzername\']);
    $mail = htmlentities($_POST[\'mail\']);
    $homepage = htmlentities($_POST[\'homepage\']);
    $eintrag = htmlentities($_POST[\'eintrag\']);
    $IP = getenv(\"REMOTE_ADDR\");
    
    //Parameter prüfen
    if($benutzername != \"\" && $eintrag != \"\") {
    //Eintrag escapen
    $benutzername = str_replace(\"Schule1\", \"<font color=#FF0000>Administrator</font>\", $benutzername);
    $eintrag = str_replace(\"\\n\", \"<br />\", $eintrag);
     $eintragen = \"INSERT INTO guestbook
    (IP, Datum, Benutzername, Mail, Homepage, Eintrag)
    VALUES(
    \'$IP\',
    NOW(),
    \'$benutzername\',
    \'$mail\',
    \'$homepage\',
    \'$eintrag\'
    )
    \";
    
    $result = mysql_query($eintragen) OR die(mysql_error());
    
    if($result) {
    header(\"location: http://www.ruanda-projekt.de/?s=auslesen\");
    }
    else {
    echo \"Eintrag konnte nicht gespeichert werden\";
    }
    }
    else {
    if($eintrag == \"\") {
    echo \"Du musst einen Gästebuch eintrag schreiben.\";
    }
    if($benutzername == \"\") {
    echo \"Du musst einen Benutzernamen eingeben\";
    }
    }
    
    // mehrere Empfänger
    $empfaenger  = \'Sascha.Ladewig@Gmx.de\' . \', \'; // beachten Sie das Komma
    $empfaenger .= \'S-ladewig@web.de\';
    
    // Betreff
    $betreff = \'Neuer Gästebucheintrag\';
    
    // Nachricht
    $nachricht = \'Benutzername: .$benutzername\';
    
    // für HTML-E-Mails muss der \'Content-type\'-Header gesetzt werden
    $header  = \'MIME-Version: 1.0\' . \"\\r\\n\";
    $header .= \'Content-type: text/html; charset=iso-8859-1\' . \"\\r\\n\";
    
    
    // zusätzliche Header
    
    $header .= \'From: Neuer Gästebucheintrag <Sascha.Ladewig@Gmx.de>\' . \"\\r\\n\";
    
    // verschicke die E-Mail
    mail($empfaenger, $betreff, $nachricht, $header);
    ?>
  13. Also du hast schon was weggenommen, oder, denn da fehlt was.

    Probiers mal so:

    <?php
    //die Konfigurationsdateien lesen
    error_reporting(E_ALL);
    include \"inc/config.php\";
    
    //Datebnbanklogin
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
    
    
    
    //Parameter holen
    $benutzername = htmlentities($_POST[\'benutzername\']);
    $mail = htmlentities($_POST[\'mail\']);
    $homepage = htmlentities($_POST[\'homepage\']);
    $eintrag = htmlentities($_POST[\'eintrag\']);
    $IP = getenv(\"REMOTE_ADDR\");
    
    //Parameter prüfen
    if($benutzername != \"\" && $eintrag != \"\") {
    //Eintrag escapen
    $benutzername = str_replace(\"Schule1\", \"<font color=\\\"#FF0000\\\">Administrator</font>\", $benutzername);
    $eintrag = str_replace(\"n\", \"\", $eintrag);
     $eintragen = \"INSERT INTO guestbook
    (IP, Datum, Benutzername, Mail, Homepage, Eintrag)
    VALUES(
    \'$IP\',
    NOW(),
    \'$benutzername\',
    \'$mail\',
    \'$homepage\',
    \'$eintrag\'
    )
    \";
    
    $result = mysql_query($eintragen) OR die(mysql_error());
    
    if($result) {
    header(\"location: http://www.ruanda-projekt.de/?s=auslesen\");
    }
    else {
    echo \"Eintrag konnte nicht gespeichert werden\";
    }
    }
    else {
    if($eintrag == \"\") {
    echo \"Du musst einen Gästebuch eintrag schreiben.\";
    }
    if($benutzername == \"\") {
    echo \"Du musst einen Benutzernamen eingeben\";
    }
    }
    
    // mehrere Empfänger
    $empfaenger  = \'Sascha.Ladewig@gmx.de, S-ladewig@web.de\'; // beachten Sie das Komma
    //$empfaenger .= \'S-ladewig@web.de\';
    
    // Betreff
    $betreff = \'Neuer Gästebucheintrag\';
    
    // Nachricht
    $nachricht = \'Benutzername: \'.$benutzername;
    
    // für HTML-E-Mails muss der \'Content-type\'-Header gesetzt werden
    $header  = \'MIME-Version: 1.0\' . \"rn\";
    $header .= \'Content-type: text/html; charset=iso-8859-1\' . \"rn\";
    
    
    // zusätzliche Header
    
    $header .= \'From: Neuer Gaestebucheintrag <Sascha.Ladewig@gmx.de>\' . \"rn\";
    
    // verschicke die E-Mail
    mail($empfaenger, $betreff, $nachricht, $header);
    ?>


    Edit: Wieso ersetzt du alle n mit nichts??

    Beitrag geändert: 28.1.2008 19:01:56 von philippkern
  14. zur erklärung:

    das Anführungszeichen muss vor die variable $benutzername , sonst wird nicht der Benutzernamen angezeigt sonder das \'Wort\' $benutzername



    deine Schreibweise:

    // Nachricht
    $nachricht = \\\'Benutzername: .$benutzername\\\';



    die richtige schreibweise:

    // Nachricht
    $nachricht = \\\'Benutzername: \\\'.$benutzername;



  15. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Gut das habe ich soweit verstanden und es funktioniert auch aber wie muss ich die Kommas denn bei mehreren Sachen setzen?
  16. wie meinst du denn das wieder von was willst du mehrere sachen einfügen???
  17. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Von den Variablen.
    ich habe versucht die Anführungszeichen erneut zu setzen aber die Werte liest er nicht ein.
    Was bedeutet in der E-mail kann ich nur den Benutzernamen sehen aber nicht die E-mail Sdresse.
  18. wo willst du überhaupt kommata setzen??
    (sorry das ich nochmal frage aber heb doch zum beispiel die stelle in deinem code hervor.)
  19. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Ich habe mir das so gedacht:
    // Nachricht
    $e = \'Benutzername: \'.$benutzername \'E-mail: \'.$mail;
    
    
    
    // für HTML-E-Mails muss der \'Content-type\'-Header gesetzt werden
    $header  = \'MIME-Version: 1.0\' . \"rn\";
    $header .= \'Content-type: text/html; charset=iso-8859-1\' . \"rn\";
    
    
    // zusätzliche Header
    
    $header .= \'From: Neuer Gaestebucheintrag <Sascha.Ladewig@gmx.de>\' . \"rn\";
    
    // verschicke die E-Mail
    mail($empfaenger, $betreff, $e, $header);
    ?>



    Beitrag geändert: 1.2.2008 22:28:47 von no-smoke


  20. no-smoke schrieb:
    Ich habe mir das so gedacht:
    // Nachricht
    $e = \\\'Benutzername: \\\'.$benutzername \\\'E-mail: \\\'.$mail;
    
    
    
    // für HTML-E-Mails muss der \\\'Content-type\\\'-Header gesetzt werden
    $header = \\\'MIME-Version: 1.0\\\' . \\\'rn\\\';
    $header .= \\\'Content-type: text/html; charset=iso-8859-1\\\' . \\\'rn\\\';
    
    
    // zusätzliche Header
    
    $header .= \\\'From: Neuer Gaestebucheintrag <Sascha.Ladewig@gmx.de>\\\' . \\\'rn\\\';
    
    // verschicke die E-Mail
    mail($empfaenger, $betreff, $e, $header);
    ?>



    Beitrag geändert: 1.2.2008 22:28:47 von no-smoke


    ok jetzt weiss ich was du meinst:

    du musst immer wenn du zwei strings, also variabeln verbinden willst einen punkt dazwischen setzen also:

    $e = \'Benutzername: \'.$benutzername .\'E-mail: \'.$mail;

    das heisst also auch immer hinter die variable und nicht nur davor.

    gruss johannes
  21. Autor dieses Themas

    no-smoke

    Kostenloser Webspace von no-smoke

    no-smoke hat kostenlosen Webspace.

    Vielen Dank.
    Jetzt habe ich noch ein ziemlich komisches Problem. Er nimmt keine <br> Vefehle in der E-mail an.
    Warum nicht?
    Denke ich jetzt gerade falsch?
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!