Avatar billede Slettet bruger
14. december 2003 - 17:29 Der er 10 kommentarer og
1 løsning

Kan en mails beskedfelt ikke opdeles i flere <input ?

Kan en mails beskedfelt ikke opdeles i flere <input ?

<!--  formmails sendt fra URL mails er det felterne - FRA-TIL-Emne-BESKED

Har prøvet fler færdige script denne er fra thomaslunde.
Her kommer f. eks feltet:
Dit navn: <br>
          <input type="text" class="but" name="navn"><br>
ikke med i mailen.
Jeg ville gerne yderligere have flere felter med,har tænkt om det så skal laves som db -->

<html>
<head>
<title>kontakt</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table border="0" width="350" height="350" cellspacing="0" align="center">
  <tr>
    <td height="213" valign="top">
    <form action="<?php echo $PHP_SELF; ?> " method="POST">   
        <div align="center">
        <font face="Verdana, Arial, Helvetica" size="1"><b><br>
          Dit navn: <br>
          <input type="text" class="but" name="navn"><br>
          <br>
          Din email adresse: <br>
          <input type="text" class="but" name="epost"><br>     
          Emne: <br>           
          <input type="text" class="but" name="emne"><br>           
          Besked: <br></font>
         
          <textarea wrap="on" class="but" rows="10" cols="40" name="tekst"></textarea>
          <br>
          <br>
          <input type="submit" class="button" value="Send Besked" name="send">
         
          <input type="reset" class="button" value="Slet Besked" name="reset">
          <br>
          <br>         
<?php

if ($send) {
    function tilbage($meddelelse) {
        echo  "$meddelelse\n";
        echo  "<form><input type=button value=\"<<< Tilbage\" onClick=history.back()></form>\n";
        echo  "</body></html>\n";
        exit;
    }
    if (!$navn) tilbage( "<BR><BR>Du har glemt at skrive dit navn...");
    if (!$tekst) tilbage( "Du har glemt at skrive noget i et felt");
 
  $tekst = "$tekst ";   
 
    mail( "visithaven@mail.dk", "Mail fra visithaven.dk - Emne: $emne", $tekst, "From: $epost\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");
echo  "Jeg har modtaget din email, og svarer tilbage hurtigst muligt!\n";
}
?>
        </b></font></div></form></td></tr></table>
</body>
</html>
Avatar billede erikjacobsen Ekspert
14. december 2003 - 17:36 #1
$post = "$navn\n$epost\n$emne\$tekst";

og så

mail('...','...',$post,'...');
Avatar billede Slettet bruger
14. december 2003 - 22:59 #2
Har grublet lidt over dit svar men har ikke rigtig fattet meningen, men det er nok fordi jeg er novice!
Måske har jeg udtrykt mig forkert !

Formen + PHP virker delvis, men jeg vil blot have flere oplysninger fra formen sendt via mail.
(fra(email) - til(email) + emne + besked virker) som det skal,
Så er de ande felter jeg taler om som ikke er indbygget i PHP-mail,der vil jeg yderligere  have felter (info) om afsenderens indtastninger, jeg kun lavet 1 <input felt, nemlig "navn", men skal også have adr,pnr,by,tlf,og hjemmeside
Avatar billede erikjacobsen Ekspert
14. december 2003 - 23:10 #3
Du tager bare alle felter du vil have i mail-body og sætter sammen til een streng.
Avatar billede Slettet bruger
14. december 2003 - 23:13 #4
Ja, og så gør du bare som Erik prøver at vise.

Lav en ny variabel til beskeden. Her er et lidt længere eksempel:

$nylinie="\n";

$nybesked="Navn: $navn $nylinie";
$nybesked.="Adr: $adr $nylinie";
$nybesked.="Postnr: $pnr $nylinie";

Så skal du bare sende $nybesked i stedet for $besked i selve mail()-kommandoen.

Dette svarer fuldstændig til Eriks forslag. Hans var bare lidt mere kompakt.
Avatar billede Slettet bruger
15. december 2003 - 11:21 #5
Tak for info.Jeg vender tilbage, er p.t. rendt ind i en kraftig forkølelse, så den skal lige overstås
Avatar billede Slettet bruger
18. december 2003 - 23:31 #6
Nu er jeg nogenlunde oppegående igen, og har ændret på projectet, men har stadig et par ting jeg skal have hjælp til:
1: ved kald af mailform sender den så vidt jeg han se omgående en tom mail uden oplysninger.

2. når formen kaldes (prøv selv) www.visithaven.dk/mailform.php kommer efterskriften :
"Jeg har modtaget din email, og svarer tilbage hurtigst muligt!
nederst på formen,
og det er sikkert fordi den har sendt een mail.

3. FROM: har jeg forsøgt at indætte men det er ikke lykkedes, hvorfor den sender
-------------------------------
Fra: "nobody" <nobody@webserv05.cliche.dk>
Til: <visithaven@mail.dk>
Emne: Mail fra visithaven's mailform
Dato: 18. december 2003 22:37


Navn: Ib Bermann
Adresse: Horsensvej 13 a
Postnr: 8680
By: Ry
Telefon: 86898780
Mail: theboss@email.dk
WWW: www.visithaven.dk
Amt: aarhus
Besked: Det var da dejligt det snart er jul.
--------------------------------

Kan i hjælpe mig med dette,det er min første forsøg med PHP, så det er vel ikke så underligt at jeg skal have lidt hjælp ?.

Hele koden er her:

<-- start
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
      <title>mailform</title>

<meta name="Generator" content="Stone's WebWriter 4">

</head>
  <body bgcolor="#C0C0C0" text="#000000" link="#0000FF" vlink="#660066" alink="#FF0000">
      <h4> Registreringsform<p>
          Jeg tilmelder nedenstående min have som besøgshave.<br><p></h4>
      <hr width="90%" style="border:dotted;">
     
<form method="post" onsubmit="return checkform(this);">         
        <h2>Bruger Information</h2>
        <table>
        <tr><td>
    Navn:</td><td><input type="text" size="30" maxlength="30" name="navn"></td></tr>
        <tr><td>
    Adresse:</td><td><input type="text" size="30" maxlength="30" name="adr"></td></tr>
        <tr><td>
    Postnr :</td><td><input type="text" size="30" maxlength="4" name="pnr"></td></tr>
        <tr><td>
        By:</td><td><input type="text" size="30" maxlength="30" name="by"></td></tr>
        <tr><td>
    Telefon:</td><td><input type="text" size="30" maxlength="8" name="tlf"></td></tr>
        <tr><td>
    E-mail:</td><td><input type="text" size="30" maxlength="40" name="mail"></td></tr>
        <tr><td>
    www/URL:</td><td><input type="text" size="30" maxlength="40" name="url"></td></tr>
        </table>
      <hr width="90%" style="border:dotted;">
        <h2><font face="Verdana, Arial, Helvetica" size="2">Tilhørsforhold</font></h2>
        <p>
            <font face="Verdana, Arial, Helvetica" size="2">Vælg den landsdel du vil optages under:</font>
        </p>
        <dl>
            <dd>
            <font face="Verdana, Arial, Helvetica" size="2">
                 
            <select name="menu">
            <option value="0" selected> Vælg landsdel (amt) her !
            <option value="nordjylland">Nordjylland</option>
            <option value="viborg">Viborg</option>
            <option value="ringkobing">Ringkøbing</option>
            <option value="aarhus ">Århus</option>
            <option value="vejle">Vejle</option>
            <option value="ribe">Ribe</option>
            <option value="sonderjylland">Sønderjylland</option>
            <option value="fyn">Fyn</option>
            <option value="vestsjaland">Vestsjælland</option>
            <option value="frederiksborg">Frederiksborg</option>
            <option value="roskilde">Roskilde</option>
            <option value="storstrom">Storstrøm</option>
            <option value="københavn">København</option>
            <option value="bornholm">Bornholm</option>
            </select></font>
            </dd>
        </dl>
        <p>         
      <hr width="90%" style="border:dotted;">
      <table>
      <tr><td>
        Din beskrivelse af din have:</td></table>
        <td>
        <textarea wrap="physical" rows="10" cols="60" name="besked"></textarea></td></tr>
<br><p>
        <font face="Verdana">
        <input type="submit" value="Indsend formular">
        <input type="reset" value="Nulstil felter"></font>
        </p>
       
<?php

  {

    // Mailen sendes til denne adresse. 
    $recipient = "visithaven@mail.dk";

    // Emne
    $subject = "Mail fra visithaven's mailform";

    $message .= "Navn: $navn\n";
    $message .= "Adresse: $adr\n";
    $message .= "Postnr: $pnr\n";
    $message .= "By: $by\n";
    $message .= "Telefon: $tlf\n";
    $message .= "Mail: $mail\n";
    $message .= "WWW: $url\n";
    $message .= "Amt: $menu\n";
    $message .= "Besked: $besked\n";


    $headers .= "X-Mailer: http://www.visithaven.dk\n";

    mail($recipient, $subject, $message, $headers, );
    print  "Jeg har modtaget din email, og svarer tilbage hurtigst muligt!\n";

}

?>       
      </form>
  </body>
</html>
Avatar billede Slettet bruger
19. december 2003 - 00:18 #7
Bare for en ordens skyld: første gang du smider noget i en variabel, skal du bare bruge = ikke .=

.= betyder "tilføj dette til strengen" og er derfor ikke helt korrekt at bruge, når strengen ikke eksisterer endnu.

Prøv at rette til:

$headers = "X-Mailer: http://www.visithaven.dk\r\nFrom: " . $mail . "\r\n";

Manualen siger at man SKAL bruge \r\n mellem headers. http://dk.php.net/manual/en/function.mail.php
Avatar billede Slettet bruger
19. december 2003 - 09:11 #8
Jeg retter til, og ser om det hjælper, men der mangler også en indledning til PHP, en ordre til at sende if, men har prøvet med flere, læser lidt på dk.php.net.
Jeg skal lige lære det.
Avatar billede Slettet bruger
19. december 2003 - 21:06 #9
sandbox> Nar jeg fjerner .=, så får jeg ikke fortsat strengen navn, adr o.s.v.
Jeg har klaret problemet og har lært en masse
Der er ingen svar så jeg tager selv point, er det ikke i orden så laver jeg gerne et nyt spm.
Avatar billede Slettet bruger
19. december 2003 - 22:46 #10
Jeg sagde: FØRSTE gang du smider noget i en variabel, skal du bare bruge = ikke .=
Avatar billede Slettet bruger
20. december 2003 - 15:00 #11
Tak.Tak- det er det med forståelsen (mundbevægelser)
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