Hi
Ich habe ein Problem beim versenden von internen Nachrichten an mehrere User, welche in einer Datenbank drin stehen. Ich habe das Script so geschrieben, dass es die ID's der User aus der Datenbank ausliest, per eplode diese einzeln ausgibt und diese wieder in einer anderen Datenbank, samt text und betreff und so speichern. Soweit funtzt das Script, dass es nun an alle in der Datenbank eingetragenen User eine Mail sendet. Aber ich habe das Problem, trotzdem dass die einfache echo Ausgabe der ID List ohne Leerzeichen oder sonstiges ist, dass es für jeder gesendete Mail an eine bestehende ID auch eine ohne ID sendet, also leer in die Datenbank schreibt, also habe ich bei 5 Usern 10 Mails. % Mails an die User auch mit entsprechender ID und 5 ohne ID und ich weiss nicht wieso.
Hier mein Script ohne Formular:
Die Ausgabe eines einfachen echo $5 ergibt: 12345
Die Anordnung nach versenden in der Datenbank: 0504030201
Wobei 0 für einen Eintrag ohne ID steht. Wie bekomme ich die weg, und vor allem wieso sind die da?
Stimmt da etwas wegen dem explode nicht?
-----------------------------------------------------
MfG und Danke für alle Antworten
BigSanch
-----------------------------------------------------
:icon6:ES IST MIR SCHEISS EGAL WER DEIN VATER IST, WENN ICH HIER ANGEL, HAST DU NICHT ÜBERS WASSER ZU LAUFEN!
Man muss schon etwas wissen, um verbergen zu können, dass man nichts weiß.
-----------------------------------------------------
Ich habe ein Problem beim versenden von internen Nachrichten an mehrere User, welche in einer Datenbank drin stehen. Ich habe das Script so geschrieben, dass es die ID's der User aus der Datenbank ausliest, per eplode diese einzeln ausgibt und diese wieder in einer anderen Datenbank, samt text und betreff und so speichern. Soweit funtzt das Script, dass es nun an alle in der Datenbank eingetragenen User eine Mail sendet. Aber ich habe das Problem, trotzdem dass die einfache echo Ausgabe der ID List ohne Leerzeichen oder sonstiges ist, dass es für jeder gesendete Mail an eine bestehende ID auch eine ohne ID sendet, also leer in die Datenbank schreibt, also habe ich bei 5 Usern 10 Mails. % Mails an die User auch mit entsprechender ID und 5 ohne ID und ich weiss nicht wieso.
Hier mein Script ohne Formular:
PHP:
if ($action == "massenmailsend"){
$massmail = "SELECT * FROM users WHERE";
$massmail2 = mysql_query ($massmail);
$1 = $_POST['betreff'];
$2 = $_POST['text'];
$3 = $_POST['email'];
$4 = $_POST['name'];
while($mm = mysql_fetch_array($massmail2)){
$mailids = $mm["id"]."||";
$ids=explode("||",$mailids);
foreach($ids as $5){
$sql = ("
INSERT INTO pm (betreff, name, email, nachricht, gelesen, uid)
VALUES ('".$1."', '".$2."', '".$3."', '".$4."', '0', '".$5."')
");
mysql_query($sql) or die ("Eintrag fehlgeschlagen,<br />
MySQL Error: <strong>".mysql_error()."</strong>");
}
}
echo "
<center>Nachricht wurde erfolgreich gesendet</center>
<script>
function goto(){top.window.location='index.php?datei=pm'}
</script>
<script>goto()</script>
";
exit;
}
Die Ausgabe eines einfachen echo $5 ergibt: 12345
Die Anordnung nach versenden in der Datenbank: 0504030201
Wobei 0 für einen Eintrag ohne ID steht. Wie bekomme ich die weg, und vor allem wieso sind die da?
Stimmt da etwas wegen dem explode nicht?
-----------------------------------------------------
MfG und Danke für alle Antworten
BigSanch
-----------------------------------------------------
:icon6:ES IST MIR SCHEISS EGAL WER DEIN VATER IST, WENN ICH HIER ANGEL, HAST DU NICHT ÜBERS WASSER ZU LAUFEN!
-----------------------------------------------------
Zuletzt bearbeitet: