Avatar billede donh Nybegynder
05. marts 2010 - 14:28 Der er 6 kommentarer og
1 løsning

Form submit with javascript til php

Hej

Jeg har været nødt til at submitte en form med javascript pga. forskellige årsager. Hvilket gør at den php side jeg tidligere har brugt ikke virker længere... Så jeg kunne rigtig godt bruge lidt hjælp til at omskrive php delen!


Jeg submitter formularen til en php side på følgende måde med java script:

function send() {                document.getElementById('MENUform').action = 'mailer-smag.php';
document.getElementById('MENUform').method = 'POST';
document.getElementById('MENUform').target = '_self';
document.getElementById('MENUform').submit();
}


Og her er så php delen der gerne skulle sende dataen på mail:

<?php
if(isset($_POST['submit'])) {

    $to = "donh@webspeed.dk";
    $from = "Mit website";
    $subject = "Bestilling via Menu Sammensætter";
    $forret = forretName;
    $hovedret = $_POST['hovedretName'];
    $dessert = $_POST['dessertName'];
    $name_field = $_POST['name'];
    $phone_field = $_POST['phone'];
    $email_field = $_POST['mail'];
   
    foreach($_POST['check'] as $value) {
        $check_msg .= "Checked: $value\n";
    }
   
    $body = "Forret: $forret\n Hovedret: $hovedret\n Dessert: $dessert\n From: $name_field\n Telefon: $phone_field\n E-Mail: $email_field\n";

   
    echo "Din forespørgsel er nu sendt til $to!";
    mail($to, $from, $subject, $body);
} else {
    echo "der opstod en fejl!... prøv igen";
}
?>


OBS: Hvis jeg submitter formen på "normal" vis, med dette:

<input type="submit" value="Submit" name="submit">

... så virker php scriptet!


Alt hjælp er velkommen :o)
Avatar billede preppydude Nybegynder
05. marts 2010 - 15:52 #1
Mener kun submit knappens navn kommer med hvis du klikker på den. Har du prøvet at skifte isset($_POST['submit']) ud med $_SERVER['REQUEST_METHOD']=="POST"?
Avatar billede donh Nybegynder
05. marts 2010 - 16:30 #2
sweet... emailen kommer nu igennem... dog kun med:

$to = "donh@webspeed.dk";
$from = "Mit website";
$subject = "Bestilling via Menu Sammensætter";

Kan du fortælle mig hvad der skal laves om på de andre?:

$hovedret = $_POST['hovedretName'];
ect..

... er helt blank, når det kommer til php... :o(
Avatar billede preppydude Nybegynder
05. marts 2010 - 16:37 #3
Du kan starte med at lave en test for at se hvad der egentlig bliver sendt med din form:
<?php
die(print_r($_POST, true));
?>
Avatar billede donh Nybegynder
05. marts 2010 - 16:47 #4
oki... der får jeg denne linie:

Array ( [forretName] => 2 [hovedretName] => 2 [dessertName] => 2 [name] => aasassa eeeee [phone] => 323333323232 [mail] => dddss@dddsdsds.ds )

... og hvordan får jeg så lige fat i de værdier?.. kan du fortælle mig det?
Avatar billede preppydude Nybegynder
05. marts 2010 - 17:19 #5
Det gør du sådan her, fx:
<?php
$hovedret = $_POST["hovedretName"];
?>
Avatar billede donh Nybegynder
05. marts 2010 - 17:27 #6
ahhh... det var også sådan det stod til at starte med... men fandt lige denne fejl $forret = forretName;... de efterfølgende var rigtige nok...

super... mange tak!!... du har reddet min dag!.. skriv et svar og du får points!

Go' weekend! :o)
Avatar billede preppydude Nybegynder
05. marts 2010 - 17:32 #7
Godt det hjalp :)

Og i lige måde ;)
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