Avatar billede elohim Nybegynder
20. april 2009 - 15:55 Der er 8 kommentarer og
1 løsning

Explode problem

Jeg fatter simpelthen ikke hvorfor denne explode ikke vil virke, er der nogle der lige kan gennemskue den.

<html>
<body>
<?php
require_once("ini/conn_mysql.php");

$query = mysql_query("SELECT email FROM festival");
while (mysql_fetch_array($query)) {
}
$arr = explode(';', $_POST['email']);
{
echo $arr;
}
foreach ($arr as $value)
{
  echo "Value: " . $value . "<br />";
}
?>
</body>
</html>

jeg har sat denne ind som en test, og den viser bare array ??
så noget får den da.
Det jeg vil er at tage alle mails i en db, liste dem i en input, så brugeren bare skal udfylde beskeden der skal sendes til alle.


hilsen Ib
Avatar billede d_v Nybegynder
20. april 2009 - 16:21 #1
Du leder nok efter funktionen implode -> http://dk.php.net/manual/en/function.implode.php

explode gør det modsatte

Kan dog ikke helt se hensigten med koden, du henter noget data fra databasen men bruger emailen fra $_POST variablen ?
Avatar billede CCodam Nybegynder
20. april 2009 - 16:23 #2
Jeg er ikke helt med på, hvad du mener? Hvilket input skal den liste dem i, er det en form textbox?
Avatar billede d_v Nybegynder
20. april 2009 - 16:26 #3
Ved nærmere eftertanke tror jeg det du vil opnå er at hente alle emails ud fra en database, og så få dem til at havne i en string.

Det kan gøres således baseret på din kode.

$query = mysql_query("SELECT email FROM festival");
$emails = array();
while ($row = mysql_fetch_array($query)) {
$emails[] = $row[0];
}

$emails = implode(";", $emails);
Avatar billede elohim Nybegynder
20. april 2009 - 17:40 #4
Ja d_v det er lige præcist hvad jeg vil, og det virker med dit script... med EN mail adresse, men jeg kan ikke få det til at virke med den liste jeg nu generer.

Hvad kan der være galt ?

Her er hele koden...
<?php
require_once("ini/xxxx_mysql.php");

$query = mysql_query("SELECT email FROM xxxxxxx");
$emails = array();
while ($row = mysql_fetch_array($query)) {
$emails[] = $row[0];
}

$modtager = implode(";", $emails);

if (isset($_POST['navn']) && isset($_POST['besked']))
{
    if (empty($_POST['navn']))
    {
        echo "Du skal indtaste en E-Mail";
    }
    elseif (empty($_POST['besked']))
    {
        echo "Du skal indtaste en besked";
    }
    else
    {
    $modtager;
        $emne = "Mail fra Evangelist (Festivalen)";
        $besked = "Hej, du har modtaget mail: \n
                    Besked: " . $_POST['besked'];
        $header = "from:info@xxxxx.dk";

        mail($modtager, $emne, $besked, $header);
        echo "Emailen er nu sendt!";
    }
}
?>
<html>
<head></head>
<body>
<form action="skriv_til_alle_deltagerer.php" method="post">
    E-Mail: <br>
    <input type="text" name="navn" VALUE="<?echo $modtager?>" style="width: 200px;"> <br><br>

    Besked: <br>
    <textarea name="besked" style="width: 500px; height: 500px;"></textarea> <br><br>

    <input type="submit" value="Send mail til alle deltagerer">
</form>
</body>
</html>
Avatar billede d_v Nybegynder
20. april 2009 - 17:57 #5
ahh... det er fordi at mail adresserne skal være separeret af , (komma) og ikke ; (semikollon).

Brugte bare hvad du havde skrevet tidligere, men erstat linien:
$modtager = implode(";", $emails);
med:
$modtager = implode(",", $emails);


og så skulle den være i vinkel, dog skal det lige siges at det nok ikke er den helt korrekte måde at sende nyhedsbrev ud på.
Da alle brugere vil kunne se alle de andre brugers mail addresser, og den er vidst ikke helt i orden med hensyn til datatilsynet.
Avatar billede elohim Nybegynder
21. april 2009 - 00:52 #6
med komma ??? hmm ok jeg prøver, men forstår ikke, da det altid er simikolon jeg bruger i et mail program
Avatar billede elohim Nybegynder
21. april 2009 - 01:16 #7
Så nu har jeg testet det og den vil kun sende den ene mail og ikke de andre mails, men det med komma er rigtig nok, jeg fandt det også i PHP net, og på w3school.

men den vil ikke sende mere end en og det forstår jeg simpelthen ikke.

der er da mange der sender flere tusind mails ud til deres kunder og til deres reklame modtagerer, hvordan gør de det hmm

nogle forslag.
d_v du får poingene
Avatar billede elohim Nybegynder
22. april 2009 - 08:49 #8
D_V hvis du har et bud på hvordan jeg sender mailen en af gangen, så jeg kommer igennem alle mail adresser jeg skal sende til , ville jeg være meget taknemlig

hilsen Ib
Avatar billede elohim Nybegynder
22. april 2009 - 14:52 #9
Nå den kommer igennem nnu, men det tager bare en krig...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester