Avatar billede gecko Nybegynder
08. marts 2007 - 12:34 Der er 22 kommentarer og
1 løsning

Kontaktform virker ikke

Hejsa

Nogle der kan fortælle hvorfor følgende kontaktform ikke virker:

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="style.css">
</head>

<body>
<br><br>
<table width="300" border="0" cellspacing="0">
<tr valign="top">

<td valign="top" width="222">
<p class="overskrift">Udfyld denne form </p>
<form name="frm" action="<?php echo $PHP_SELF; ?>" method="POST">
<p class="broed">Navn</p>
<input type="text" name="navn" size="27">
</td>
</tr>
<tr>
<td valign="top" width="222"><p class="broed">E-mail</p>
<input type="text" name="email" size="27">
</td>
</tr>
<tr><td>
<br>
<?php

        echo  "<input type=button value=\"Send\" onClick=$send><br><br>";

if ($send) {
    function tilbage($meddelelse) {
        echo  "$meddelelse\n";
        echo  "<input type=button value=\"<< Tilbage\" onClick=history.back()><br><br>\n";
        exit;
    }

    if (!$navn) tilbage( "Du har glemt at skrive dit navn");
    if (!$adresse) tilbage( "Du har glemt at skrive din email");
   
 
  $indhold = "$navn\t $email\n";
   
 
    mail( "test@tester.dk", "tilmelding", $indhold, "From: $epost\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");

echo  "$indhold";
echo  "\n Tak for din mail\n";

exit;
}
?>
</form>
    </td>
  </tr>
<tr><td>
<p class="broed">xxxxxx</p>
</td></tr>
</table>
</body>
</html>
Avatar billede showsource Seniormester
08. marts 2007 - 12:43 #1
onClick='this.form.submit();'
Men hvorfor ikke lave en submit knap?

Og væn dig til at bruge $_POST["send"] m.m. i stedet for blot $send
Det vil du vinde på i længden..........
Avatar billede michael_stim Ekspert
08. marts 2007 - 12:44 #2
Du blander serversite og klientsite-script.
Avatar billede showsource Seniormester
08. marts 2007 - 12:44 #3
echo  "<input type=button value='Send' onClick='this.form.submit();' name='send'><br><br>";
Avatar billede michael_stim Ekspert
08. marts 2007 - 12:46 #4
echo  "<input type=\"submit\" value=\"Send\" name=\"send\"><br><br>";

if (isset($_POST['send'])) {
Avatar billede gecko Nybegynder
08. marts 2007 - 13:06 #5
Tak for svarene... men hvem fortæller mig det rigtige?? :-D
Avatar billede michael_stim Ekspert
08. marts 2007 - 13:29 #6
Begge to.
Avatar billede gecko Nybegynder
08. marts 2007 - 13:43 #7
Hmm... hvis jeg gør sådan her:

------------
<?php

        echo  "<input type=button value=\"Send\" onClick=onClick='this.form.submit();'><br><br>";

if (isset($_POST['send'])) {
    function tilbage($meddelelse) {
        echo  "$meddelelse\n";
        echo  "<input type=button value=\"<< Tilbage\" onClick=history.back()><br><br>\n";
        exit;
    }

    if (!$navn) tilbage( "Du har glemt at skrive dit navn");
    if (!$adresse) tilbage( "Du har glemt at skrive din email");
   
 
  $indhold = "$navn\t $email\n";
   
 
    mail( "test@tester.dk", "tilmelding", $indhold, "From: $epost\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");

echo  "$indhold";
echo  "\n Tak for din mail\n";

exit;
}
?>

------

Så sker der stadig intet - den kommer heller ikke med advarsel, hvis noget ikke er udfyldt, eller siger "tak for din mail"
Avatar billede sw_red_6 Nybegynder
08. marts 2007 - 13:50 #8
du har en onclick for meget i din button..
og så skal du nok også ændre de andre variabler du får fra formen så de bruger $_POST[]..
Avatar billede michael_stim Ekspert
08. marts 2007 - 13:50 #9
Kig nu efter hvad du skriver.

echo  "<input type=button value=\"Send\" onClick=onClick='this.form.submit();'><br><br>";

For det første har du 2 onClick for det andet er der ikke noget name="send"...
Avatar billede gecko Nybegynder
08. marts 2007 - 14:10 #10
Beklager - det er 100 år siden jeg har siddet med det her (de 2 onclick var kun herinde jeg kom til at gentage - det virkede ikke med 1)

Nu ser det sådan ud:

<?php

        echo  "<input type=button name='send' value='Send' onClick='this.form.submit();'><br><br>";

if (isset($_POST['send'])) {
    function tilbage($_POST['send']) {
        echo  "<input type=button value=\"<< Tilbage\" onClick=history.back()><br><br>\n";
        exit;
    }

    if (!$navn) tilbage( "Du har glemt at skrive dit navn");
    if (!$adresse) tilbage( "Du har glemt at skrive din email");
   
 
  $indhold = "$navn\t $email\n";
   
 
    mail( "test@tester.dk", "tilmelding", $indhold, "From: $epost\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");

echo  "$indhold";
echo  "\n Tak, for din mail\n";

exit;
}
?>

Hvilket resulterer i en blank side?!
Avatar billede gecko Nybegynder
08. marts 2007 - 14:14 #11
Nej forkert - sådan her

<?php

        echo  "<input type=button name='send' value='Send' onClick='this.form.submit();'><br><br>";

if (isset($_POST['send'])) {
    function tilbage($meddelelse) {
        echo  "$meddelelse\n";
        echo  "<input type=button value=\"<< Tilbage\" onClick=history.back()><br><br>\n";
        exit;
    }

    if (!$navn) tilbage( "Du har glemt at skrive dit navn");
    if (!$adresse) tilbage( "Du har glemt at skrive din email");
 

  $indhold = "$navn\t $email\n";
 

    mail( "test@tester.dk", "tilmelding", $indhold, "From: $epost\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");

echo  "$indhold";
echo  "\n Tak, for din mail\n";

exit;
}
?>
Avatar billede gecko Nybegynder
08. marts 2007 - 14:21 #12
og nu er den blanke side væk :-)

Men funktionen virker stadig ikke
Avatar billede michael_stim Ekspert
08. marts 2007 - 14:27 #13
For det første har du ikke ændret dine post-variablers navn ($_POST['']), for det andet er der vel ingen grund til at lave den validering serversite, når du kan lave den clientsite (slipper for at reloade side).
Avatar billede gecko Nybegynder
08. marts 2007 - 14:31 #14
Hvilke er mine post-variabler??
Avatar billede michael_stim Ekspert
08. marts 2007 - 14:32 #15
Det er alle de variabler der er i dit post-formular ;o)
Avatar billede michael_stim Ekspert
08. marts 2007 - 14:36 #16
<form name="frm" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<p class="broed">Navn</p>
<input type="text" name="navn" size="27"><!-- $_POST['navn'] -->
</td>
</tr>
<tr>
<td valign="top" width="222"><p class="broed">E-mail</p>
<input type="text" name="email" size="27"><!-- $_POST['email'] -->
</td>
</tr>
<tr><td>
Avatar billede michael_stim Ekspert
08. marts 2007 - 14:39 #17
$navn=$_POST['navn'];
$email=$_POST['email'];
$adresse=???
Avatar billede gecko Nybegynder
08. marts 2007 - 14:44 #18
Sådan her???

<?php

        echo  "<input type=button name='send' value='Send' onClick='this.form.submit();'><br><br>";

if (isset($_POST['send'])) {
    function tilbage($_POST['meddelelse']) {
        echo  "$_POST['meddelelse']\n";
        echo  "<input type=button value=\"<< Tilbage\" onClick=history.back()><br><br>\n";
        exit;
    }

    if (!$navn) tilbage( "Du har glemt at skrive dit navn");
    if (!$adresse) tilbage( "Du har glemt at skrive din email");


  $_POST['indhold'] = "$_POST['navn']\t $_POST['email']\n";


    mail( "test@tester.dk", "tilmelding", $_POST['indhold'], "From: $_POST['email']\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");

echo  "$_POST['indhold']";
echo  "\n Tak, for din mail\n";

exit;
}
?>
Avatar billede gecko Nybegynder
08. marts 2007 - 14:48 #19
Det kan jeg slet ikke overskue... læg et svar, så får i point.

Jeg finder på en anden metode
Avatar billede michael_stim Ekspert
08. marts 2007 - 14:51 #20
<?php

echo  "<input type=button name='send' value='Send' onClick='this.form.submit();'><br><br>";

if (isset($_POST['send'])) {

    function tilbage($meddelelse) {
        echo  $meddelelse."\n";
        echo  "<input type=button value=\"<< Tilbage\" onClick=history.back()><br><br>\n";
        exit;
    }

    if ($_POST['navn']=="") tilbage( "Du har glemt at skrive dit navn");
    ????if (!$adresse) tilbage( "Du har glemt at skrive din email"); ????


  $indhold = $_POST['navn']."\t". $_POST['email'] ."\n";


    mail( "test@tester.dk", "tilmelding", ". $indhold .", "From: ". $_POST['email']."\nX-Mailer: http://".$HTTP_HOST$REQUEST_URI."");

echo  $_POST['indhold'];
echo  "\n Tak, for din mail\n";
}
?>
Avatar billede michael_stim Ekspert
08. marts 2007 - 14:52 #21
Samler ikke på point. Men tror du skal sætte dig lidt mere ind i PHP ;o)
Avatar billede gecko Nybegynder
08. marts 2007 - 15:07 #22
Det vil jeg gøre.

Du skal have tak for hjælpen :-)
Avatar billede michael_stim Ekspert
08. marts 2007 - 15:32 #23
Så lidt, og held og lykke med kodningen...
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