Avatar billede moonsmiledk Nybegynder
21. december 2009 - 17:58 Der er 8 kommentarer og
1 løsning

Problemer med kontaktformular på hjemmeside

Jeg er ved at lave en hjemmeside, som indeholder en kontaktformular. Jeg har fået sat kontaktformularen op, med de ting, der skal være... men jo nok vede hjælp af flere forskellige formularer...

Det er meningen at når bruger, indtaster oplysninger og trykker "send", skal formularen resete på samme side, og oplysningerne, skal sendes i overskuelig sammenhæng til mig (christina@moonsmile.dk) ..

Men men .. Siden skifter istedet til et beskadiget link, og ingen oplysninger bliver afsendt.

Jeg tænker, at der måske kan ligge noget "gammelt formular html" og rode rundt ... eller at php-filen ikke er som den skal være..

Nogle der kan se sig ud af problemet?

Siden: http://moonsmile.dk/larsfc/kontakt.html

Htmlén:

<td height="350" align="center" valign="top"> <form name="mail" method="post" action="<sendmail.php>" onSubmit="return CheckForm();" onReset="return confirm('Er du sikker på at du vil slette alt?');">
        <table width="379" height="260" border="0" align="center" cellpadding="0" cellspacing="0" class="tabel">
          <tr>
            <td width="75" height="50" align="right" valign="middle"><span class="style8">Besked:</span>&nbsp;</td>
            <td width="304" align="left" valign="middle"><textarea name="besked" cols="34" rows="3" class="textarea"></textarea></td>
          </tr>
         
          <tr>
            <td align="right" valign="middle"><span class="style8">&nbsp;&nbsp;Navn:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="navn" type="text" class="input" size="45"></td>
          </tr>
         
          <tr>
            <td align="right" valign="middle"><span class="style8">Evt. Firma:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="firma" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td height="26" align="right" valign="middle"><span class="style8">Adresse:</span>&nbsp;</td>
            <td align="left" valign="middle"><textarea name="adresse" cols="34" rows="2" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Postnr/By:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="Postby" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Tlf:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="tlf" type="text" class="input" size="18">            </td>
          </tr>
       
          <tr>
            <td height="18" align="right" valign="middle"><span class="style8">E-mail:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="mail" type="text" class="input" size="45"></td>
          </tr>
          <tr>          </tr>
          <tr>
            <td align="right" valign="top"></td>
            <td></td>
          </tr>
          <tr valign="bottom">
            <td height="30">&nbsp;</td>
            <td height="30" align="left"> <input name="Submit" type="submit" class="button" value="Send">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Submit2" type="reset" class="button" value="Reset">            </td>
          </tr>
        </table>
      </form></td>




Php-filen:

<body>


<?php
$navn = $_POST['navn']; //tager navnet fra formen og gemmer det som en string: $navn
$email = $_POST['email']; //tager emailen fra formen og gemmer det som en string: $email
$besked = $_POST['besked']; //tager beskeden fra formen og gemmer det som en string:

$til = 'christina@moonsmile.dk'; //dette er den mail som beskeden fra hjemmesiden bliver sendt til
$emne = "Besked fra: $navn"; //dette bliver emnet til den mail du modtager. Det kommer til at står på mailen hvor der normal står et emne beskrevet
$fra = "From: $email"; //dette viser hvem emailen er fra. (viser email adressen som blev indtastet i formen og ikke med garanti den rigtige)

mail($til, $traeffes, $tlf, $emne, $besked, $fra, $email); //sender beskeden

echo "beskeden blev afsendt"; //hvis koden når at blive læst hertil betyder det at der ikke er opstået fejl og mailen er blevet afsendt.
?>




</body>

Med venlig hilsen
Christina
21. december 2009 - 18:44 #1
Jeg finder det normalt nemmest at placere php koden i den samme fil som html koden og saa lave formen's action til action="<?print $_SERVER['PHP_SELF'];?>" . Saa resetter formen paa samme side som du vil have.  Saa skal php koden, inklusiv "beskedden blev afsendt" naturligvis foerst komme naar formen er sendt, saa jeg placerer php koden i en if($_POST('Submit'])
{
  php koden
}.

Du synes ogsaa at have problemer med den maade emailen til dig selv formes.  Du bruger variable du ikke har defineret. 

Her er en "quick and dirty" kode der virker i mit system (men kan forbedres.)  Du skal naturligvis aendre $til = 'christian.jorgensen@skynet.be'; til at indeholde din egen email adresse.

Proev om det virker saa formen gendannes paa samme side og saa du faar en email.  Emailen skal ikke (endnu) vise alle felterne fra formen, det kan vi forbedre.


Her er min foreslaaede kode:

<body>
<?php
if($_POST['Submit'])
{
$navn = $_POST['navn']; //tager navnet fra formen og gemmer det som en string: $navn
$email = $_POST['email']; //tager emailen fra formen og gemmer det som en string: $email
$besked = $_POST['besked']; //tager beskeden fra formen og gemmer det som en string:

$til = 'christian.jorgensen@skynet.be'; //dette er den mail som beskeden fra hjemmesiden bliver sendt til
$emne = "Besked fra: $navn"; //dette bliver emnet til den mail du modtager. Det kommer til at står på mailen hvor der normal står et emne beskrevet
$fra = "From: $email"; //dette viser hvem emailen er fra. (viser email adressen som blev indtastet i formen og ikke med garanti den rigtige)

mail($til, $emne, $besked, $email); //sender beskeden

echo "beskeden blev afsendt"; //hvis koden når at blive læst hertil betyder det at der ikke er opstået fejl og mailen er blevet afsendt.
}
?>

<td height="350" align="center" valign="top"> <form name="mail" method="post" action="<?print $_SERVER['PHP_SELF'];?>"  onReset="return confirm('Er du sikker på at du vil slette alt?');">
        <table width="379" height="260" border="0" align="center" cellpadding="0" cellspacing="0" class="tabel">
          <tr>
            <td width="75" height="50" align="right" valign="middle"><span class="style8">Besked:</span>&nbsp;</td>
            <td width="304" align="left" valign="middle"><textarea name="besked" cols="34" rows="3" class="textarea"></textarea></td>
          </tr>
       
          <tr>
            <td align="right" valign="middle"><span class="style8">&nbsp;&nbsp;Navn:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="navn" type="text" class="input" size="45"></td>
          </tr>
       
          <tr>
            <td align="right" valign="middle"><span class="style8">Evt. Firma:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="firma" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td height="26" align="right" valign="middle"><span class="style8">Adresse:</span>&nbsp;</td>
            <td align="left" valign="middle"><textarea name="adresse" cols="34" rows="2" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Postnr/By:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="Postby" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Tlf:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="tlf" type="text" class="input" size="18">            </td>
          </tr>
     
          <tr>
            <td height="18" align="right" valign="middle"><span class="style8">E-mail:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="mail" type="text" class="input" size="45"></td>
          </tr>
          <tr>          </tr>
          <tr>
            <td align="right" valign="top"></td>
            <td></td>
          </tr>
          <tr valign="bottom">
            <td height="30">&nbsp;</td>
            <td height="30" align="left"> <input name="Submit" type="submit" class="button" value="Send">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Submit2" type="reset" class="button" value="Reset">            </td>
          </tr>
        </table>
      </form></td>
 
</body>
21. december 2009 - 19:03 #2
Her er en forbedret php kode der resulterer i at emailen indeholder alle oplysninger fra formen:

<?php
if($_POST['Submit'])
{
$navn = $_POST['navn']; //tager navnet fra formen og gemmer det som en string: $navn
$email = $_POST['email']; //tager emailen fra formen og gemmer det som en string: $email
$besked = $_POST['besked']; //tager beskeden fra formen og gemmer det som en string:
$firma = $_POST['firma'];
$adresse = $_POST['adresse'];
$postby = $_POST['Postby'];
$tlf = $_POST['tlf'];

$til = 'christian.jorgensen@skynet.be'; //dette er den mail som beskeden fra hjemmesiden bliver sendt til
$emne = "Besked fra: $navn"; //dette bliver emnet til den mail du modtager. Det kommer til at står på mailen hvor der normal står et emne beskrevet
$fra = "From: $email"; //dette viser hvem emailen er fra. (viser email adressen som blev indtastet i formen og ikke med garanti den rigtige)

$indhold = "
Besked:    $besked
Navn:      $navn
Firma:      $firma
Adresse:    $adresse
Postnr/By:  $postby
Telefon:    $tlf";

mail($til, $emne, $indhold, $fra); //sender beskeden

echo "beskeden blev afsendt"; //hvis koden når at blive læst hertil betyder det at der ikke er opstået fejl og mailen er blevet afsendt.
}
?>
Avatar billede moonsmiledk Nybegynder
21. december 2009 - 19:59 #3
Tak for svarene :-)

Satte koden og php koden ind i html-filen, som du skrev ... men får stadig linket hen til siden med "ups" ...

Gør jeg noget forkert her???

html-filen:

<body>








<div id="apDiv1">
  <div id="apDiv7" style="cursor: pointer;" onclick="MM_openBrWindow('http://www.lydogbilledshoppen.dk','','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=700')" target: "_blank;">
    <p align="center"><span class="style5"><br />
    Kig i webshoppen</span></p>
  </div>
  <div id="tilbyder">
    <p><span class="style4"><a href="profil.html">Profil</a></span></p>
  </div>
  <div id="kontakt">
    <p><span class="style4"><a href="web/galleri.html">Galleri</a></span></p>
  </div>
  <div id="kontakt2">
    <p><span class="style4"><a href="kontakt.html">Kontakt</a></span></p>
  </div>
</div>
<div id="apDiv2"></div>
<div id="lyd" style="cursor: pointer;" onclick="MM_openBrWindow('http://www.lydogbilledshoppen.dk','','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=700')" target: "_blank;" ></div>
<div id="apDiv4">
 
 
 
   

  <table width="100%" height="400" border="0" align="center" cellpadding="0" cellspacing="1">
  <tr>
    <td height="2" align="left" valign="top"><h1><span class="style2 style6">Kontakt larsfc</span><br />
  </h1></td>
  </tr>
  <tr>
    <td height="5" align="left" valign="top">&nbsp;</td>
  </tr>
  <tr>
 
  <?php
if($_POST['Submit'])
{
$navn = $_POST['navn']; //tager navnet fra formen og gemmer det som en string: $navn
$email = $_POST['email']; //tager emailen fra formen og gemmer det som en string: $email
$besked = $_POST['besked']; //tager beskeden fra formen og gemmer det som en string:
$firma = $_POST['firma'];
$adresse = $_POST['adresse'];
$postby = $_POST['Postby'];
$tlf = $_POST['tlf'];

$til = 'christina@moonsmile.dk'; //dette er den mail som beskeden fra hjemmesiden bliver sendt til
$emne = "Besked fra: $navn"; //dette bliver emnet til den mail du modtager. Det kommer til at står på mailen hvor der normal står et emne beskrevet
$fra = "From: $email"; //dette viser hvem emailen er fra. (viser email adressen som blev indtastet i formen og ikke med garanti den rigtige)

$indhold = "
Besked:    $besked
Navn:      $navn
Firma:      $firma
Adresse:    $adresse
Postnr/By:  $postby
Telefon:    $tlf";

mail($til, $emne, $indhold, $fra); //sender beskeden

echo "beskeden blev afsendt"; //hvis koden når at blive læst hertil betyder det at der ikke er opstået fejl og mailen er blevet afsendt.
}
?>

 
 
    <td height="350" align="center" valign="top"> <form name="mail" method="post" action="<?print $_SERVER['PHP_SELF'];?>"  onReset="return confirm('Er du sikker på at du vil slette alt?');">
        <table width="379" height="260" border="0" align="center" cellpadding="0" cellspacing="0" class="tabel">
          <tr>
            <td width="75" height="50" align="right" valign="middle"><span class="style8">Besked:</span>&nbsp;</td>
            <td width="304" align="left" valign="middle"><textarea name="besked" cols="34" rows="3" class="textarea"></textarea></td>
          </tr>
       
          <tr>
            <td align="right" valign="middle"><span class="style8">&nbsp;&nbsp;Navn:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="navn" type="text" class="input" size="45"></td>
          </tr>
       
          <tr>
            <td align="right" valign="middle"><span class="style8">Evt. Firma:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="firma" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td height="26" align="right" valign="middle"><span class="style8">Adresse:</span>&nbsp;</td>
            <td align="left" valign="middle"><textarea name="adresse" cols="34" rows="2" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Postnr/By:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="Postby" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Tlf:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="tlf" type="text" class="input" size="18">            </td>
          </tr>
     
          <tr>
            <td height="18" align="right" valign="middle"><span class="style8">E-mail:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="mail" type="text" class="input" size="45"></td>
          </tr>
          <tr>          </tr>
          <tr>
            <td align="right" valign="top"></td>
            <td></td>
          </tr>
          <tr valign="bottom">
            <td height="30">&nbsp;</td>
            <td height="30" align="left"> <input name="Submit" type="submit" class="button" value="Send">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Submit2" type="reset" class="button" value="Reset">            </td>
          </tr>
        </table>
      </form></td>

  </tr>
  <tr>
    <td align="center">&nbsp; </td>
  </tr>
  <tr>
    <td align="center">
        </td>
  </tr>
</table>
21. december 2009 - 22:19 #4
Jamen den ekstra kode kunne du da godt have givet mig til at begynde med for det problemet ligger.  Naar jeg afproever din kode saa faar jeg tre links og en form.  Naar jeg undlader at klikke paa linkene men bare udfylder formen saa faar jeg en email tilsendt og siden gendannet.  (Kom jeg for skade at spamme dig?  Jeg havde glemt at rette emailen tilbage til min egen, saa jeg afproevede formen et antal gange og kunne ikke forstaa hvorfor jeg ikke fik en email.)

Gider du at afproeve formen uden at klikke paa de tre links og fortaelle mig om du saa ogsaa faar Ups.  Svaret skulle gerne vaere at det saa er i orden.  Hvad angaar de tree links "Profil", "Galleri", og "kontakt" saa linker de til de foelgende filer:  profil.html, web/galleri.html, og kontakt.html.  Det er de filer som browseren aabenbart ikke kan finde.  Hvor har du de filer siddende?
Avatar billede moonsmiledk Nybegynder
21. december 2009 - 22:49 #5
Jamen jeg afprøver jo formen på siden:

http://moonsmile.dk/larsfc/kontakt.html

De 3 links er jo dem, der ligger ude, som en menu - og filerne profil.html, kontakt.html og web/galleri.html ligger rigtigt relativt til siden som formen ligger på (kontakt.html)
Jeg åbner jo bare selve siden, og afprøver formen - klikker ikke på nogle af de 3 links, men knappen "send"

Jeg får stadig "ups" - men kunne godt se, at du har fundet en vej igennem?????
22. december 2009 - 07:59 #6
Det var maerkeligt, jeg sendte et indlaeg tidligere her til morgen men det synes at vaere forsvundet.  Maaske dukker det op igen, men mit indlaeg var nogenlunde det foelgende:  Jeg spurgte dig om, naar du "koerer" koden under #3 og ikke roerer ved linkene men blot fylder formen ind og trykker paa send, hvad sker der saa?  Faar du en email med oplysningerne?  Faar du siden gendannet paa den samme side?  Hvis ikke, kan jeg saa faa dig til at proeve at slette (midlertidigt) den foerste gruppe html kode og kun bruge koden fra og med <?php, altsaa koden fra #1 forbedret i #2.  Hvis det heller ikke virker saa er jeg bange for at det er web-trolden der er paa spil.  Jeg skal nu afsted og kommer ikke tilbage foer i aften, maaske kan vi snakke videre da.
Avatar billede moonsmiledk Nybegynder
22. december 2009 - 14:20 #7
Tja... har nu prøvet koden, både med og uden linkene... den hopper simpelthen bare videre til ups-siden .. (og i adresse-linien, er det som om, den prøver at linke hen til det php-script: <?print $_SERVER['PHP_SELF'];?>) .. Det forsøgte den nu også dengang der stod at action=sendmail.php ...
Ja web-trolden er jo nok på spil (eller nok nærmere en fejl-40 heromkring ;-))
Undrer mig dog stadig over, at du kunne få noget igennem, og jeg ikke kan...
22. december 2009 - 19:44 #8
Med "Ups-siden" mener du sandsynligvis den side Internet Explorer viser naar den ikke kan finde en fil.  For eksempel jeg fik dette da jeg proevede at finde denne (selvopfundne) fil: http://www.derkomensoldatgaaendehenadlandevejen.dk 

Oops! This link appears to be broken.Suggestion:
•Search on Google:
derkomensoldatgaaendehenadlandevejen dk

Firefox viser dette: 

Server not found       
Firefox can't find the server at www.derkomensoldatgaaendehenadlandevejen.dk.

Hvad staar der paa den Ups side du faar?  Hvilken fil siger ups siden at den ikke kan finde?  Og hvor i din side forekommer navnet paa en saadan fil?  Der maa sidde noget kode paa din side der foraarsager det. 

Hvad med at proeve at lave en ny selvstaendig side der ikke forbundet med noget som helst andet og saa indsaet nedenstaaende kode.  Den har jeg lige testet, foerst med min egen email adresse og det virkede fint og saa med din email adresse og jeg haaber du faar en email.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title></title>
</head>
<body>
<?php
if($_POST['Submit'])
{
$navn = $_POST['navn'];
$email = $_POST['email'];
$besked = $_POST['besked'];
$firma = $_POST['firma'];
$adresse = $_POST['adresse'];
$postby = $_POST['Postby'];
$tlf = $_POST['tlf'];

$til = 'christina@moonsmile.dk';
$emne = "Besked fra: $navn";
$fra = "From: $email";

$indhold = "
Besked:    $besked
Navn:      $navn
Firma:      $firma
Adresse:    $adresse
Postnr/By:  $postby
Telefon:    $tlf";

mail($til, $emne, $indhold, $fra);

echo "beskeden blev afsendt";
}
?>
<table>
  <tr>
    <td height="350" align="center" valign="top">
      <form name="mail" method="post" action="<?print $_SERVER['PHP_SELF'];?>"  onReset="return confirm('Er du sikker på at du vil slette alt?');">
        <table width="379" height="260" border="0" align="center" cellpadding="0" cellspacing="0" class="tabel">
          <tr>
            <td width="75" height="50" align="right" valign="middle"><span class="style8">Besked:</span>&nbsp;</td>
            <td width="304" align="left" valign="middle"><textarea name="besked" cols="34" rows="3" class="textarea"></textarea></td>
          </tr>     
          <tr>
            <td align="right" valign="middle"><span class="style8">&nbsp;&nbsp;Navn:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="navn" type="text" class="input" size="45"></td>
          </tr>     
          <tr>
            <td align="right" valign="middle"><span class="style8">Evt. Firma:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="firma" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td height="26" align="right" valign="middle"><span class="style8">Adresse:</span>&nbsp;</td>
            <td align="left" valign="middle"><textarea name="adresse" cols="34" rows="2" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Postnr/By:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="Postby" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle"><span class="style8">Tlf:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="tlf" type="text" class="input" size="18"></td>
          </tr>   
          <tr>
            <td height="18" align="right" valign="middle"><span class="style8">E-mail:</span>&nbsp;</td>
            <td align="left" valign="middle"><input name="mail" type="text" class="input" size="45"></td>
          </tr>
          <tr valign="bottom">
            <td height="30">&nbsp;</td>
            <td height="30" align="left"> <input name="Submit" type="submit" class="button" value="Send">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Submit2" type="reset" class="button" value="Reset"></td>
          </tr>
        </table>
      </form>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede moonsmiledk Nybegynder
24. december 2009 - 11:59 #9
Tja ... Ups siden, siger jo at den ikke kan finde hvad end det nu er for en kommando, der står i "action=" ....
Pyha ... men jeg kan stdig ikke få noget frem .. og der er så vidt jeg kan se, ingen links, der ikke skal være der ...
Tror nu bare, at jeg her efter jul, forsøger mig med en anden formular, og starter forfra ;-)
Du får selvfølgelig pointene, for en ihærdig indsats ;-)
Tusinde tak for hjælpen - og rigtig glædelig jul :-)
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
Kurser inden for grundlæggende programmering

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