BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Mail per php verschicken. (http://www.black-board.net/thread.php?threadid=22523)


Geschrieben von Flux am 25.09.2006 um 15:42:

  Mail per php verschicken.

Hi,

Möchte eine mail mit Inhalt aus Formularfeldern versenden.

Habs Folgendermassen versucht:

mail1.php:
code:
1:
2:
3:
4:
5:
6:
<form action="mail2.php" method="post">
<input name="text1" type="text" id="text1" />
<input type="submit" value="Senden">
</form>


mail2.php:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:

<?php
$header  'MIME-Version: 1.0' "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
$header .= 'From: Flux';

$empfaenger "meineemail@domain.com";
$betreff "MAILTEST2";
$nachricht $text1;

// verschicke die E-Mail
mail($empfaenger$betreff$nachricht$header);
?>


Die Mail wird zwar gesendet steht aber nix drin..


sieht jemand den Fehler, oder ich grundlegend was falsch gemacht hab?

thx smile mfg

Flux



Geschrieben von LX am 25.09.2006 um 16:23:

 

Vermutlich ist die PHP-Direktive "register_globals" auf dem Rechner, von dem aus das passieren soll, auf "off" gesetzt (wie es sich gehört *g). In dem Fall werden die Variablen deines Formulars nicht einfach als Variablen initialisiert, sondern befinden sich in den superglobalen Arrays $_POST und $_GET.

Den Text der Mail wirst du in dem Fall also nicht in $text1 wiederfinden, sondern in $_POST['text1'].



Geschrieben von Flux am 25.09.2006 um 17:35:

 

dankeschön smile

was genau bewirkt dieses "register globals" ? Also worin besteht der sinn dieses abzuschalten?



Geschrieben von LX am 25.09.2006 um 17:47:

 

Die Einstellung ist für stinkfaule Programmierer gedacht, die ihre Formularvariablen nicht initialisieren wollen... Das stellt aber letztendlich eine potenzielle Sicherheitslücke dar, da man so beliebige Variablen aus Skripten einfach von außen überschreiben könnte, wenn sie nicht initialisiert wurden.

Recht ausführlich steht dazu auch was in der PHP-Dokumentation.


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH