/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
formmail kopi til afsender
Fra : Martin Ploug


Dato : 15-07-08 12:34

Hej

Jeg er ved at lave en mailformular, og jeg vil gerne
have det sådan, at der sendes en kopi af formularens
indhold, hvis brugeren har sat fleben i en checkbox.

Jeg har taget udgangspunkt i dette
http://www.phpartikler.dk/artikler/mail.php , og det
virker også fint.

Men jeg vil gerne have bygget det på med kopi
til afsender.

Jeg har prøvet med det, der står noget om
http://www.hjemmesideskolen.dk/scripts/phpmailc.php

if (@$_POST['customer_copy']) {
$headers .= "\r\nBcc: ".$_POST['email'];
}

men det kan jeg ike få til at virke.

Så troede jeg, at jeg kunne lave noget med

elseif (!empty ($afsenderkopi)) - altså checkboxen

mail($afsender,$modtager,$emne,$mailcontent,$header);

og så sende en variabel mere med - nemlig $afsender, der er
brugerens indtastede mail adresse.

Men sådan spiller klaveret nok ikke.

Jeg kan godt lægge min kode ud, men jeg vil godt først høre,
om der er nogen, der kan henvise til en tutorial eller lign.,
der forklarer fremgangsmåden / problemstillingen.

På forhånd tak.

Mvh. Martin



 
 
Dan Storm (15-07-2008)
Kommentar
Fra : Dan Storm


Dato : 15-07-08 13:26

Martin Ploug skrev:
> Jeg har prøvet med det, der står noget om
> på http://www.hjemmesideskolen.dk/scripts/phpmailc.php

Det er efterhånden blevet til en del krydser i min bog med hensyn til
hvor mange gange jeg er stødt på problemer med den tut...
>
> if (@$_POST['customer_copy']) {
> $headers .= "\r\nBcc: ".$_POST['email'];
> }
>

Prøv at udskifte linierne:
$headers="From: ".$_POST['name']."<".$_POST['email'].">";
if (@$_POST['customer_copy']) {
$headers .= "\r\nBcc: ".$_POST['email'];
}

med

$headers="From: ".$_POST['name']."<".$_POST['email'].">\r\n";
if (@$_POST['customer_copy']) {
$headers .= "Bcc: ".$_POST['email']."\r\n";
}



--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Martin Ploug (15-07-2008)
Kommentar
Fra : Martin Ploug


Dato : 15-07-08 13:49


>
> Prøv at udskifte linierne:
> $headers="From: ".$_POST['name']."<".$_POST['email'].">";
> if (@$_POST['customer_copy']) {
> $headers .= "\r\nBcc: ".$_POST['email'];
> }
>
> med
>
> $headers="From: ".$_POST['name']."<".$_POST['email'].">\r\n";
> if (@$_POST['customer_copy']) {
> $headers .= "Bcc: ".$_POST['email']."\r\n";
> }
>

Hej Dan

Tak for dit indlæg
Det er vist heller ikke så få gange du har hjulpet mig

Jeg kan ikke gennemskue, hvordan det skal kombineres
med, hvis der er / ikke er sat flueben i checkboxen.

Jeg har prøvet at sætte det op på en anden måde
og prøvet at gøre det overskueligt.

Vil du prøve at kigge på det og se, om du kan sige
mig, hvordan det skal sættes sammen?

http://ploug.pastebin.com/m48a1b238

Jeg kan ikke rigtigt finde ud af, om der kan / skal
være en variabel mere ($headers), når / hvis der
er flueben?

På forhånd tak.

Mvh. Martin


Dan Storm (15-07-2008)
Kommentar
Fra : Dan Storm


Dato : 15-07-08 14:21

Martin Ploug skrev:
> Jeg har prøvet at sætte det op på en anden måde
> og prøvet at gøre det overskueligt.
>
> Vil du prøve at kigge på det og se, om du kan sige
> mig, hvordan det skal sættes sammen?
>
> http://ploug.pastebin.com/m48a1b238

Du skal have mere styr på dine variabler, for din BCC header kommer
aldrig med.

I din mail() funktion henter du header variablen $header, men den header
du sætter BCC og From i hedder $headers (altså med s i enden).

Udover det, så husk at BCC skal altid skrives med stort (ikke Bcc)

Gør således med kontrol af fluebenet:
$afsenderkopi = (isset($_POST["afsenderkopi"])) ? true : false;

På den måde undgår du at bruge @ i dit check.

Bruge dine conditions med omtanke - du har mere kode end du reelt har
behov for.

Hold øje med dine enkelte quotes og dobbelte quotes; nedenstående er
ikke en pæn måde at gøre det på:

$mailcontent = "Navn: ".$name.'<br>'
."E-mail: ".$email.'<br><br>'
."Emne: ".$subject.'<br>'
."Besked: \n\n".$message."\n\n";




> Jeg kan ikke rigtigt finde ud af, om der kan / skal
> være en variabel mere ($headers), når / hvis der
> er flueben?

Prøv det her:
http://ploug.pastebin.com/m3426c7ce

Sammenlign din kode med det jeg har skrevet og se om du kan se forskel i
syntaks og struktur.

>
> På forhånd tak.
>
> Mvh. Martin


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Dan Storm (15-07-2008)
Kommentar
Fra : Dan Storm


Dato : 15-07-08 14:23

Dan Storm skrev:

> http://ploug.pastebin.com/m3426c7ce

Se i øvrigt lige bort fra dummy data... :p
--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Dan Storm (15-07-2008)
Kommentar
Fra : Dan Storm


Dato : 15-07-08 14:26

Dan Storm skrev:
> Dan Storm skrev:
>
>> http://ploug.pastebin.com/m3426c7ce
>
> Se i øvrigt lige bort fra dummy data... :p

Argh, for mange ting jeg fuckede up efter at have rettet det til for mig
selv...
suk... mangler cola...

http://ploug.pastebin.com/m285a8488

Sådan der!

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Martin Ploug (15-07-2008)
Kommentar
Fra : Martin Ploug


Dato : 15-07-08 16:21

>Argh, for mange ting jeg fuckede up
>efter at have rettet det til for mig
>selv...
>suk... mangler cola...
>
>http://ploug.pastebin.com/m285a8488
>
>Sådan der!
>

Hej igen Dan

Nu har jeg lige kigget
http://ploug.pastebin.com/m285a8488, men
mangler der ikke noget?

Jeg synes ikke der kommer nogen kopi til afsender,
og hvor / hvordan er det der bliver målt, om
checkboxen er true eller false ?

Jeg har lige fjernet kommenteringsstregerne foran
$modtager.

(Måske er det nemmere at lave det sådan, at
brugeren altid bare får e kopi, uanset hvad).
Men det kunne da være rigtig fedt at få det til at virke
helt.

Regner med at lægge ud på min hjemmeside, så andre kan
få glæde af det, når det er helt klart.
Jeg skal nok give dig credits for det på siden.

Mvh. Martin


Dan Storm (15-07-2008)
Kommentar
Fra : Dan Storm


Dato : 15-07-08 17:20

Martin Ploug (slet AV5V1) skrev:
>> Argh, for mange ting jeg fuckede up
>> efter at have rettet det til for mig
>> selv...
>> suk... mangler cola...
>>
>> http://ploug.pastebin.com/m285a8488
>>
>> Sådan der!
>>
>
> Hej igen Dan
>
> Nu har jeg lige kigget
> på http://ploug.pastebin.com/m285a8488, men
> mangler der ikke noget?

Det tror jeg ikke, for koden virker hos mig?
Måske det er din frontend der mangler noget?

> Jeg synes ikke der kommer nogen kopi til afsender,
> og hvor / hvordan er det der bliver målt, om
> checkboxen er true eller false ?

Det sker på linie 23.


> Jeg har lige fjernet kommenteringsstregerne foran
> $modtager.

Ja, det var måske en fordel... :p


> (Måske er det nemmere at lave det sådan, at
> brugeren altid bare får e kopi, uanset hvad).
> Men det kunne da være rigtig fedt at få det til at virke
> helt.

I min verden ville det lægge mig MEGET fjernt at lade brugeren få lov
til at sende en kopi til sig selv - det er en ren spamengine og i det
samme det bliver fanget (uanset din spam protection) så går det stærkt.

> Regner med at lægge ud på min hjemmeside, så andre kan
> få glæde af det, når det er helt klart.
> Jeg skal nok give dig credits for det på siden.

Det er meget flinkt af dig, men det er ikke noget jeg vil stå inde for,
af førnævnte grund.

En kontakt formular skal have en funktionalitet, som kommer
brugervenligheden til gode, samtidig med websitets sikkerhed.

Det synes jeg ikke det script der gør (hvilket jeg også har pointeret
tidligere, hvor jeg er stødt på det script).

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Martin Ploug (15-07-2008)
Kommentar
Fra : Martin Ploug


Dato : 15-07-08 19:38


"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i meddelelsen
news:487cce2c$0$15892$edfadb0f@dtext01.news.tele.dk...
> Martin Ploug (slet AV5V1) skrev:
>>> Argh, for mange ting jeg fuckede up
>>> efter at have rettet det til for mig
>>> selv...
>>> suk... mangler cola...
>>>
>>> http://ploug.pastebin.com/m285a8488
>>>
>>> Sådan der!
>>>
>>
>> Hej igen Dan
>>
>> Nu har jeg lige kigget
>> på http://ploug.pastebin.com/m285a8488, men
>> mangler der ikke noget?
>
> Det tror jeg ikke, for koden virker hos mig?
> Måske det er din frontend der mangler noget?
>
>> Jeg synes ikke der kommer nogen kopi til afsender,
>> og hvor / hvordan er det der bliver målt, om
>> checkboxen er true eller false ?
>
> Det sker på linie 23.
>
>
>> Jeg har lige fjernet kommenteringsstregerne foran
>> $modtager.
>
> Ja, det var måske en fordel... :p
>
>
>> (Måske er det nemmere at lave det sådan, at
>> brugeren altid bare får e kopi, uanset hvad).
>> Men det kunne da være rigtig fedt at få det til at virke
>> helt.
>
> I min verden ville det lægge mig MEGET fjernt at lade brugeren få lov til
> at sende en kopi til sig selv - det er en ren spamengine og i det samme
> det bliver fanget (uanset din spam protection) så går det stærkt.
>
>> Regner med at lægge ud på min hjemmeside, så andre kan
>> få glæde af det, når det er helt klart.
>> Jeg skal nok give dig credits for det på siden.
>
> Det er meget flinkt af dig, men det er ikke noget jeg vil stå inde for, af
> førnævnte grund.
>
> En kontakt formular skal have en funktionalitet, som kommer
> brugervenligheden til gode, samtidig med websitets sikkerhed.
>
> Det synes jeg ikke det script der gør (hvilket jeg også har pointeret
> tidligere, hvor jeg er stødt på det script).
>
> --
> Dan Storm - storm at err0r dot dk / http://err0r.dk
>
> Tro ikke brugerne vil gøre noget for at undgå dit killfilter
> - Så vigtig er du heller ikke!


Hej igen

Jeg har testet og testet og kan ikke rigtig få det til at fungere.
Jeg er vist for trært i hovedet til det i dag.

Jeg dropper nok den der med at sende kopi til modtageren
- dels fordi jeg ikke kan få det til at fungere og fordi som du skriver,
er det ikke så smart mht. spam.

Mvh. Martin


Martin Ploug (18-07-2008)
Kommentar
Fra : Martin Ploug


Dato : 18-07-08 14:01

Man kan også bruge muligheden for
at sende til flere modtagere:

http://dk.php.net/manual/en/function.mail.php

// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

eller f.eks.

// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= $mail;

Det har jeg fået til at fungere

Mvh. Martin



Dan Storm (18-07-2008)
Kommentar
Fra : Dan Storm


Dato : 18-07-08 16:00

Martin Ploug skrev:
> Det har jeg fået til at fungere

Så synes jeg hellere du skulle bruge mail() to gange istedet...


Martin Ploug (24-07-2008)
Kommentar
Fra : Martin Ploug


Dato : 24-07-08 19:37

>
> Så synes jeg hellere du skulle bruge mail() to gange istedet...
>

Hej Dan

Jeg har efterfølgendene lavet en version
med to mail(), og det fungerer også

Mvh. Martin


Dan Storm (24-07-2008)
Kommentar
Fra : Dan Storm


Dato : 24-07-08 20:20

Martin Ploug skrev:
> Jeg har efterfølgendene lavet en version
> med to mail(), og det fungerer også

Super ;)

Tine Müller (29-07-2008)
Kommentar
Fra : Tine Müller


Dato : 29-07-08 09:04

"Martin Ploug" wrote:
> Man kan også bruge muligheden for
> at sende til flere modtagere:
>
> http://dk.php.net/manual/en/function.mail.php
>
> // multiple recipients
> $to = 'aidan@example.com' . ', '; // note the comma
> $to .= 'wez@example.com';
>
> eller f.eks.
>
> // multiple recipients
> $to = 'aidan@example.com' . ', '; // note the comma
> $to .= $mail;
>
> Det har jeg fået til at fungere
>
> Mvh. Martin

Er der nogen som vil vise den kode det endte med, fordi jeg kan godt bruge
det på min egen side http://www.findbiblioteket.dk/kontakt/index.php, hvor
jeg ikke ved hvad afsender e-mailadressen er.

Sådan ser det ud nu:

// process the email
if (array_key_exists('send', $_POST)) {
$to = 'tinem@email.dk'; // use your own email address
$subject = 'Feedback from Biblioteker i Danmark site';

Og dette er koderne for hvor personer som indsender oplysningerne indsættes:

<input name="kontaktmail" id="kontaktmail" type="text" class="formbox"
<?php if (isset($missing)) {
echo 'value="'.htmlentities($_POST['kontaktmail']).'"';} ?> />

/Tine




Dan Storm (29-07-2008)
Kommentar
Fra : Dan Storm


Dato : 29-07-08 10:24

Tine Müller skrev:
> Er der nogen som vil vise den kode det endte med, fordi jeg kan godt
> bruge det på min egen side
> http://www.findbiblioteket.dk/kontakt/index.php, hvor jeg ikke ved hvad
> afsender e-mailadressen er.

Som jeg også skrev til Martin, så er det ikke en god idé at bruge to
modtagere.

> Sådan ser det ud nu:
>
> // process the email
> if (array_key_exists('send', $_POST)) {
> $to = 'tinem@email.dk'; // use your own email address
> $subject = 'Feedback from Biblioteker i Danmark site';

Jeg vil gerne hjælpe dig med at lave en løsning på det, men så må du
sende noget mere kode. Mere specifikt koden hvor mailen bliver sendt.

>
> Og dette er koderne for hvor personer som indsender oplysningerne
> indsættes:
>
> <input name="kontaktmail" id="kontaktmail" type="text" class="formbox"
> <?php if (isset($missing)) {
> echo 'value="'.htmlentities($_POST['kontaktmail']).'"';} ?> />
>
> /Tine
>
>
>


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409083
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste