larstdahl Skrevet 22. januar 2005 Del Skrevet 22. januar 2005 (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 22. januar 2005 av larstdahl Lenke til kommentar
ilpostino Skrevet 22. januar 2005 Del Skrevet 22. januar 2005 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.... Lenke til kommentar
larstdahl Skrevet 22. januar 2005 Forfatter Del Skrevet 22. januar 2005 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 Lenke til kommentar
eXZire Skrevet 22. januar 2005 Del Skrevet 22. januar 2005 <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 Lenke til kommentar
ilpostino Skrevet 22. januar 2005 Del Skrevet 22. januar 2005 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... Lenke til kommentar
larstdahl Skrevet 22. januar 2005 Forfatter Del Skrevet 22. januar 2005 Har fått det delvis til nå, men hvordan fikser jeg sånn at det blir flere avsendere i samme mail? Lenke til kommentar
ilpostino Skrevet 22. januar 2005 Del Skrevet 22. januar 2005 Har fått det delvis til nå, men hvordan fikser jeg sånn at det blir flere avsendere i samme mail? Slik kan du legge til å mange mottagere du vil: $til = "[email protected]" . ", "; //her er komma for å dele adressene $til .= "[email protected]"; Lenke til kommentar
larstdahl Skrevet 22. januar 2005 Forfatter Del Skrevet 22. januar 2005 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{}; ??? Lenke til kommentar
ilpostino Skrevet 22. januar 2005 Del Skrevet 22. januar 2005 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... Lenke til kommentar
???????? Skrevet 23. januar 2005 Del Skrevet 23. januar 2005 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! Lenke til kommentar
larstdahl Skrevet 23. januar 2005 Forfatter Del Skrevet 23. januar 2005 Vil dette med array legge til komma mellom alle mottakerne da? En ting til, vil det funke å gjøre sånn: $sendto .= "[email protected]"; når variablen $sendto er tom? Lenke til kommentar
???????? Skrevet 23. januar 2005 Del Skrevet 23. januar 2005 Du trenger ikke noe komma mellom mottakerene, der sendes mailen ut hver for seg. Fordelen er at da kan mottakerene ikke se alle de andre siden adresser. Lenke til kommentar
larstdahl Skrevet 23. januar 2005 Forfatter Del Skrevet 23. januar 2005 Men jeg er jo helst ute etter å gjøre det sånn at mottakerne kan se hvem andre som også har mottat mailen. Men jeg spør igjen, vil det funke å sette $sendto .= "[email protected]"; hvis variablen $sendto er tom? Lenke til kommentar
???????? Skrevet 23. januar 2005 Del Skrevet 23. januar 2005 (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 23. januar 2005 av ???????? Lenke til kommentar
ilpostino Skrevet 23. januar 2005 Del Skrevet 23. januar 2005 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. Lenke til kommentar
audun1 Skrevet 7. februar 2005 Del Skrevet 7. februar 2005 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... Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå