Avatar billede svendsen8520 Nybegynder
29. januar 2009 - 23:30 Der er 7 kommentarer

Fejl i script til PHP form

Nogen der kan se hvad der er galt med det her script, den vil ikke sende billederne som folk vedhæfter med.

<?php

if($_POST['mail'] != ""){

    $til        = 'peterjuulsvendsen@gmail.com';
    $fra        = 'Peter Svendsen';
    $navn        = $_POST['navn'];
    $mail        = $_POST['mail'];
    $emne        = $_POST['emne'];
    $billede    = $_POST['File1'];
    $indhold    = nl2br($_POST['besked']);

    $besked  .= '<table>';
    $besked  .= '<tr><td><font face="verdana" size="1">Mailen er skrevet af: ' . $navn . '</font></td></tr>';
    $besked  .= '<tr><td><font face="verdana" size="1">' . $indhold . '</font></td></tr>';
    $besked  .= '</table>';

    $headers  = "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\n";

    $headers .= "To: $fra <$til>\n";
    $headers .= "From: $navn <$mail>\n";

    mail($til, $emne, $besked, $headers);

    echo "<script>alert('Så er den sendt - you big bad boy.');</script>";
   
}
?>
<html>

<head>
<script language="JavaScript">
<!--
    function CheckForm () {
       
    //kontroller at navn er udfyldt
    if (document.mail.navn.value == ""){
        alert("Respect the cock - Skriv venligst dit navn");
        document.mail.navn.select();
        document.mail.navn.focus();
        return false
    }

    //kontroller at email er udfyldt og indeholder @ og punktum
    if (document.mail.mail.value.indexOf('@') == '-1' ||
        document.mail.mail.value.indexOf('.') == '-1') {
        alert("Respect the cock - Check venligst din e-mail adresse");
        document.mail.mail.select();
        document.mail.mail.focus();
        return false
    }
   
    //kontroller at emne er udfyldt
    if (document.mail.emne.value == ""){
        alert("Respect the cock - Skriv venligst et emne");
        document.mail.emne.select();
        document.mail.emne.focus();
        return false
    }
   
    //kontroller at besked er udfyldt
    if (document.mail.besked.value == ""){
        alert("Respect the cock - Skriv venligst en besked");
        document.mail.besked.select();
        document.mail.besked.focus();
        return false
    }   
        return true
}
//-->
</script>
<style type="text/css">
.style1 {
    font-family: Tahoma;
    font-size: x-small;
}
.style2 {
    font-size: x-small;
}
.style3 {
    font-family: Tahoma;
}
</style>
</head>

<body>
<form name="mail" method="POST" action="" onSubmit="return CheckForm();">

<table>
    <tr><td class="style1">Navn:</td><td><input name="navn" type="text"></td></tr>
    <tr><td class="style1">E-mail:</td><td><input name="mail" type="text"></td></tr>
    <tr><td class="style1">Emne:</td><td><input name="emne" type="text"></td></tr>
    <tr><td class="style1">Billede</td><td><input name="File1" type="file"></td></tr>
    <tr><td class="style2"><span class="style3">Navn<br>
        Kaldenavn<br>
        Alder<o:p><br>
        Hjemmeklub<o:p><br>
        Favoritbane i Danmark<o:p><br>
        Favoritbane i udlandet<br>
        Styrke<br>
        Svaghed<br>
        Driver<br>
        Woods<br>
        Rescue<br>
        Jern<br>
        Wedges<br>
        Putter<br>
        Bold<br>
        Favorit golfspiller<br>
        Hade golfspiller<br>
        Hole in one<br>
        Deltagelse i Kiprots<br>
        Hvem vinder Kiprots<br>
        <em><strong>Kontakt info<br>
        </strong></em>Mobilnummer<br>
        Email<br>
        Adresse<br>
        </o:p>
        </o:p>
        </o:p>
        </span><br>
        </td><td>
        <textarea name="besked" class="style1" style="height: 407px; width: 412px;"></textarea></td></tr>
    <tr><td><input name="Submit" type="submit" value="Send"></td></tr>
</table>

</form>
</body>

</html>
Avatar billede zips Juniormester
29. januar 2009 - 23:44 #1
Der mangler en Content-Type til dine billeder i det script, prøv at se her http://www.eksikalori.com/tips_tutorials_php_email_attachment.html
Avatar billede svendsen8520 Nybegynder
29. januar 2009 - 23:49 #2
Okay, skal jeg bare sætte det hele på side du sendte ind i mit script?
Avatar billede svendsen8520 Nybegynder
29. januar 2009 - 23:51 #3
og kan den også bruge hvis det ikke er en JPEG fil folk vedhæfter?
Avatar billede svendsen8520 Nybegynder
30. januar 2009 - 00:29 #4
nu har jeg prøvet at sætte det ind, det fungere også lidt. jeg får i hvert fald en email med et billede som fylder 0 kb, ved navn test. Men det får jeg uanset om jeg uploader et billede på siden eller ej..
Avatar billede jakobdo Ekspert
30. januar 2009 - 12:48 #5
Som jeg har skrevet i et andet indlæg, så kig på phpmailer eller swiftmailer.
Og samtidig skal du også have enctype="multipart/form-data" med i din form.
Avatar billede svendsen8520 Nybegynder
31. januar 2009 - 13:23 #6
Tror sgu jeg gir op, tak for hjælpen.. jeg sender lige pointene videre til dig.
Avatar billede jakobdo Ekspert
01. februar 2009 - 12:11 #7
At give op er da ikke den rigtige måde at lære skidtet på.

Der skal ikke mere kode til en følgende, for at afsende en email med vedhæftet fil.

<?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->From    = "afsender@email.dk";
$mail->FromName = "Afsender Navn";

$mail->AddAddress("modtager@email.dk", "Modtager navn");
$mail->Subject = "Emailens emne";
$mail->Body    = "Emailens besked";
$mail->AddAttachment("/sti/mappe/filnavn.endelse", "filens_navn.endelsep");

if(!$mail->Send()){
    echo "There was an error sending the message";
    exit;
}

echo "Message was sent successfully";
?>
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