Variable bleibt leer bei Übernahme!?

markberg

Erfahrenes Mitglied
Hallo,
ich habe ein Formular, möchte dann auf nächste Seite einen Mailversand haben. Versuche daher die aus der DB abgefragte email zu übergeben, aber schon wenn ich auf den Link zeige, sehe ich, dass die Variable leer bleibt!? Denke jedoch, dass eigentlich der Code richtig sein muss...

PHP:
$SQLString = "SELECT id, username, bezirk, email FROM DBxxx.tabelle WHERE `id` = ' ".$_GET['id']." '"; 
$Ergebnis = mysql_query($SQLString, $Verbindung);
if ($Ergebnis) {
$Datensatz = mysql_fetch_array ($Ergebnis);
while ($Datensatz) {
echo '<table>';
echo '<tr><td><b>Du möchtest&nbsp</b></td><td><font color="#000000">'.$Datensatz["email"].'&nbspaus&nbsp'.$Datensatz["bezirk"].'</font></td><td><b>&nbspeine Nachricht schicken?</b></td></tr>'; 
echo '</table>';
$Datensatz = mysql_fetch_array($Ergebnis);
}
} else {
echo "Fehler in der Abfrage! Bitte Seite aktualisieren oder später nocheinmal probieren!";
}

Link:
<a href="mailversand.php?mail=<? echo $email; ?>" target="_top">Nachricht versenden</a>

Mailversand:
PHP:
$nachricht = $_GET['nachricht'];
echo "$nachricht"; // Übernahme Nachr & email mit GET und dann mail()

Vielen Dank vorab...
 
und woher soll er wissen, was $email ist?

Ich find bei deiner Version nirgendwo eine Zuweisung der Adressen an $email

gruß shutdown
 
Dann mach im Link statt
PHP:
$email
mal lieber
PHP:
$Datensatz["email"]

Der Link gehört dann allerdings in die while-Schleife. Sonst funzts nicht.

//edit:
Übrigens gehört nach jedem &nbsp ein ; sprich
HTML:
&nbsp;
 
Zuletzt bearbeitet:
Als Tipp :

statt <? echo $email; ?> kannste auch <?=$datensatz['email'];?> schreiben, sieht besser aus ;).
 
Hallo!

@pornex, mag ja sein dass es schön aussieht (ist Geschmackssache), jedoch bergen beide Schreibweisen (also <?...?> und <?=...?>) die Gefahr dass das Script jederzeit Probleme bereiten könnte.
Siehe hierzu ein Posting von Gumbo.

Also lieber:
PHP:
<?php echo $Datensatz['email']; ?>
Gruss Dr Dau
 
Zurück