PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Array Problem


Ecstasy
08.07.2009, 10:00:13
Guten Morgen liene PHP Freunde.

Ich wollte ein kleines Mail Script programmieren. Diese Emails sollen mehere Empfänger bekommen, diese Empfänger werden aus der Datenbank gelesen.

Mein Problem ist das ich das Array testweise mit echo ausgebe um zu gucken ob er alle einträge ausgibt allerdings kommt dann nur "Array" anstatt die einträge.


Hier das kleine Script:


$email_sql = $db->query("SELECT bsEmail FROM $bewerbung_settingstbl");
while($email1 = $db->fetchArray($email_sql)) {
$empfaenger[] = $email1['bsEmail'];

}


echo $empfaenger;
$betreff = 'Neue Bewerbung bei domain.eu';
$nachricht = 'Es ist eine neue Bewerbung auf domain.eu eingetroffen. Bitte Überprüfen! Danke';
$header = 'From: Bewerbung@domain.eu';

mail($empfaenger, $betreff, $nachricht, $header);

Vielen Dank für die Hilfe im vorraus

Indyk
08.07.2009, 10:04:53
echo $empfaenger[0]['bsEmail']; // zeigt nur den ersten empfaenger an
// oder
echo '<pre>'. print_r($empfaenger, TRUE). '</pre>';

Ecstasy
08.07.2009, 10:07:40
Das heißt? Es sind 3 Datensätze in der Datenbank.

Was müsste ich denn ändern?

EDIT:

Wenn ich folgendes ausgebe


echo '<pre>'. print_r($empfaenger, TRUE). '</pre>';

dann bekomme ich folgendes aus

Array
(
[0] => test1@web.de
[1] => test2@gmx.de
[2] => test3@gmx.net
)


[mod: E-mail Adressen anonymisiert]

Indyk
08.07.2009, 10:10:26
Mein Problem ist das ich das Array testweise mit echo ausgebe um zu gucken ob er alle einträge ausgibt allerdings kommt dann nur "Array" anstatt die einträge.

Das war dein Problem, dieses Problem habe ich versucht mit meiner Antwort zu lösen, da du jetzt weisst das es 3 Empfänger sind, nehme ich an das es geklappt hat.

Hast du noch ein anderes Problem welches du uns noch nicht erzählt hast?

Ecstasy
08.07.2009, 10:13:36
Ok, jezt habe ich nur noch folgendes Problem:

Warning: mail() expects parameter 1 to be string, array given in /var/customers/webs/Sascha/espadon/modules/bewerbung/bewerbung.php on line 20

Es gibt Probleme bei dem Versenden selbst, sprich mit den Empfänger so wie ich es verstehe.

Indyk
08.07.2009, 10:18:49
Wie verstehst du es denn?

Die Fehlermeldung besagt klar, das du ein String übergeben musst. Durch die Ausgabe und die erstellung von $empfaenger sollte dir auch klar sein das es ein Array ist und kein String.

Wie verwandelt man einen Array in einen String? z.b. mit der php funktion implode() (http://de3.php.net/manual/de/function.implode.php) wie trenne ich mehrere Empfänger? Wahrscheinlich mit einem ","


$aEmpfaenger = array ('test1@web.de', 'test2@web.de');
$sEmpfaenger = implode(',', $aEmpfaenger);
echo $sEmpfaenger; // test1@web.de,test2@web.de

ungetestet

Ecstasy
08.07.2009, 10:24:08
Vielen Dank, so Funtkioniert es einwandfrei.

Und wieder etwas dazu gelernt.


Vielen Dank

Gruß