---
title: "kopia till flera mottagare via checkbox i formmail"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/181395-kopia-till-flera-mottagare-via-checkbox-i-formmail"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Fratello"
published: "2009-11-25T18:22:32.000Z"
updated: "2009-11-27T19:08:45.000Z"
replies: 10
views: 1005
page: 1
pages: 1
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/181395-kopia-till-flera-mottagare-via-checkbox-i-formmail"
---

# kopia till flera mottagare via checkbox i formmail

## #1 — Fratello, 2009-11-25T18:22Z

Hej alla hjälpsamma och kloka vänner!
Ber om hjälp igen.

Först har jag en filtrering från databas

$result = mysql_query("SELECT \* FROM medlemar WHERE ".$avdelning." ='ja' order by rand()" ) or die(mysql_error());

?\>
\<?php while($row = mysql_fetch_array( $result )) { ?\>

Varje resultat har en checkbox och meningen är att där ska man välja vilka man vill skicka e-post kopia till (via formulär som finns längre ner på sidan).

...echo'\<input name=" " type="checkbox" id="" value=""/\>'...

Jag gissar att varje checkbox måste ha ett unikt namn typ:

input name="epost $row\['medlem'\]" type="checkbox" id="" value="$row\['epost'\]", men det verkar inte funka med denna kod.

Hur gör man? Och hur får man sedan valda adresser till $cc i formmail.php

/---------formmail-----------

\<?php
// startar sessioner
session_start();
// ämnesrubrik som visas när mailet tas emot
$subject = "";
// e-postadress som formulärinnhållet ska skicka till
$to = "";

$cc =

// om submitknappen använts bearbetas informationen i formulärfälten
if(isset($\_POST\['submit'\])){

// kontrollerar om magic_quotes_gpc är aktiverat
// och lagrar information från formuläret
// som används i meddelandet och validering av fältinnehåll
if(get_magic_quotes_gpc()){
$name = stripslashes(trim($\_POST\["name"\]));
$email = stripslashes(trim($\_POST\["email"\]));
$message = stripslashes(trim($\_POST\["message"\]));
}
else{
$name = $\_POST\["name"\];
$email = $\_POST\["email"\];
$message = $\_POST\["message"\];
}
// startar sessioner
$\_SESSION\['name'\] = $name;
$\_SESSION\['email'\] = $email;
$\_SESSION\['message'\] = $message;

// validering och kontroll av angiven information i formulärfält
$validate1 = '\<script\>alert("Information saknas i ett obligatoriskt formulärfält. \\n Ange ditt NAMN innan du skickar formuläret igen!");\</script\>';
$validate2 = '\<script\>alert("Information saknas i ett obligatoriskt formulärfält. \\n Ange din E-POSTADRESS innan du skickar formuläret igen!");\</script\>';
$validate3 = '\<script\>alert("Information saknas i ett obligatoriskt formulärfält. \\n Ange ditt MEDDELANDE innan du skickar formuläret igen!");\</script\>';
$validate4 = '\<script\>alert("Du har angivit en felaktig epostadress! \\nAnge epostadressen igen.");\</script\>';
$validate_formmail = '\<script\>alert("Du försöker använda vårt Formmail vilket bara är tillåtet från vår webplats!");\</script\>';
$validate_captcha = '\<script\>alert("Du har angivit fel kontrollkod! Ange exakt samma tecken som visas i kodbilden. \\n\\nDen verifieringsbild du ser är en sk Captcha (robotfälla) som används för att förhindra att formuläret används av spamprogram (spamrobotar).");\</script\>';

// kontrollerar om alla formulärfält är ifyllda
if (empty($name)) {
echo $validate1;
echo '\<script\>history.back(1);\</script\>';
exit;}
if (empty($email)) {
echo $validate2;
echo '\<script\>history.back(1);\</script\>';
exit;}
if (empty($message)) {
echo $validate3;
echo '\<script\>history.back(1);\</script\>';
exit;}

// kontrollerar om epostadressen är korrekt angiven
if(!preg_match("/^\[a-z0-9\\å\\ä\\ö\\ü\\%.\_-\]+@\[a-z0-9\\å\\ä\\ö\\ü\\%.-\]+\\.\[a-z\]{2,6}$/i", $email)) {
echo $validate4;
echo '\<script\>history.back(1);\</script\>';
exit;}

/\*(ta bort denna kommentering om du vill aktivera funktionen)
//kontrollera om scriptet anropas från ditt formulär
if (($\_SERVER\['HTTP_REFERER'\]!= "http://www.dinadress.se/kontaktform.php")
&& ($\_SERVER\['HTTP_REFERER'\]!= "http://dinadress.se/kontaktform.php")) {
echo $validate_formmail;
echo '\<script\>history.back(1);\</script\>';
exit;}
\*/

// kontrollerar om CAPTCHA-koden är korrekt
if($\_SESSION\['captcha_kod'\] != md5($\_POST\['captcha_kod'\])) {
echo $validate_captcha;
echo '\<script\>history.back(1);\</script\>';
exit;}

else {
// om formuläret är korrekt ifyllt skickas informationen
if (mail($to,$cc, $subject, $message ,"From: $email")) {
// avslutar sessionen för captcha-bilden
unset($\_SESSION\['captcha_kod'\]);
// visar bekräftelsesidan
header("Location: bekraftelse.php");
}
else
echo "Det gick inte att skicka ditt meddelande";
}
}
?\>
/---------------Tack i förhand--------------------

/Vinko

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

## #2 — Pedda, 2009-11-25T19:09Z

Skapa en array för epost adresserna

```php
$i = 0;
while($row = mysql_fetch_array( $result )) {
     echo "<input type=\"checkbox\" name=\"epost[$i]\" value=\"$row['epost']\" />"; // och lite radbrytningar mm
     $i++;
}
```

Sen kör du implode() på din array för att få en komma separerad sträng som du lägger i cc.

Otestat, men det borde fungera

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

## #3 — Fratello, 2009-11-25T21:30Z

Tack Pedda,
då har jag fixat sintaxfel i koden... men hur ska se ut koden med implode?
Hur lägger man value in array?

if (!isset($\_POST\['epost\[$i\]'\])) {
   $kopia= implode(", ", vad?) '

\--------- i formmail.php---------
$cc =$kopia

Tacksam för svar!

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

## #4 — Pedda, 2009-11-25T21:56Z

Du kan ju först kolla om några checkboxar var ikryssade om du vill.

```php
if(count($_POST['epost'] > 0)) {
     $kopia= implode(", ",  $_POST['epost']);
}
```

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

## #5 — Fratello, 2009-11-26T22:28Z

Tack Pedda för all din hjälp,
men, tyvärr, får jag det inte att funka.
Kan inte testa mailet för har inte det installerat.
Testar så här, men visas det ingenting på skärmen när jag checkar boxarna
...
 echo'\<input type="checkbox" name="upit\_'.$row\['kundnummer'\].'" value="'.$row\['epost'\].'"/\>'?\>\</td\>
			  \<?php 
			  
		if (isset($\_POST\['upit\_'.$row\['kundnummer'\].''\])) {
		
	 $kopia= implode(",", $\_POST\['upit\_'.$row\['kundnummer'\].''\]);}
	 foreach ($kopia as $varde)
	  echo $värde;

Vår är felet??? :(

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

## #6 — Pedda, 2009-11-27T07:38Z

Felet är att du ger dina checkboxar unika namn med upit\_'.$row\['kundnummer'\], och då får du ingen array.

I mitt exempel använde jag en räknare ($i) för varje objekt i arrayen.

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

## #7 — Pedda, 2009-11-27T07:56Z

Testa den här koden så förstår du nog hur jag menar:

```php
<form name="f_test" action="" method="post">
<?php
$i = 0;

while($i < 10) {
	$crapstring = rand();
	echo "<label><input type='checkbox' name='foo[$i]' value='$crapstring'>$crapstring</label><br />";
	$i++;
}
?>
<input type="submit" value="Go..." name="s_form">
</form>
<?php
if(isset($_POST['s_form'])) {
	print_r ($_POST['foo']);
}
?>
```

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

## #8 — Fratello, 2009-11-27T17:10Z

Tack igen!

Nu ficka jag det att funka (med print_r...)
Felet var väl att mina checkboxar låg utanför formuläret.
Räcker det nu om jag i formmail.php lägger
$cc = $\_POST\['foo'\], eller måste jag köra implode?

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

## #9 — Pedda, 2009-11-27T17:15Z

Nej, du måste köra implode() också.

```php
$cc = implode(", ", $_POST['foo']);
```

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

## #10 — Fratello, 2009-11-27T18:54Z

Jätte tack, Pedda!

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

## #11 — Pedda, 2009-11-27T19:08Z

> **[Fratello skrev:](https://www.webforum.nu/p/1489587)**
>
> Jätte tack, Pedda!

Inga problem, och välkommen till wF i efterhand.  :)

Använd gärna länken "Markera som lösning" vid det inlägg som löste frågan så tråden hamnar bland lösta trådar och andra med samma problem hittar lösningen.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/181395-kopia-till-flera-mottagare-via-checkbox-i-formmail
