Manfred: E-Mailadressenübergabe an Formmailer?

Hi,
ich habe ein grosses Problem mit dem Formmailer.

Die Daten die ich mit dem unteren PHP Skript aus der Datenbank auslese kann ich einwandfrei wiedergeben.
Auch der Formmailer funktioniert jetzt noch korrekt!
<?php

$verbindung = bla bla ; /connect include
$datenbank= xy ; /* Name der Datenbank */
$tabelle= beispiel; /* Name der Tabelle, kann frei gewaehlt werden */

/* Zugriff auf SQL-Server */
MYSQL_CONNECT($server, $user, $passwort) or die ("<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($datenbank) or die ( "<H3>Datenbank nicht vorhanden</H3>");

$ID = $_POST['ID']; // Übergabe der Variablen von index.html
$Mail = $_POST['Mail'];
$Absender = $_POST['Absender'];
$Nachricht = $_POST['Nachricht'];
$daten[Email] = $_POST['daten[Email]'];

//Datenbankabfrage
$query = "SELECT DATE_FORMAT( DATO, '%d.%c.%Y um %H:%i:%S Uhr' ) AS datum,Vorname,Jahre,Postleitzahl,Email,Nationalität,Familienstand,
Kinder FROM $tabelle WHERE ID = 12";

// Ergenisse aus Datenbank auslesen!
$result = mysql_query($query);
$reihen = mysql_num_rows($result);

if (mysql_num_rows($result)) {
}

while ($daten = mysql_fetch_array ($result)) {

//Formatierung für den Text aus den Datenfeldern
echo
'<p><font size="4" color="black">Guten Tag,<br><p>mein Name ist '.$daten[Vorname].', bin '.$daten[Jahre].' Jahre alt',
' und wohne im Postleitzahlenbereich '.$daten[Postleitzahl].'</font>.',
'<p>Mein Inserat ist Online seit dem  '.$daten[datum].'.<br>',
'<p><font size="4" color="red">Meine Stammdaten</font>',
'<p>Nationalität:  <font size="3" color="blue">'.$daten[Nationalität].'</font>.',
'<p>Familienstand:  <font size="3" color="blue">'.$daten[Familienstand].'</font>.',
'<p>Kinder:  <font size="3" color="blue">'.$daten[Kinder].'</font>.',
'<p>Vielen Dank für Ihre Aufmerksamkeit.',
'<p>Sollten Sie noch fragen haben, können Sie mich gerne unverbindlich kontaktieren.',
'<p>Ich würde mich sehr freuen.  '.$daten[Vorname].'!';

/* Ab hier beginnt der Universalmailer */
/* DIE NÄCHSTEN WERTE EDITIEREN */
$daten[Email];
$betreff="Hier der Betreff";
$botschaft="Folgende Daten wurden eingegeben:\n\n";
/* EDITIEREN ENDE */
/* Schleife liest Attribut-Werte-Paare aus: */
foreach($_POST as $name=> $value) {
/* Alle Daten werden in $botschaft gespeichert: */
$botschaft.="$name=$value\n"; // Kurzform für Verkettung
}
/* Versenden! Bitte Mail-Feld im Formular vorsehen! */
if (isset($_POST["Mail"]) && $_POST["Mail"]!="") { // Mail-Feld gesetzt und nicht leer?
/* Dann wird Versenden-Funktion mail() aktiv */
$absender=$_POST["Mail"];
if(mail($daten[Email], $betreff, $botschaft, "From: $absender")) {
/* War mail() erfolgreich? Dann sieht Benutzer folgende Zeilen */
echo "<h4>Danke für das Feedback!</h4>\n";
echo "<p>Die Botschaft wurde weitergeleitet!</p>\n";
}
/* Sonst gibt es eine Fehlermeldung: */
else {
echo "<h4>Leider konnte Ihre Botschaft nicht versandt werden.</h4>\n";
}
} // äußere if-Funktion schließen
/* else-Zweig äußere if bei nicht gesetzter Variable $Email: */
else {
echo "<h5>Bitte geben Sie Ihre E-Mail-Adresse an!</h5>\n";
}
}//Diese Klammer gehört noch zu der while schleife resultat mysql!
MYSQL_CLOSE($verbindung); //Tabelle wieder freigeben!
?>
<html>
<body>
<p> </p>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<dl>
<dt>Ihr Name:</dt>
<dd><input name="Absender" type="text" />
</dd>
<dt>Ihre E-Mail:</dt>
<dd><input name="Mail" type="text" />
</dd>
<dt>Ihre Nachricht:</dt>
<dd><textarea name="Nachricht" cols="40" rows="3" ></textarea>
</dd>
</dl>
<!-- Ende der Beispielangaben -->
<p>
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
</body>
</html>

Ende php Skript

Leider muß ich die Daten aber mit einem Formular auslesen.

Dieser Umstand bereitet mir die letzten Tage große Sorgen, denn der Formmailer der die Emailadresse aus der $daten[Email] übernehmen soll funktioniert jetzt nicht mehr!

Rufe ich das PHP Skript direkt mit dem folgendem Eintrag auf, funzt der Formmailer.

//Datenbankabfrage Beispiel Datensatz 12 direkt in php eingegeben!

$query = "SELECT DATE_FORMAT( DATO, '%d.%c.%Y um %H:%i:%S Uhr' ) AS datum,Vorname,Jahre,Postleitzahl,Email,Nationalität,Familienstand,
Kinder FROM $tabelle WHERE ID = 12"; // Wenn ich diesen Eintrag 12 auf $ID ändere geht der Formmailer nicht mehr!

Rufe ich das PHP Skript über meine index.htm also über ein Formular auf sehe ich alle Daten korrekt aber der Formmailer sendet nicht!!

//Datenbankabfrage Beispiel Datensatz 12 über ein Formular mit Varialbe $ID

$query = "SELECT DATE_FORMAT( DATO, '%d.%c.%Y um %H:%i:%S Uhr' ) AS datum,Vorname,Jahre,Postleitzahl,Email,Nationalität,Familienstand,
Kinder FROM $tabelle WHERE ID = $ID";

Das Beispiel mit dem Formular können Sie auf http//arbeitspotential.de anschauen!

Ich wäre Ihnen sehr dankbar, wenn Sie dieses vielleicht für Sie kleine Problem lösen könnten. Ich bin PHP Anfänger also bitte nicht so kompliziert erklären. Danke im voraus!

Liebe grüße Manfred

PS.Wenn ich die E-mailadresse direkt in den Formmailer eintrage geht alles korrekt in beiden Versionen! Ich vermute, daß die while schleife dieses Problem verursacht.

  1. Hi,

    Wenn ich diesen Eintrag 12 auf $ID ändere geht der Formmailer nicht mehr!

    Und welcher Wert steh in $ID?