Avatar billede dotcom1 Nybegynder
14. oktober 2004 - 23:28 Der er 8 kommentarer og
1 løsning

Billede som submit-knap

Jeg vil gerne bruge et billede som submit-knap, men har problemer med at få det til at virke.

Denne kode virker:
<input type="submit" value="Send besked" name="send">

Denne virker ikke...hvad er der galt? Formen tømmes, men der sendes ikke noget.
<input type="image" src=grafik/submit.gif width=85 height=25 name="send" value="Send">

Mvh.
Avatar billede Slettet bruger
14. oktober 2004 - 23:31 #1
Sikker på, at der ikke sendes noget?

Hvis du modtager med PHP, vil du modtage to værdier, der hedder send_x og send_y. På andre systemer, vil du måske får værdier, der hedder send.x og send.y.
Avatar billede dotcom1 Nybegynder
14. oktober 2004 - 23:33 #2
Jeg modtager noget med den første kode, men intet med den anden og php-takke-meddelelsen vises heller ikke som ved den første.
Det er en mailform i php - send_x og send_y siger mig ikke noget... ;-)
Avatar billede dotcom1 Nybegynder
14. oktober 2004 - 23:36 #3
Dette er formen:

<table width="358" border="0" cellpadding="5" cellspacing="0" bgcolor="#FFFFFF" style="height:367px;">
                    <tr>
                      <td valign="top"><div align="left">
                          <table border="0" width="345" cellspacing="0" cellpadding="0" align="left" style="height:350px;">
                            <tr>
                              <td height="213" valign="top"><form name="frm" action="<?php echo $PHP_SELF; ?> "method="POST" style="display:inline; font-family:Arial, Helvetica, sans-serif; margin:0px;">
                Dit navn:<br>
                <input name="navn" type="text" style="border: 1px solid #999;">
                <br>
                <br>
                Din e-mail:<br>
                <input type="text" name="epost" style="border: 1px solid #999;">
                <br>
                <br>
                Emne:<br>
                <input type="text" name="emne" style="border: 1px solid #999;">
                <br>
                <b>
  <?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( "Du har glemt at skrive dit navn...");
    if (!$tekst) tilbage( "Du har glemt at skrive noget beskedfeltet");
 
  $tekst = "$tekst ";
   
 
    mail( "abc@mail.au.dk", "Fra website - Emne: $emne", $tekst, "From: $epost\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");
echo  "Din besked er sendt. Tak.\n";
}


?>
                <br>
                </b>Besked:<br>
                <textarea style="border: 1px solid #999;" rows="8" cols="45" name="tekst"></textarea>
                <br>
                <br>
        <input type="image" src="grafik/slet_alt.jpg" name="reset" value="reset" style="border:1px solid #000;cursor:pointer;">&nbsp;&nbsp;&nbsp;
                <input type="submit" value="Send besked" name="send">
        </form></td>
                            </tr>
                          </table>
                      </div></td>
                    </tr>
                  </table>
Avatar billede Slettet bruger
14. oktober 2004 - 23:38 #4
Ret

if ($send) {

til

if ($send_x) {

Derudover vil det være smart at rette hele scriptet til ikke at kræve register_globals=on. Du får en udgave mere om et øjeblik.
Avatar billede Slettet bruger
14. oktober 2004 - 23:45 #5
<?php

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

    if (!isset($_POST['navn'])) tilbage( "Du har glemt at skrive dit navn...");
    if (!isset($_POST['tekst'])) tilbage( "Du har glemt at skrive noget beskedfeltet");

  $tekst = $_POST['tekst'] . " ";
 

    mail( "abc@mail.au.dk", "Fra website - Emne: " . $_POST['emne'], $_POST['tekst'], "From: " . $_POST['epost'] . "\nX-Mailer: http://" . $_SERVER['HTTP_HOST'] . $_SERVER[REQUEST_URI']);
echo  "Din besked er sendt. Tak.\n";
}


?>

Med denne tilrettede udgave, vil dit script også virke, hvis din udbyder skifter serverindstillinger, så register_globals er slået fra, som det anbefales fra PHP, og som det er som standard i alle nyere udgaver af PHP.
Avatar billede dotcom1 Nybegynder
14. oktober 2004 - 23:55 #6
Tak.
Får denne fejl: Parse error: parse error, expecting `']'' in /var/www/www.domain.dk/docs/kontakt.php on line 80

Linie 80:    mail( "abc@mail.au.dk", "Fra website - Emne: " . $_POST['emne'], $_POST['tekst'], "From: " . $_POST['epost'] . "\nX-Mailer: http://" . $_SERVER['HTTP_HOST'] . $_SERVER[REQUEST_URI']);
Avatar billede Slettet bruger
14. oktober 2004 - 23:58 #7
Ja, der manglede lige en ' i $_SERVER['REQUEST_URI']
Avatar billede dotcom1 Nybegynder
14. oktober 2004 - 23:59 #8
Ah, det virker.

Der manglede en ' her: $_SERVER['REQUEST_URI']);

Tak for hjælpen. Læg et svar. :-)
Avatar billede Slettet bruger
14. oktober 2004 - 23:59 #9
Kommer her.
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