array auslesen
tom
- php
0 Julian Hofmann0 tom0 Tobias Kloth0 tom
Hallo Leuts,
ich möchte in ein mailscript ein ankommendes array auslesen.
Das klappt auch, jedoch wenn ich den inhalt in einen mail subjekt als variable einfüge wird immer nur der string versendet.
Meine Frage ist eigentlich nur wieso ich den arrayinhalt als echo""; vollständig augeben kann und in der variable subject ist nur der letzte string des arrays.
Liegt das an der schleife?
Vielleicht kann mir jemand eine grobe Reihenfolge posten?
Was mache ich falsch?
Bin unterwegs und kann deshalb keinen code beifügen...
sorry
Gruß Tom
-----------------------------------------------------
Hallo.
Was mache ich falsch?
...
Bin unterwegs und kann deshalb keinen code beifügen...
Ungünstige Ausgangslage. Ohne Deinen Code zu haben wird's schwer Dir zu sagen, was am Code falsch ist. Poste doch mal den relevanten Code wenn wieder zur Hand.
Grüße aus Würzburg
Julian
so da bin ich wieder, hab versehentlich einen neuen augemacht.
der
code
-----------------------------------------
include("../mysql_conf.php");
mysql_connect($mysql_host,$mysql_user,$mysql_password);
mysql_select_db($mysql_db_name);
//beginn emailer
if ($ausloes == "true"){
$hasError = "ok";
$empfaenger1 = "bla@bla.de";
$betreff = "Bestellung von $email";
$y=count($list);
for($x=0;$x<$y;$x++) {
$xyz = mysql_query("SELECT * FROM richtl_nmg WHERE richtl_nr='$gefmalist[$x]'");
while($ergebnis = mysql_fetch_array($xyz)){
$inh="Text ".$list[$x]." ".$ergebnis["bezeichnung"]." ".$ergebnis["preis"]." Euro<br>";
echo"$inh";//Diese Ausgabe Funtioniert
$inhalt = "Eine Bestellung von:
$firma
$name
$strasse
$hausnummer
$ort
$tel
$email
Bestellt wurden:
$inh1 Diese Ausgabe Funtioniert n i c h t
";
}
}
$headers .= "From: $nachname $vorname <$email>\n";
mail($empfaenger1, $betreff, $inhalt, $headers);
}
$turn ++;
Hallo tom,
mysql_connect($mysql_host,$mysql_user,$mysql_password);
mysql_select_db($mysql_db_name);
wo ist die Fehlerbehandlung? (ein 'or die(mysql_error())' hinter den Funktionen kann recht hilfreich sein, wenn mal was nicht funktioniert (bei der Funktion mysql_query unten übrigends auch))
if ($ausloes == "true"){
wo kommt $ausloes her?
$y=count($list);
wo kommt $list her?
$xyz = mysql_query("SELECT * FROM richtl_nmg WHERE richtl_nr='$gefmalist[$x]'");
schreib den Query besser erst in deine Variable, um ihn ausgeben zu können - so kannst du sehen, ob da wirklich das steht, was du willst.
while($ergebnis = mysql_fetch_array($xyz)){
$inh="Text ".$list[$x]." ".$ergebnis["bezeichnung"]." ".$ergebnis["preis"]." Euro<br>";
was macht das '<br>' in einer Text-mail?
echo"$inh";//Diese Ausgabe Funtioniert
definiere "Funtioniert".
$firma
[...]
wo kommen die Variablen $firma bis $email her? Vielleicht aus einem Formular und somit aus dem Array $_POST?
$inh1 Diese Ausgabe Funtioniert n i c h t
definiere "Funtioniert n i c h t".
$turn ++;
mir ist nicht so ganz klar, was du eigentlich machen willst, vielleicht solltest du es nochmal etwas genauer erläutern, wo das Problem liegt - aus dem Text in [pref:t=64900&m=369456] werde ich nämlich nicht schlau.
Grüße aus Nürnberg
Tobias
if ($ausloes == "true"){
wo kommt $ausloes her?
prüfung aus formular
$y=count($list);
wo kommt $list her?
array um das es geht (aus formular checkboxen)
echo"$inh";//Diese Ausgabe Funtioniert
definiere "Funtioniert".
er gibt das auf dem Bildschirm aus was ich will
$firma
[...]
wo kommen die Variablen $firma bis $email her? Vielleicht aus einem Formular und somit aus dem Array $_POST?
genau
$inh1 Diese Ausgabe Funtioniert n i c h t
definiere "Funtioniert n i c h t".
ich versuche in die headervariable einzutragen jedoch kommt nur der letzte string des arrays als emailsubject an
danke für die hilfe
tom
Hallo tom,
$y=count($list);
wo kommt $list her?
array um das es geht (aus formular checkboxen)
dann verwende es auch:
$y = count($_POST['list']); //(ich gehe mal davon aus, dass du ein method="post" hast)
wo kommen die Variablen $firma bis $email her? Vielleicht aus einem Formular und somit aus dem Array $_POST?
genau
und warum verwendest du dann nicht $_POST? spätestens wenn aus irgend einem Grund register_globals auf off gestellt wird, hast du ein Problem.
$inh1 Diese Ausgabe Funtioniert n i c h t
definiere "Funtioniert n i c h t".
ich versuche in die headervariable einzutragen jedoch kommt nur der letzte string des arrays als emailsubject an
ich glaube ich weiß, wo das Problem liegt - du überschreibst bei jedem Durchlauf von while den Wert der in $inh (bzw. $inhalt aber $inhalt gehört imho aus der Schleife raus) steht. Du musst also den Wert jedesmal an $inh dranhängen ($inh .= "Text "...) oder aus $inh ein Array machen und bei jedem Durchlauf ein Element dranhängen ($inh[] = "Text "...) - ich würde aber erstere Variante nehmen, da du sonst das Array erst wieder zu einem String umformen musst.
Du solltest generell deinen Code konsequent einrücken, damit du siehst, ob du gerade in einer Schleife, einer if-Abfrage o.ä. befindest.
Grüße aus Nürnberg
Tobias