Gå til innhold

Avmerkningsbokser i mail-form


Anbefalte innlegg

Skrevet (endret)

Jeg har et mail-script bestående av et skjema, og en egen fil som sender mailen.

 

Det ser slik ut:

 

Skjemaet form.php:

<form action="simpel.php" method="post">

 Name: <input type="text" name="name" size="20" maxlength="20"><br />

 Subject: <input type="text" name="subject" size="30" maxlength="30"><br />

 Text:<textarea name="text" name="text" cols="50" rows="10"></textarea><br />
 

 <input type="submit" name="submit" value="Send">

</form>

 

Selve mail-scriptet simpel.php:

<?php

extract($_POST);


$sendto = "[email protected]";

$fromemail = "[email protected]";


mail($sendto,$subject,$text,"From: $name <$fromemail>");

echo "fullført";

?>

 

 

Jeg kunne tenkt meg å legge til en funksjon som gjorde at man kunne velge blant noen forskjellige mailadresser å sende mailen til med avmerkningsbokser, og som gjorde det mulig å sende til flere samtidig. Hvordan gjør jeg dette? Helst slik at man da får alle opp som mottaker i samme mail, sånn at alle som mottar mailen kan se hvem andre som har fått den også. Hvis det er vanskelig, så gjør det ikkenoe om det blir sendt en mail til hver istedenfor.

 

Her ligger scripet

 

Mvh: Lars Tronrud Dahl

Endret av larstdahl
Videoannonse
Annonse
Skrevet

når du sender mail har du flere felt hvor du kan fylle inn andressen, blandt annet til, kopi og bcc (blind carbon copy). på til og kopi-feltene vil alle mottagerne se hvem andre som har sendt mailen, mens med bcc vil en kun se sin egen mailadresse i adressefeltet....

Skrevet

Var kanskje litt uklart i min første post, men det jeg lurer på er hvordan jeg får til sånne avmerkningsbokser i skjemaet. Det med selve mail-delen skjønte jeg også, men vet bare ikke helt hvordan...

 

Håper noen kan hjelpe meg litt på vei her.

 

Ps: er ingen master i php akkuratt :blush:

Skrevet
<input type='checkbox' name='boks1' value='[email protected]' />

Enkleste du får til regner jeg med. Sikkert sikrere med bare en tallverdi i value, som så hentes fra et array i PHP skriptet, men mye tjas for lite styr :p

Skrevet

Her er noen simple eksempler. vet ikke om jeg har forstått deg riktig, men du kan feks gjøre slik for å få til avmerkingsbokser:

 

<input type="radio" name="option1" value="mail_meg"> Mail meg<br>
<input type="radio" name="option2" value="mail_alle" checked> Mail Alle<br>

 

(her har jeg brukt radio for at kun en box skal være valgt, men du kan bytte ut med checkbox hvis du vil ha mulighet for å kunne hake av flere bokser samtidig).

 

Jeg ser av at du bruker form med post. da kan du gjøre slik for å hente ut informasjonen i simple1.php:

 

if ($_POST[mailaddy] == "mail_meg") $adresse = "min_adresse";
else $adresse = "alles_adresser"

 

her kan du også legge til flere if-setninger avhengig av hvor mange buttons du har...

Skrevet

gjør det noe om det blir to kommaer mellom mottakerne? slik:

mail("[email protected]",,"[email protected]","subject","teksten")
vet dte mangler noe i mail-funksjonen.

 

Eller om det står et komma før alle mottakerne?

 

en ting til, hvios jeg ikke skal ha noe på else-delen i en if-setning, kan jeg da ha else{}; ???

Skrevet
gjør det noe om det blir to kommaer mellom mottakerne? slik:
mail("[email protected]",,"[email protected]","subject","teksten")
vet dte mangler noe i mail-funksjonen.

 

Eller om det står et komma før alle mottakerne?

 

en ting til, hvios jeg ikke skal ha noe på else-delen i en if-setning, kan jeg da ha else{}; ???

holder med et komma mellom mottagerne. hvis du ikke "trenger" å ha med else-setninger dropper du den og tar med bare en if-setning...

Skrevet

Tja... å begynne med mange if forutsettninger for å sende ut en mail blir litt mye jobb - bruk heller en array.

 

Legg til alle mottakere på denne måten i skjemaet:

<input type='checkbox' name='boks[]' value='[email protected]' />

<input type='checkbox' name='boks[]' value='[email protected]' />

<input type='checkbox' name='boks[]' value='[email protected]' />

<input type='checkbox' name='boks[]' value='[email protected]' />

 

I scriptet så bruker du bare foreach() for å sende ut mail:

foreach($_POST['boks'] = $to)

{

mail($to, "Hei", "Hei på deg, hvordan har du det i dag?");

}

 

Keep it short and simple!

Skrevet (endret)
Men jeg spør igjen, vil det funke å sette $sendto .= "[email protected]"; hvis variablen $sendto er tom?

Hva mener du med det?

Skal du da sende mail til [email protected]?

 

Hvis du virkelig vil at alle skal se adressene til de andre så gjør du slik i scriptet:

 

$to = implode(",",$_POST['boks']);

mail($to, $emne, $melding);

 

Mens du beholder skjemate jeg skrev over.

Endret av ????????
Skrevet
Men jeg spør igjen, vil det funke å sette $sendto .= "[email protected]"; hvis variablen $sendto er tom?

ifølge dokumentasjon jeg har lest om mail-funksjonen på php.net så returnerer funksjonen true (at den faktisk blir sendt) selv om alle feltene er tomme. så svaret på dette spørsmålet blir da; ja.

  • 3 uker senere...
Skrevet

ok jeg tar opp denne posten igjen jeg.

Jeg prøvde følgende

foreach($_POST['boks'] = $to)

greiene men det går ikke.

Her er skriptet:

<?php 

foreach($_POST['boks'] = $to)
{
mail($to, "ja ett eller annet", "Mail fra form");
}
 "Navn: $avsender\nemaile: $email\n 
 Email: $email\nmelding: $melding")==true) 
{ 
 echo "Takk for at du sendte mailen, $avsender. Tilbake til <a href="http://xxxxxx.no"> "; 
} 
else 
{ 
 echo "Fikk ikke sendt mailen. Beklager."; 
} 
?>

 

vil dere se formen også hehe:

<html>xxxxxx kontaksenter.</html>
<body>

<form action="sendmail.php" method="post"> 

<br>Navn <input type="text" name="avsender"> 


<br>Email <input type="text" name="email"><br>
<br> Hvor skal mailen sendes:<br>
<br>Salg:
<br><input type='checkbox' name='boks[]' value='salg@xxxxxxxx' /><br>
Webmaster:
<br><input type='checkbox' name='boks[]' value='audun@xxxxxxx' /><br>
Drift:
<br><input type='checkbox' name='boks[]' value='nils@xxxxxxxx' /><br>
Regnskap:
<br><input type='checkbox' name='boks[]' value='tilbud@xxxxxxx' /><br>

<br>Melding: 
<br><textarea name="melding" cols="20" rows="9"> 
</textarea> 
<br>
<br><input type="Submit" value="Send"> 
</form> 

 

Sikkert etteller annet jeg har gjort...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...