Avatar billede discotk Nybegynder
01. december 2009 - 17:05 Der er 3 kommentarer og
1 løsning

Simpel email/POST

Får fejl 500 men kan ikke rigtig forstå hvorfor?
Nogen der kan hjælpe mig?

FORM_____________________________________

<form method="post" action="tilmeldt.php" style="width: 238px">

    <table cellpadding="0" cellspacing="0" style="width: 658px; height: 1px">
        <tr>
            <td colspan="4">
            <input checked="checked" name="valg" value="Uddannelse" type="radio" />Uddannelse&nbsp;<input name="valg" value="Kursus" type="radio" />Kursus</td>
        </tr>
        <tr>
            <td style="width: 101px">Fornavn</td>
            <td style="width: 227px"><input name="navn" type="text" /></td>
            <td style="width: 68px">Efternavn</td>
            <td><input name="efternavn" type="text" /></td>
        </tr>
        <tr>
            <td style="width: 101px">CPR nr.</td>
            <td style="width: 227px">
            <input name="cpr1" style="width: 77px" type="text" /><input name="cpr2" style="width: 51px" type="text" /></td>
            <td style="width: 68px"></td>
            <td></td>
        </tr>
        <tr>
            <td style="width: 101px">Adresse</td>
            <td style="width: 227px"><input name="adresse" type="text" />&nbsp;</td>
            <td style="width: 68px"></td>
            <td></td>
        </tr>
        <tr>
            <td style="width: 101px">Postnummer</td>
            <td style="width: 227px"><input name="postnummer" type="text" />&nbsp;</td>
            <td style="width: 68px">By</td>
            <td><input name="by" type="text" /></td>
        </tr>
        <tr>
            <td style="width: 101px">Telefon nr.</td>
            <td style="width: 227px"><input name="tlf" type="text" />&nbsp;</td>
            <td style="width: 68px"></td>
            <td></td>
        </tr>
        <tr>
            <td style="width: 101px">E-mail</td>
            <td style="width: 227px"><input name="email" type="text" /></td>
            <td style="width: 68px"></td>
            <td></td>
        </tr>
        <tr>
            <td style="width: 101px">Uddannelse</td>
            <td style="width: 227px"><input name="uddannelse" type="text" /></td>
            <td style="width: 68px"></td>
            <td></td>
        </tr>
        <tr>
            <td style="width: 101px">Arbejdsplads</td>
            <td style="width: 227px"><input name="arbejdsplads" type="text" /></td>
            <td style="width: 68px"></td>
            <td></td>
        </tr>
        <tr>
            <td style="width: 101px">EAN-nummer</td>
            <td style="width: 227px"><input name="EANnr" type="text" /></td>
            <td style="width: 68px"></td>
            <td></td>
        </tr>
    </table>
<input type="submit" value="Tilmeld" />
</form>

SCRIPT_______________________________________________

<div style="font-family:Arial, Helvetica, sans-serif; font-size:12px; line-height:15px;">
<?php
$valg = $_POST['valg'];
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$cpr1 = $_POST['cpr1'];
$cpr2 = $_POST['capr2'];
$adresse = $_POST['adresse'];
$postnr = $_POST['postnr'];
$by = $_POST['by'];
$tlf = $_POST['tlf'];
$email = $_POST['email'];
$uddannelse = $_POST['uddannelse'];
$arbejdsplads = $_POST['arbejdsplads'];
$EANnr = $_POST['EANnr'];


$emne = "(MG Consult) " . $navn . $efternavn;

$besked = "Tilmelding til: $valg\n
Navn: $fornavn $efternavn \n
CPR nr: $cpr1-$cpr2 \n
Adresse: $adresse \n
Postnummer: $postnummer \n
By: $by \n
Tlf nr: $tlf \n
Email: $email \n
Uddannelse: $uddannelse \n
Arbejdsplads: $arbejdsplads \n
EAN nr: $EANnr \n
Besked: $notes \n
";

$afsender = "From: $email\r\n";


mail("ab@dstudio.dk", $emne, $besked, $afsender);

?>

Vi kontakter Dem hurtigst muligt : <?php echo $navn $efternavn ?> ( <?php echo $email ?> )<br /><br />
<font size="1">De vil automatisk blive sendt videre til kontaktsiden om 5 sek.

<br />
<b>
Hvis ikke, klik <a href="tilmelding.php">her</a> for at komme tilbage
</b></font>
</div>
Avatar billede repox Seniormester
01. december 2009 - 18:26 #1
Hvad er det du får en fejl 500 fra? Når du tilgår siden? Når du anvender funktionerne? Eller?
Avatar billede public2 Nybegynder
01. december 2009 - 18:28 #2
Hej,

jeg ser flere fejl i din kode, som jeg dog ikke er helt sikker på om det er fordi du har mere kode eller er en forglemmelse:

Linien:
Vi kontakter Dem hurtigst muligt : <?php echo $navn $efternavn ?> ( <?php echo $email ?> )<br /><br />

For det første, du bruger flere steder variablen $navn, men du har ingen deklaration af den oppe i dine øvrige deklarationer. Du skal enten sætte variablen eller bruge $fornavn (som jeg tror er det du egentlig vil, da du har $efternavn bagefter).

Derudover skal du huske at når du sammensætter to variabler i en echo skal du bruge . [dot]. Og til sidst, husk at afslutte med et ";" [semikolon].

Din sætning skal således hedde:
Vi kontakter Dem hurtigst muligt : <?php echo $fornavn . " " . $efternavn; ?> ( <?php echo $email; ?> )<br /><br />

Den anden linie:
$emne = "(MG Consult) " . $navn . $efternavn;

Samme problem som før, du skriver $navn, uden at der er en variabel navn.
Her tror jeg også det er meningen at den ændres til:
$emne = "(MG Consult) " . $fornavn . " " . $efternavn;

Den sidste ting der slår mig i øjne er linien:
$besked = "Tilmelding til: $valg\n
Navn: $fornavn $efternavn \n
CPR nr: $cpr1-$cpr2 \n
Adresse: $adresse \n
Postnummer: $postnummer \n
By: $by \n
Tlf nr: $tlf \n
Email: $email \n
Uddannelse: $uddannelse \n
Arbejdsplads: $arbejdsplads \n
EAN nr: $EANnr \n
Besked: $notes \n
";

Du deklarerer variablen "$besked" som en string. Når du kommer til en variable du vil have ind, f.eks. $email eller $adresse så skal du sætte et par { } rundt om dem.
Og igen, husk "." [dot] og { } når du skriver "Navn:" så den bliver "{$fornavn} {$efternavn}" og igen med CPR nr. som bliver til {cpr1}-[cpr2}.
Koden virker selvom du ikke bruger { } men det er god kode at gøre det.

Samme problem er nede i $afsender = "From: $email\r\n"; som gerne skulle være $afsender = "From: {$email}\r\n";

Og til slut, så test at din "mail("ab@dstudio.dk", $emne, $besked, $afsender);" rent faktisk er sat rigtigt op og kører på din udbyders server.

Hvad præcis der laver din fejl 500 ved jeg ikke, da de fejl jeg har påpeget gerne skulle give en mere "almindelig" fejlkode, men du kan sætte en fejl-opsætning i din PHP, så det er muligvis den der laver lidt ballade?

Håber det hjælper lidt.

Mvh
Public
Avatar billede discotk Nybegynder
01. december 2009 - 22:29 #3
Tak for hjælpen public2! Det hjalp helt sikkert, men viste sig også at være en fejl på serveren :) Men smid et svar, for koden er i den grad også blevet mere overskuelig!
Avatar billede public2 Nybegynder
02. december 2009 - 07:33 #4
Hej,

dejligt at det kom til at virke, det er jo trods alt det vigtigste - men her har du et svar :-)
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