---
title: "problem med mailformulär"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/100951-problem-med-mailformulär/page2"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Rickard"
published: "2004-04-05T16:27:07.000Z"
updated: "2004-04-07T12:37:18.000Z"
replies: 36
views: 861
page: 2
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/100951-problem-med-mailformulär"
---

# problem med mailformulär

_Sida 2 av 2._

## #21 — Pedda, 2004-04-06T21:21Z

Ja, det gör den ju.
Om du inte vill ha det så, så är du tvungen att spara alla mailadresser i en array som du lägger in i databasen.

Men jag ser det inte som något problem, eller hur många mail räknar du med att skicka ut?

Permalänk: https://www.webforum.nu/p/1318012

## #22 — Rickard, 2004-04-06T21:24Z

heh, jag räknar med att skicka ut en sisådär 100 mail...
å jag vill bara ha ett enda mail sparat för att ha en översikt om vad jag har skickat och när jag gjorde det..  =)
Så frågan är då, hur sparar jag ner det i en array som du säger? =)

Permalänk: https://www.webforum.nu/p/1318016

## #23 — Pedda, 2004-04-06T21:37Z

Men om du lägger in en array med mailadresserna så blir det bara en enda lång rad med 100 st mailadresser. Vill du verkligen ha det så?

Behöver du ha reda på vilka som får brevet?

Permalänk: https://www.webforum.nu/p/1318021

## #24 — Rickard, 2004-04-06T21:39Z

japp..

precis så vill jag ha det... dock skall varje mailadress vara separerade med ett kommatecken, så man lätt kan läsa ut varje mailadress..  =)
ex:
<mail1@mail.se> , <mail2@mail.se> osv osv..  =)

Permalänk: https://www.webforum.nu/p/1318022

## #25 — Pedda, 2004-04-06T22:01Z

Du får nog hämta mailadresserna en gång till, lägga in dom i en array och göra om den till en sträng. Detta är inget som jag är 100% säker på, då jag inte brukar jobba så mycket med arrayer.

Om du har din array $mail som innehåller alla mail på en rad, alltså <mail1@mail.comm>ail2@mail.commail3@mail.com osv....
Så gör du om den så här:

```php
$mail = implode(" , ", $mail);
```

Permalänk: https://www.webforum.nu/p/1318030

## #26 — Rickard, 2004-04-06T22:08Z

Ok...  som om jag rå tänker rätt, så måste det väg bli något i stil med detta..  eller har jag fel?

```
$lank = mysql_connect ("localhost","user","pass");
mysql_select_db ("newsletter");
// Hämta rader och skriv ut
$sql = "SELECT * FROM maildatabase ORDER BY id ASC";
$result = mysql_query($sql);
while($rad = mysql_fetch_array($result)) {
$mail2 = implode(" , ", $mail);
}
//Sen komer koden som lägger in allt i databasen

$mail2 = $rad["mail"];
$datum = date("Y-m-d H:i:s");
$lank2 = mysql_connect ("localhost","user","pass");
$databas2 = mysql_select_db("newsletter");
$sql2="INSERT INTO saved_letters(datum,rubrik,mail,message)
VALUES('$datum','$rubrik','$mail2','$message')";
mysql_query("$sql2");
mysql_close ($lank2);
```

Troligen så är väl detta fel..  men med mina vaga kunskaper i PHP så är detta det enda jag kan komma att tänka på...

Permalänk: https://www.webforum.nu/p/1318032

## #27 — Pedda, 2004-04-06T22:13Z

I ditt exempel så får du nog ändra:
$mail2 = implode(" , ", $mail);
till
$mail2 = implode(" , ", $rad\['mail'\]);
och radera raden
$mail2 = $rad\["mail"\];

edit/
Såg att du hade \* i din sql sats, detta innebär ju att du hämtar all data, ändra så du bara hämtar mailadresserna.

Permalänk: https://www.webforum.nu/p/1318035

## #28 — Rickard, 2004-04-06T22:27Z

det gick inget vidare als...
den sparar fortfarande inte mailadresserna...
Istället för att jag skall posta hela koden, slå en fluktare här så ser du hur det hela ser ut...
<http://82.182.89.126/~noratx/newsletter/test/skicka_massmail2.phps>
Kans är lättare att säga vad som är fel å vad jag skall öndra för att få det att funka..  =)

edit: hade glömt att visa adressen till phps filen..  =)

Permalänk: https://www.webforum.nu/p/1318040

## #29 — Rickard, 2004-04-06T23:51Z

Nu har jag försökt med implode grejen ett antal ggr, å det funkar inte als hittils..

Ett annat sätt är att i sidan som listar alla sparade mail, sätta in något script som tar bort dubletter och enbart sparar en av varje.

Det känns förvisso som en ganska dum å långsam grej att göra, men det verkar ju inte att gå att spara mailadresserna annars.

Permalänk: https://www.webforum.nu/p/1318051

## #30 — Pedda, 2004-04-07T08:15Z

Var ganska trött igår kväll, (måste ju skylla på något!  ;) :OO )
Testa den här koden:

```php
<?

$thanks = "thanks.php";        // url to thankspage ([url]http://www.yourdomain.com/thanks.php[/url]), or mail.php?func=ThanksMessage&namn=$namn for standard message.
$bgcolor = "#FCE8B1";        // Backgroundcolor in the mail (body)
$textcolor = "#000000";        // Textcolor in the mail
$tablecolor = "#7B92B0";        // Backgroundcolor in the mail (table)
$border = 1;        // Size on the border
$bordercolor = "#000000";        // Color on the border

$thanksmessage = "Thanks $namn for your message!"; // Only used if you don't have any own thankspage!

$lank = mysql_connect ("localhost","user","pass");
mysql_select_db ("newsletter");
// Hämta rader och skriv ut
$sql = "SELECT * FROM maildatabase ORDER BY id ASC";
$result = mysql_query($sql);
while($rad = mysql_fetch_array($result)) {
    $message = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n
<HTML><BODY bgcolor=\"$bgcolor\"><table width=\"80%\" bgcolor=\"$tablecolor\" text=\"$textcolor\" border=\"$border\" bordercolor=\"$bordercolor\" align=\"center\" cellpadding=\"60\" cellspacing=\"0\"><tr><td>\n
$_POST[meddelande]
</td></tr></table></BODY></HTML>\n";

    //header("Location: $thanks");

    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $avsandare = "do_not_reply@mail.se";
    $headers .= "From: $avsandare";

    mail($rad[mail], "".$_POST[rubrik]."", "$message", "$headers");

}

// Hämta rader och skriv ut
$result = mysql_query('SELECT mail FROM maildatabase');
while($row = mysql_fetch_array($result))
{
   $mail2[] = $row['mail'];  
}

$mail2 = implode(" , ", $mail2);

$datum = date("Y-m-d H:i:s");

$sql2="INSERT INTO saved_letters(datum,rubrik,mail,message)
VALUES('$datum','".$_POST['rubrik']."','$mail2','$message')";
mysql_query("$sql2");

header("Location: $thanks");

?>
```

Permalänk: https://www.webforum.nu/p/1318097

## #31 — Rickard, 2004-04-07T10:33Z

det där funkade aldeles finemang..
Nu är det bara en sista sak som jag inte fick att fungera senast.
Vart skall jag lägga nl2br för att meddelandet skall brytas upp snyggt, så inte all text som skrivs i mailet hamnar på en enda rad?
Den kommer ju med en
$\_POST\[meddelande\]
kan man göra något i stil med:
$\_POST\[meddelande\] = nl2br($meddelande);    ?
eller hur skulle det se ut?

Permalänk: https://www.webforum.nu/p/1318180

## #32 — Pedda, 2004-04-07T10:38Z

$meddelande = nl2br($\_POST\[meddelande\]);

Permalänk: https://www.webforum.nu/p/1318182

## #33 — Rickard, 2004-04-07T10:46Z

hmmm..  det gick tydligen inget vidare als.
Precis som tidigare så bryter den inte texten als.

Är det felsatt av mig eller är det något annat?

```
    $message = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n
<HTML><BODY bgcolor=\"$bgcolor\"><table width=\"80%\" bgcolor=\"$tablecolor\" text=\"$textcolor\" border=\"$border\" bordercolor=\"$bordercolor\" align=\"center\" cellpadding=\"60\" cellspacing=\"0\"><tr><td>\n
$meddelande = nl2br($_POST[meddelande]);
</td></tr></table></BODY></HTML>\n";
```

Permalänk: https://www.webforum.nu/p/1318189

## #34 — Pedda, 2004-04-07T11:15Z

ha $meddelande = nl2br($\_POST\[meddelande\]);
 ovanför din sql sats och ändra loopen till:

```php
$message = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n
<HTML><BODY bgcolor=\"$bgcolor\"><table width=\"80%\" bgcolor=\"$tablecolor\" text=\"$textcolor\" border=\"$border\" bordercolor=\"$bordercolor\" align=\"center\" cellpadding=\"60\" cellspacing=\"0\"><tr><td>\n
$meddelande
</td></tr></table></BODY></HTML>\n";
```

 

Det borde funka.

Permalänk: https://www.webforum.nu/p/1318206

## #35 — Rickard, 2004-04-07T12:30Z

Det där funkade super....
Nu sitter jag å pillar på en uppdateringsfunktion och har fastnat på en header("location:"); som strular.
Om du tar en titt på:
<http://82.182.89.126/~noratx/newsletter/test/edit_userdata.phps>
så får jag fel på rad 29 ( $row=mysql_fetch_row($result); ).
Har du någon aning om varför och hur man löser det?
Jag har försökt att slytta runt på den, med olika resultat, men inget tillfredställande resultat.
Jag vill ju flyttas till view_userdata.php direkt när jag har ändrat/tagit bort...

Permalänk: https://www.webforum.nu/p/1318236

## #36 — Pedda, 2004-04-07T12:33Z

Vad får du för felmeddelande?

Permalänk: https://www.webforum.nu/p/1318238

## #37 — Rickard, 2004-04-07T12:37Z

Warning: Supplied argument is not a valid MySQL result resource in /home/noratx/public_html/newsletter/test/edit_userdata.php on line 29

Permalänk: https://www.webforum.nu/p/1318242

---

Tråden på webben: https://www.webforum.nu/amne/php/100951-problem-med-mailformulär/page2  
Föregående sida: https://www.webforum.nu/amne/php/100951-problem-med-mailformulär.md
