Avatar billede Slettet bruger
17. december 2004 - 00:32 Der er 18 kommentarer og
1 løsning

Lidt problemer med en mailform

Det virker fint nok, men der er et par fejl ved validering, og det ville jeg gerne have rettet:

1) Den afsendte mail lister ikke afsender (FRA) i modtagerens outlook.

2) der kommer 2 fejl ved validering se dem her http://validator.w3.org/check?uri=http://www.ib.frac.dk/mail.php

[hele koden ]
<?php
if ($send)
  {
    // Mailen sendes til denne adresse.
    $recipient = "ib.bermann@mail.dk";
    // Emne
    $subject = "Mail fra mailform";

    $message .= "Navn: $navn\n";
    $message .= "Att: $att\n";
    $message .= "Postnr: $pnr\n";
    $message .= "By: $by\n";
    $message .= "Telefon: $tlf\n";
    $message .= "Mail: $mail\n";
    $message .= "Besked: $besked\n";
    $headers = "X-Mailer: http://www.ib.frac.dk\r\nFrom: " . $mail . "\r\n";

    mail($recipient, $subject, $message, $headers);
    header("location: tak.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>  mailform</title>
    <link href="css/eghoj.css" rel="stylesheet" type="text/css">
    <meta name="Generator" content="Stone's WebWriter 4">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<Body>

  <div class="top" style="padding-bottom: 20px; margin-bottom: 10px;">
    <img src="egehoj.jpg" width="710" height="50" align="bottom" alt=""></div>
   
    <div align="center" class="top1"  >  0077</div>
<div class="right" style="font-weight: bold;">
      <div class="right" style="font-weight: bold;">       
    </div></div>   
      <h1> Her kan du skrive til  Egehøj</h1>
          <br>
     
<form method="post" onsubmit="return checkform(this);">
       
        <table>
        <tr><td>
    Navn:</td><td><input type="text" size="30" maxlength="30" name="navn"></td></tr>
        <tr><td>
    Att:</td><td><input type="text" size="30" maxlength="30" name="att"></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>
       
   
        </table><p>
     
      <table>
      <tr>
        <td>Beskrivelse/Tekst</td></tr>
     
      </table>
       
        <textarea wrap="physical" rows="10" cols="60" name="besked"></textarea>
<br><p>
        <font face="Verdana">
        <input type="submit" value="Indsend formular" name="send">
        <input type="reset" value="Nulstil felter" name="reset"></font></p>
      </form>
  </body>
</html>
Avatar billede skovenborg Nybegynder
17. december 2004 - 00:37 #1
validerings fejlene er vel ikke sådan til at tage fejl af:
1: Der kræves i en formular at du har en action attribut. Hvis du bare skal sende den til sammen side kan du skrive:
<form action="<?php echo $_SERVER["PHP_SELF"];?>"...

2: wrap attributten i dit textarea er ikke en gyldig attribut, men noget MSIE halløj. Så den må du fjerne hvis du skal have den valideret.
Avatar billede skovenborg Nybegynder
17. december 2004 - 00:40 #2
angående wrap ser det ikke engang ud til du bruger en rigtig værdi:
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/wrap.asp
I følge M$ selv er det kun soft, hard og off der kan bruges.
Avatar billede skovenborg Nybegynder
17. december 2004 - 00:43 #3
og til det første problem:

Du skriver:
$headers = "X-Mailer: http://www.ib.frac.dk\r\nFrom: " . $mail . "\r\n";
i koden, men $mail er jo ikke defineret. Du skal nok prøve istedet at hente den fra $_POST:
$headers = "X-Mailer: http://www.ib.frac.dk\r\nFrom: " . $_POST['mail'] . "\r\n";
Avatar billede Slettet bruger
17. december 2004 - 00:49 #4
Jeg vender tilbage i morgen (senere på dagen)er blevet træt
god nat.... men mange tak for info
Avatar billede Slettet bruger
18. december 2004 - 15:03 #5
Så er jeg her igen , der er mange ting der skal passes her i denne tid, og det går forud.
Må beklage at jeg ikke kan få det til at virke som ønsket med dine forslag.
WRAP....Jeg bruger WebWriter, og når du indsætter et tekstarea med tekstombrydning får du denne
<textarea wrap="physical" rows="10" cols="60" name="besked"></textarea>
den er jeg stødt på mange steder i forskellige udgaver, også andre Webscript, som ikke er skrevet med WebWriter, bruger nu ikke Webwriters indbyggede funktioner ret meget, mest når jeg får fejl, måske kender W3 ikke denne, men hvis ikke jeg bruger den får jeg bare mailteksten i een lang linie i >BESKED< hos modtagren. Hvad bruger man så til erstetning og som er W3 rigtig?
Det samme sker hvis jeg udskifter :
$headers = "X-Mailer: http://www.ib.frac.dk\r\nFrom: " . $mail . "\r\n";
med dit forslag
$headers = "X-Mailer: http://www.ib.frac.dk\r\nFrom: " . $_POST 'mail'] . "\r\n";

Denne som du skriver:<form action="<?php echo $_SERVER["PHP_SELF"];?>"
har jeg prøvet at indsætte, men er ikke lige klar hvor den hører hjemme, kan ikke få den til at virke, selvom jeg har kigget i forskellige script og bøger.

Nu er det mærkelige at hos cliche virker mailformen perfect:
hos 1go, frac og surftown mangler "Fra" afsender.
sammenlignet med mail fra Eksperten hvor der står Eksperten mailrobot
Avatar billede skovenborg Nybegynder
18. december 2004 - 16:23 #6
du behøver heller ikke <?php echo $_SERVER["PHP_SELF"];?>, men du kan bare indsætte filnavnet på det dokument formen ligger i. Altså action skal referere til den samme side.

og så hedder det:
$headers = "X-Mailer: http://www.ib.frac.dk\r\nFrom: " . $_POST['mail'] . "\r\n";
Avatar billede Slettet bruger
18. december 2004 - 18:34 #7
Er det ikke det jeg gør ? eller er jeg helt galt på den
Avatar billede skovenborg Nybegynder
18. december 2004 - 18:55 #8
jo, næsten - du manglede bare et [-tegn i . $_POST['mail']
Avatar billede Slettet bruger
18. december 2004 - 21:02 #9
Den ser sådan ud:
$headers = "X-Mailer:  http://www.ib.frac.dk\r\nFrom: " . $mail . "\r\n";

hvis jeg laver den om til:
$headers = "X-Mailer:  http://www.ib.frac.dk\r\nFrom: " . $_POST['mail'] . \r\n";

virker det ikke
Avatar billede Slettet bruger
19. december 2004 - 16:18 #10
Det kan åbenbart ikke løses.
Vil du have point for din ulejlighed ?
Avatar billede skovenborg Nybegynder
19. december 2004 - 16:44 #11
nej, det er okay... og undskyld jeg ikke lige svarede tilbage - nettet var nede ;-)

Men hvis du venter lidt med at lukke kan det være jeg kan nå selv at teste det af...
Avatar billede Slettet bruger
19. december 2004 - 16:53 #12
Ja tak det ville jeg gerne, det iriterer mig meget at jeg ikke kan få det ril at virke rigtigt.
Avatar billede Slettet bruger
19. december 2004 - 16:59 #13
Du skal sætte din egen mail ind i mail.php for st se hvad du får tilbage
Avatar billede skovenborg Nybegynder
19. december 2004 - 17:00 #14
ja, undskyld - glemte lige at rette det ;-)
Avatar billede Slettet bruger
19. december 2004 - 17:01 #15
Ja det er mig der får mail (4 stk)
Avatar billede skovenborg Nybegynder
19. december 2004 - 17:03 #16
nu er det så rettet, og jeg får faktisk vist hvem afsenderen er. Og forresten er det lige meget om du skriver $_POST['mail'] eller bare $mail - så du havde faktisk ret i starten :-S

Men nu bruger jeg godt nok frac.dk - så det virker lidt mærkeligt at du ingen afsender har på. Men det skulle ikke undre mig om det var forskelligt fra server til server.
Avatar billede Slettet bruger
19. december 2004 - 18:11 #17
Jeg har prøvet den på frac, 1go, surftown og cliche og det er kun cliche der returnerer "rigtigt"

Ok.. det var fint men hvad har du så rettet ?
Avatar billede skovenborg Nybegynder
19. december 2004 - 18:53 #18
faktisk ikke rigtig noget - mailen sendes fint som den er nu... det kan selvfølgelig have noget med din mail-klient at den ikke viser det rigtigt. Ellers må du inde i mail skrive email-adressen som resten af teksten (så den bliver en del af beskeden).
Avatar billede Slettet bruger
20. januar 2005 - 23:09 #19
Så går den ikke længere, vi lukker uden at have løst problemet
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