"We are back" « oc.at

PHP: prob mit "AN" bei mail()

semteX 08.03.2004 - 17:07 620 7
Posts

semteX

liebt die große KI
Avatar
Registered: Oct 2002
Location: Pre
Posts: 15037
meine mail fkt. schaut so aus

$an = $SHOP["email"];
$sub = "betreeeef";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$SHOP[name]."<blahr@muh.com>\r\n";
mail($an, $sub, $mail, $headers);

wenn ich bei $an = "SemtexKG@gmx.at" schreib dann passts.

jetzt wollt ich alles auf "globale vars" umstelln ==> ich hab diese mailfkt 3x beim ganzen system.

also hab ich ne $SHOP var eingeführt

$SHOP[email] = "SemtexKG@gmx.at";
$SHOP[name]....

also langer rede kurzer sinn.

wenn ich eben wie oben $an = $SHOP["email"] schreib, dann schickt er keine mail.

wieso nicht?

so i hoff das war jetzt kompiziert genug ;)

mfg
Bearbeitet von semteX am 08.03.2004, 19:31

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
ahm...
möglichkeit: register-globals deaktiviert... natürlich gehts dann nicht -> $GLOBALS['SHOP']['email'] sollte das bereinigen
ABER
du solltest dir vielleicht überlegen ob du in deinem fall mit einem objekt nicht besser dran bist ;)

semteX

liebt die große KI
Avatar
Registered: Oct 2002
Location: Pre
Posts: 15037
mhm i fürcht i habs falsch erklärt...

wenn ich bei $an direkt protected schreib, gibts keine probleme.

wenn ich aber $an = $SHOP[email]; mache dann funkt das ned. aber in $SHOP[email] steht auch nur die email addi drin (was auch stimmt, via echo überprüft)...

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also, ich hab das so verstanden, dass $shop eine globale variable is, oder lieg ich da falsch?

semteX

liebt die große KI
Avatar
Registered: Oct 2002
Location: Pre
Posts: 15037
mhm war ein erklädungsfehler von mir

die $shop liegt in ner php.inc file die includet wird

Das wird includet:

Code: PHP
<?
// This is the SHOP - Config. Edit everything here!

$SHOP[email]="SemtexKG@gmx.at";
$SHOP[name]="Glass & Co";
$SHOP[return_email]="SemtexKG@gmx.at";
?>

Code: PHP
$an = $SHOP[email];
	$sub = "Kunde - Auftrag nr. $FETCH[id]";
	$headers  = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	$headers .= "From: ".$_SHOP[name]."<office@glass-co.com>\r\n";
	mail($an, $sub, $mail, $headers);
?>

so gehts NICHT

Code: PHP
$an = "SemtexKG@gmx.at";
	$sub = "Kunde - Auftrag nr. $FETCH[id]";
	$headers  = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	$headers .= "From: ".$_SHOP[name]."<office@glass-co.com>\r\n";
	mail($an, $sub, $mail, $headers);

so gehts schon

i möcht wissn wieso das obere ned geht, das untere aber schon

sorry wegn dem fehler

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also, mir fällt auf den ersten blick auch nix auf und wenn du sagst $SHOP[email] hat der der stelle "$an = $SHOP[email];" nachweisbar den richtigen wert, dann kann ich nur vermuten...
du kannst aber das probieren:
$an = &$SHOP['email'];

ausserdem solltest du prinzipiell bei arrays deren keys zeichenketten sind diese in single-quotes einschliessen... also $SHOP['email']

semteX

liebt die große KI
Avatar
Registered: Oct 2002
Location: Pre
Posts: 15037
das mit single quotes hatte ich in meiner verzeiflung auch schon gehabt... arg das sind fehler die check ich einfach ned... mal schaun

semteX

liebt die große KI
Avatar
Registered: Oct 2002
Location: Pre
Posts: 15037
solved... ich trottel..

diese mail ausgabe ist in ner funktion. wenn ich natürlich $SHOP nicht übergebe, findet er nix.. doh

thx für die hilfe
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz