Avatar billede alex_sleiborg Nybegynder
26. april 2005 - 09:35 Der er 5 kommentarer og
1 løsning

Mail problemer med PHP

Jeg skal lave et lille script der kan sende mail, og det skal laves i PHP. Har prøvet og lave det, men kan ikke få det til og virke. Højst sandsynligt fordi der er en masse fejl i mit PHP. Håber der er nogen der kan hjælpe

Her er min kode

<html>
<head>
    <title>Mail til MIU</title>
</head>
    <body bgcolor="#BAC7C6">
        <h1 align="center">Kontakt:</h1>
<br>
        <form method="post" action="<?php $PHP_SELF ;?>">
<table border="0" cellpadding="0" cellspacing="5" width="377" align="center">
<tr>
        <td width="74">Navn</td>
        <td width="299"><input type="text" name="name" size="20"></td>
</tr>
<tr>
        <td width="74">Email</td>
        <td width="299"><input type="text" name="email" size="20"></td>
</tr>
<tr>
        <td width="74">Emne</td>
        <td width="299"><input type="text" name="subject" size="20"></td>
</tr>
<tr>
        <td width="74"></td>
        <td width="299"><textarea rows="4" name="message" COLS=40 ROWS=6>Skriv din besked her...</textarea></td>
</tr>
<tr>
        <td width="74"></td>
        <td width="299"><input type=submit value="Send Mail"></td>
</tr>
</table>
</form>
<?php

?>
<?php
    if ($name == ''){
        echo "Skriv dit navn";
}
    else ($email != [\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}\b)] {
        echo "Skrive en gyldig Email adresse";
}
    else ($message == '') {
        echo "Du skal skrive en meddelelse";
}

    {
    mail("23@miu.dk", $email, "Name: $name\n Email: $email\n $subject\n Subject: Message: $message\n",
        "From: $name <$email>");
        echo "<script>window.location.href='svar.htm';</script>";
}
?>
</body>
Avatar billede cpfrande Nybegynder
26. april 2005 - 09:58 #1
Halløjsa,

Hvilken fejl får du, når du forsøger at sende en e-mail?
Avatar billede alex_sleiborg Nybegynder
26. april 2005 - 10:03 #2
At der er fejl i linje 39, altså den her

else ($email != [\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}\b)] {

Og får jeg PHP til og overse linje 39+40+41 får jeg nogen fejl med linje 19.

Jeg er overhovedet vant til og kode i PHP, men en ven spurgte om jeg ikke ville prøve og lave det script til ham. Så håbede der var en her på eksperten der kunne hjælpe
Avatar billede cpfrande Nybegynder
26. april 2005 - 13:24 #3
Erhm, har du forsøgt at bruge en lign. denne i stedet:

!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]{1,})+)*$", $email, $regs)

Er den jeg bruger... og så lige en if om den selvf.

:-)
Avatar billede alex_sleiborg Nybegynder
27. april 2005 - 09:20 #4
Får stadig fejl i linjen under. Og der er kun et {

<html>
<head>
    <title>Mail til MIU</title>
</head>
    <body bgcolor="#BAC7C6">
        <h1 align="center">Kontakt:</h1>
<br>
        <form method="post" action="<?php $PHP_SELF ;?>">
<table border="0" cellpadding="0" cellspacing="5" width="377" align="center">
<tr>
        <td width="74">Navn</td>
        <td width="299"><input type="text" name="name" size="20"></td>
</tr>
<tr>
        <td width="74">Email</td>
        <td width="299"><input type="text" name="email" size="20"></td>
</tr>
<tr>
        <td width="74">Emne</td>
        <td width="299"><input type="text" name="subject" size="20"></td>
</tr>
<tr>
        <td width="74"></td>
        <td width="299"><textarea rows="4" name="message" COLS=40 ROWS=6>Skriv din besked her...</textarea></td>
</tr>
<tr>
        <td width="74"></td>
        <td width="299"><input type=submit value="Send Mail"></td>
</tr>
</table>
</form>
<?php

?>
<?php
    if ($name == '')
    {
        echo "Skriv dit navn";
    }
    else !eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]{1,})+)*$", $email, $regs)
    {
        echo "Skrive en gyldig Email adresse";
    }   
    else ($message == '')
    {
    echo "Du skal skrive en meddelelse";
    }

    {
    mail("23@miu.dk", $email, "Name: $name\n Email: $email\n $subject\n Subject: Message: $message\n",
        "From: $name <$email>");
        echo "<script>window.location.href='svar.htm';</script>";
    }
?>
</body>
</html>

Er der ikke nogen der ved hva der kan være galt???
Avatar billede cpfrande Nybegynder
27. april 2005 - 09:49 #5
Ja, det er klart, at den melder fejl. Du bruger en ganske forkert syntaks.

<?php
    if ($name == '')
    {
        echo "Skriv dit navn";
    }
    else if (!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]{1,})+)*$", $email, $regs))
    {
        echo "Skrive en gyldig Email adresse";
    }   
    else if ($message == '')
    {
    echo "Du skal skrive en meddelelse";
    }
    else
    {
    mail("23@miu.dk", $email, "Name: $name\n Email: $email\n $subject\n Subject: Message: $message\n",
        "From: $name <$email>");
        echo "<script>window.location.href='svar.htm';</script>";
    }
?>

Prøv den ^^

- Kristian
Avatar billede alex_sleiborg Nybegynder
27. april 2005 - 12:56 #6
Nu virker det:D Men når jeg taster et navn ind i den box til navn, og feks ikke skriver en email ind. Så skriver den selvfølgelig jeg skal indtaste en gyldig email. Men samtidig sletter den det der står i navne boxen. Hvordan kan jeg fikse det???
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