PHP gibt falsch aus!

v-h-k

Grünschnabel
Hallo ich muss euch nochmal stören,
Ich habe mir ein Script geschrieben aber die ausgabe ist Falsch. Funktionieren tut es aber

PHP:
<? $cnfg=$_SERVER['DOCUMENT_ROOT']; 
include("".$cnfg."/conf.php"); 
$mos = date("m"); 
$key = '1'; 

   $An = "DarkSky@achja.de"; 
   $Betreff = "Geburtstagsliste vom $mo"; 
    

$query = "SELECT * FROM smgeb WHERE monate='$mo' ORDER BY `id` DESC"; 
$result = mysql_query($query); 
while ($line = mysql_fetch_array($result)) 
{ 

$Nachricht.$key = "$key $line[vorname], $line[nachname] am $line[tage].$line[monate].$line[jahre]\r"; 

$key++; } 
$i=1; 
$Nachricht = "while ($i<$key) { echo '$Nachricht$i\r'; $i++; } "; 

$Extra = "From: <$email>\n"; 
mail($ema, $Betreff, $Nachricht, $Extra); 
?>

Ausgabe ist:

?>
<? while (1<1 Tim, Sowieso am 03.05.1988
2Heinz, Müller am 06.05.1986
Hans, Jörgen am 25.05.1986
) { echo '1
'; 1++; } ?>
<?

ausgegeben werden soll nur so:

Tim, Sowieso am 03.05.1988
Heinz, Müller am 06.05.1986
Hans, Jörgen am 25.05.1986

Was mache ich Falsch?
 
Weil du $Nachricht den Wert "while ($i<$key) { echo '$Nachricht$i\r'; $i++; } " gibst und dann per mail(); versendest. Logischerweise steht denn in $Nachricht auch das, was du der Variable zugewiesen hast.
 
also die schleife durchläuft es ja. sonst wer ja nur ein wert rausgekommen. Aber warum zeigt es das mir an oder wie kann ich das verhindern das es mir die schleife anzeigt aber trotzdem ausführt!
 
jop ich lese die aus ner Datenbank. Die Ausgabe soll so sein:

Tim, Sowieso am 03.05.1988 (1. datensatz)
Heinz, Müller am 06.05.1986 (2.Datensatz)
Hans, Jörgen am 25.05.1986 (3. Datensatz)
usw.

aber wie mache ich das!
 
PHP:
while ($line = mysql_fetch_array($result))
{

$Nachricht = $Nachricht . "$key $line[vorname], $line[nachname] am $line[tage].$line[monate].$line[jahre]\r";

$key++; }

$Extra = "From: <$email>\n";
mail($ema, $Betreff, $Nachricht, $Extra);

so sollte es gehen
 
Wie wäre es mal mit:

PHP:
<?
$cnfg=$_SERVER['DOCUMENT_ROOT'];
include("".$cnfg."/conf.php");

$mos = date("m");
$key = 1;

$An = "DarkSky@achja.de";
$Betreff = "Geburtstagsliste vom $mos";

$query = "SELECT
                *
          FROM
                smgeb
          WHERE
                monate = '".$mos."'
          ORDER BY
                id
          DESC";

$result = mysql_query($query);

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

       $Nachricht[$key] = $line[vorname].", ". $line[nachname] ." am". $line[tage].$line[monate].$line[jahre]."\r";

       $key++;

}
$i=1;

while ($i < $key) {

       echo $Nachricht[$i]."\r";

       $Nachricht = $Nachricht[$i];

       $i++;

}

$Extra = "From: <$email>\n";
mail($ema, $Betreff, $Nachricht, $Extra);
?>
 
Zurück