PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Variablenübergabe



magpie
01-06-2003, 17:43
Hi

Ich habe ein Problem bei einem Anmeldeformular. Ich mache eine Abfrage ob mail() true zurück gibt. Wenn ja erscheint die gesendete Mitteilung als Text. Wenn false zurückkommt erscheint ein Hinweis zum Drucken und ein Link der zur Mitteilung führt. Das alles funktioniert auch prima bis auf das Problem, dass nach der Weiterleitung die Textformatierung nicht mehr stimmt. Also alle \n werden ignoriert.

Kann mir jemand einen Tipp geben wie ich das Problem lösen kann?

Hier der Code.


<?php //********************************************
// Angaben für den Mailversand
$to = "empfaenger@host.ch";
$subject = "Anmeldung für den Kurs im Jahr ".$var_kurs;
$from = "webmailer@host.ch";
$replay = "webmailer@host.ch";
//********************************************

$heute = getdate();
$monat = $heute['mon']; // Monat als Zahl
$tag_monat = $heute['mday'];
$jahr = $heute['year'];

$monat_d = Array(1=>"Januar", 2=>"Februar", 3=>"März", 4=>"April", 5=>"Mai", 6=>"Juni", 7=>"Juli", 8=>"August", 9=>"September", 10=>"Oktober", 11=>"November", 12=>"Dezember");

$datum = $tag_monat." ".$monat_d[$monat]." ".$jahr;

$message = "Anmeldung vom ".$datum." für den Kurs\n";
$message .= "im Jahr ".$var_kurs." von \n\n";
$message .= $var_p_anrede."\n"; $message .= $var_p_vorname." ".$var_p_name."\n";
$message .= $var_p_adresse."\n";
$message .= $var_p_plz." ".$var_p_ort."\n\n";
$message .= "Tel.: ".$var_p_tel."\n";
$message .= "Fax.: ".$var_p_fax."\n";
$message .= "E-Mail.: ".$var_p_mail."\n\n";
$message .= "Geburtsdatum: ".$var_p_gebdat."\n\n\n\n";
$message .= "Meinen Lehrabschluss absolvierte ich als\n".$var_abschluss." im Jahre ".$var_abschlussdat.".\n";
$message .= "Die BMS habe ich ".$var_bms.".\n\n\n";
$message .= "Meine bisherigen Tätigkeiten waren:\n\n";
$message .= $var_taetigkeit[0]." von ".$var_von[0]." bis ".$var_bis[0]."\n";
$message .= $var_taetigkeit[1]." von ".$var_von[1]." bis ".$var_bis[1]."\n";
$message .= $var_taetigkeit[2]." von ".$var_von[2]." bis ".$var_bis[2]."\n";
$message .= $var_taetigkeit[3]." von ".$var_von[3]." bis ".$var_bis[3]."\n\n\n";
$message .= "Seit ".$var_g_dat." arbeite ich als ".$var_g_taetigkeit." bei der Firma\n\n";
$message .= $var_g_firma."\n";
$message .= $var_g_adresse."\n";
$message .= $var_g_plz." ".$var_g_ort."\n\n";
$message .= "Tel.: ".$var_g_tel."\n";
$message .= "Fax.: ".$var_g_fax."\n";
$message .= "E-Mail.: ".$var_g_mail."\n\n\n\n";
$message .= "Anmerkungen:\n";
$message .= "------------------------------------------------------------\n\n";
$message .= wordwrap( $var_anmerk, 60 )."\n\n";
$message .= "------------------------------------------------------------";

$header="From:$from<$from>\n";
$header .= "Reply-To: $replay\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "Content-Type: text/plain"; // Für HTML-Mail durch "text/html" ersetzen

//$ck_mail = mail($to,$subject,$message,$header);
$ck_mail = false;

if (!$ck_mail)
{
if (!$weiter)
{
header("Content-type: text/html");
echo "<html><body>";
echo "<font size=\"5\">Es ist ein Fehler aufgetreten, die E-Mail konnte nicht versendet werden!</font><br><br><br>";
echo "<ol><li>Auf <b>Weiter</b> klicken.</li>";
echo "<li>Anmeldung ausdrucken.</li>";
echo "<li>Anmeldung per Post an die Schulleitung schicken.</li></ol><br>";
echo "<a href=\"".$PHP_SELF."?weiter=true&text=$message\" target=\"_new\"><b>Weiter</b></a><br><br><br>";
echo "Zum Anmeldeformular <a href=\"anmeldung_hfm.html\"><b>zur&uuml;ck</b></a>";
echo "</body></html>";
}
if ($weiter)
{
header("Content-type: text/plain");
echo $text;
}
}
else
{
header("Content-type: text/plain");
echo $message;
}
?>

gruss magpie

Gaert
01-06-2003, 19:10
Hallo!

Versuch mal $message mit urlencode() zu encoden bevor die sie an den link hängst und sie vor der Ausgabe dannm mit urldecode() wieder zurückzuwandeln.

magpie
02-06-2003, 21:38
Jep so gehts :)

Danke, magpie