Avatar billede htmlkrede Nybegynder
18. november 2003 - 15:28 Der er 8 kommentarer og
2 løsninger

E-mail funktion

Hej eksperter.

Jeg har brug for en som kan ligge noget programmering (PHP) bag denne side:

http://www.christianbirk.dk/eksperten/su.htm

Kravene er følgende:

1. Alle oplysninger
      - Kommer/kommer ikke
      - Valg af gave
      - Navn.

Skal sendes til følgende e-mail: test@christianbirk.dk ved brug af knappen "Send my wis...."

2. Derudover vil jeg give lidt ekstra point til den som kan lave en funktion, så man kun kan sætte et kryds i gavevalg og et kryds i kommer/kommer ikke...


På forhånd mange tak...
Avatar billede rackbox Nybegynder
18. november 2003 - 18:40 #1
Jeg ved ikke, om du kører med din egen server, så hvis du gør, skal du først sætte følgende op:
ini_set('SMTP', 'din.udbyder.dk');
ini_set('sendmail_from', 'den.adresse.du.bruger.dk');

Derefter bruger du PHP's almindelige mail() funktion, som følger:

mail("modtager@domæne.dk", "Emne", "indhold");

Hvis du bruger POST i din form, og dine variable hedder "kommer", "gave" og "navn", så brug følgende:

mail("modtager@domæne.dk", "Emne", "Kommer".$_POST['kommer']."\ngave: ".$_POST['gave']."\nNavn: ".$_POST['navn']);


Mht. dit andet spørgsmål, så er der to simple løsninger. Jeg vælger den simpleste, idet det er spild af tid at bruge kræfter på den anden, hvis du kan bruge denne: Brug radio-buttons i stedet! Så kan man i sagens natur kun vælge en.
Avatar billede avminarm Juniormester
19. november 2003 - 10:41 #2
jeg har delt det op i to filer:

susend.php:
***************
<?php

    if(isset($_POST['name'])) {
    $msg = "Mail fra:\t$_POST[name]\r\n";
    $msg .= "Mail vedr. tilmelding til Christmas Party\r\n";
    $msg .= "Signup:\t$_POST[yesno]\r\n";
    $msg .= "Christmas Present:\t$_POST[gift]\r\n";

    $minemail = "test@christianbirk.dk";
    $emne = "Christmas Party";

    $mailheaders = "From: $_POST[name] <> \r\n";
    mail($minemail, $emne, $msg, $mailheaders);
    print "Din mail blev sendt"; 
    }else{
    header("location: su.htm");
    }

?>

Din egen su.htm har jeg rettet til:
****************************************
-- klippet lidt --

</TD>
</TR>
</TABLE>

<form method="POST" action="susend.php">
<B>Sign up:</B><BR><BR>
<INPUT TYPE="radio" NAME="yesno" VALUE="Yes, I would very much like to come for the Christmas Party..." checked>&nbsp;&nbsp; Yes, I would very much like to come for the Christmas Party...<BR><BR>

<INPUT TYPE="radio" NAME="yesno" VALUE="No, I can't unfortunately make it. Have a nice time..">&nbsp;&nbsp; No, I can't unfortunately make it. Have a nice time...<BR><BR>



<B>Christmas Present:</B><BR><BR>
<INPUT TYPE="radio" NAME="gift" VALUE="Christmas bag with chocolate and red wine.">&nbsp;&nbsp; Christmas bag with chocolate and red wine.<BR><BR>

<INPUT TYPE="radio" NAME="gift" VALUE="Treatment at "Athene" with massage etc.">&nbsp;&nbsp; Treatment at "Athene" with massage etc.<BR><BR><BR>

Name:<BR>
<INPUT TYPE="text" SIZE="30" name="name"><BR><BR><BR><BR>


<INPUT TYPE="submit" CLASS="knap" name="submit" VALUE="Send my wish to Social Commitee">
</form>

</TD>

<TD></TD>
<TD></TD>

</TR>
</TABLE>


<TABLE BGCOLOR="#000000" WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR VALIGN="middle">
    <TD>
<IMG SRC="blankpix.gif" BORDER="0" WIDTH="1" HEIGHT="1" ALIGN="bottom" ALT="">
    </TD>
</TR>
</TABLE>

</td>
</tr>
</table>


</BODY>
Avatar billede htmlkrede Nybegynder
19. november 2003 - 16:08 #3
avminarm...

Det virker fint.

1. Kan man lave det sådan, at den ikke reply'er med en hvid skærm men i stedet noget med:    print "reply.htm";

2. Hvordan er det man definerer mellemrum i PHP? Så linierne i mailen evt. står med en linie imellem sig: tilsvarende html <BR><BR>
Avatar billede avminarm Juniormester
20. november 2003 - 11:48 #4
ja da:

1) i stedet for der hvor der står: print "Din mail blev sendt"; kan du sætte dette ind: header("location: reply.htm");
så sendes du til siden reply.htm

2) der hvor der f.eks står: $msg .= "Signup:\t$_POST[yesno]\r\n"; symboliserer "\r\n" et linie skift, så du kan bare putte \r\n på så skiftesn linie
Avatar billede htmlkrede Nybegynder
21. november 2003 - 14:02 #5
Jeg modtager følgende fejlmeddelse fra serveren når jeg ligger den lokalt...:

******************************************************************************

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for thomas_eckhausen@mckinsey.com in c:\apache\htdocs\christmasparty\susend.php on line 13

Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\christmasparty\susend.php:13) in c:\apache\htdocs\christmasparty\susend.php on line 14

*****************************************************************************

Hvad skal jeg gøre...

Hvis det er muligt ønsker jeg et hurtigt svar, da jeg har deadline om et par timer...
Avatar billede avminarm Juniormester
21. november 2003 - 15:32 #6
deadline med hvad?

måske kan mail() funktionen ikke benyttes på serveren prøv at indsætte:

ini_set('SMTP', 'din.udbyder.dk');
ini_set('sendmail_from', 'den.adresse.du.bruger.dk');

som racbox foreslår

i filen susend.php må der INTET andet end hvad der er mellem <?php og ?> ikke noget output dvs intet html
Avatar billede htmlkrede Nybegynder
22. november 2003 - 20:28 #7
Tak til avminarm
Avatar billede avminarm Juniormester
23. november 2003 - 14:53 #8
takker for point - virker det?
Avatar billede htmlkrede Nybegynder
23. november 2003 - 21:44 #9
det virker.. tak for det..
Avatar billede avminarm Juniormester
24. november 2003 - 08:17 #10
var så lidt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester