Avatar billede gizmo1234 Nybegynder
03. december 2003 - 23:16 Der er 3 kommentarer og
1 løsning

Vedhæft billede til form

Hej.
Jeg har et lille problem.
Jeg har et mail form, som virker udemærket, men nu vil jeg gerne have at man kan sende vedhæftede filer med.

Her er koden:

<html>
<head>
  <LINK REL="StyleSheet" HREF="style.css" TYPE="text/css">
</head>
<body bgcolor="#95B0CA">
<font face="verdana" size="1" color="#333333">
<?
if (isset($_POST['send'])) {
    $modtager = "dennis@laxy.dk";
    $emne = "Maleri er bestilt";
    $besked = "\n";
    $besked .= $_POST['Navn']."\n";
    $besked .= $_POST['Adresse']."\n";
    $besked .= $_POST['Postnr']."\n";
    $besked .= $_POST['By']."\n";   
    $besked .= $_POST['Email']."\n";
    $besked .= $_POST['Storrelse']."\n";
    $besked .= $_POST['Portraet']."\n";
    $besked .= $_POST['Farve']."\n";
    $besked .= "\n";
    $besked .= "Bemærkninger:\n\n";
    $besked .= $_POST['Bemaerk']."\n";
    mail($modtager, $emne, $besked);
    echo "Du vil snart modtage en en E-mail med betalings muligheder.<br><br>

Hvis ikke du har et elektronisk billed kan du sende et billed til:<br>

Tryllepensel.dk<br>
Farupvej 31 <br>
6760 Ribe.";
} else {
?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
  <p> <font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">Bestilling:</font></strong></font>
    <br>
    <br>
  <table width="355" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td width="131"><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">Navn:</font></strong></font></td>
      <td width="214"><input name="Navn" size="25" maxlength="100"></td>
    </tr>
    <tr>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">Adresse:</font></strong></font></td>
      <td><input name="Adresse" size="25" maxlength="100"></td>
    </tr>
    <tr>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">Postnummer,
        By:</font></strong></font></td>
      <td><input name="Postnr" size="5" maxlength="10"> <input name="By" type="text" id="By" size="16">
      </td>
    </tr>
    <tr>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">Email:</font></strong></font></td>
      <td><input name="Email" maxlength="100" size="25"></td>
    </tr>
    <tr>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">St&oslash;rrelse:</font></strong></font></td>
      <td><select name="Storrelse" size="1" id="Storrelse">
          <option>30 x 40</option>
          <option>35 x 45</option>
          <option>40 x 50</option>
          <option>45 x 60</option>
          <option>50 x 70</option>
          <option>60 x 80</option>
          <option>80 x 100</option>
        </select></td>
    </tr>
    <tr>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">Portr&aelig;t:</font></strong></font></td>
      <td><select name="Portraet" size="1" id="Portraet">
          <option>1 Person</option>
          <option>2 Person</option>
          <option>3 Person</option>
          <option>Motiv</option>
        </select></td>
    </tr>
    <tr>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#333333" size="1">Sort/hvid
        eller farve:</font></strong></font></td>
      <td><select name="Farve" size="1" id="Farve">
          <option>Farve</option>
          <option>Sort/Hvid</option>
        </select></td>
    </tr>
    <tr valign="top">
      <td height="30"><strong><font color="#333333" size="1" face="Verdana, Arial, Helvetica, sans-serif">Vedh&aelig;ft billede:</font></strong></td>
      <td><input type="file" name="file"></td>
    </tr>
    <tr>
      <td height="35" valign="top"><strong><font color="#333333" size="1" face="Verdana, Arial, Helvetica, sans-serif">Bem&aelig;rkning:</font></strong></td>
      <td><textarea name="Bemaerk" cols="25" rows="7"></textarea></td>
    </tr>
    <tr>
      <td height="35" valign="bottom"><table width="119" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td width="54"><input type="submit" name="send" value="Bestil"></td>
            <td width="65"> <div align="center">
                <input type="reset" name="Submit2" value="Slet alt">
              </div></td>
          </tr>
        </table></td>
      <td>&nbsp;</td>
    </tr>
  </table>
  <p><font color="#333333" size="1" face="Verdana, Arial, Helvetica, sans-serif">Efter bestillingen vil du modtage en E-mail med betalings
    muligheder.<br>
    <br>
    Hvis ikke du har et elektronisk billed kan du sende et billed til:<br>
    <br>
    Tryllepensel.dk<br>
    Farupvej 31 <br>
    6760 Ribe.</font></p>
          </form>
<? }?>



Som i kan se så har jeg lavet en object hvor man kan gennemse sin computer og finde filen, og det hedder file.
Men hvordan skal man få den til at sende den fil man henter den vej med mailen?
Avatar billede schaefner Juniormester
03. december 2003 - 23:20 #1
Avatar billede gizmo1234 Nybegynder
04. december 2003 - 07:33 #2
Hvis det er muligt kunne jeg godt tænke mig at der var en der satte det ind i den form jeg i forvejen bruger...
Avatar billede gizmo1234 Nybegynder
05. december 2003 - 18:54 #3
Jeg har forsøgt med dette script:

<html>
<head>
<?php
# Now we'll make the form. When making forms that allow
# file uploads, it is important to remember to set the
# "enctype" attribute in the <form> tag to "multipart/form-data".
echo  "<form action='$PHP_SELF' enctype='multipart/form-data' method='post'>\n";
echo  "<input type='file' name='attachment'><br>\n";
echo  "<textarea name='body'></textarea><br>\n";
echo  "<input type='submit' name='send' value='Send'>\n";
echo  "</form>\n";

# If the user has pushed the "Send" button:
if ($send) {
    # Defining the boundary:
    $boundary = uniqid( "");

    # Making the headers:
    $headers =  "From: Tryllepensel.dk
Content-type: multipart/mixed; boundary=\"$boundary\"";

    # Determining the MIME type of the uploaded file:
    if ($attachment_type) $mimeType = $attachment_type;
    # If the browser did not specify the MIME type of the uploaded
    # file, we'll just set the MIME type to "application/unknown".
    else $mimeType =  "application/unknown";

    # Determining the file name:
    $fileName = $attachment_name;

    # Opening the file:
    $fp = fopen($attachment,  "r");
    # Reading the entire file into a variable:
    $read = fread($fp, filesize($attachment));

    # OK, now we have a variable named $read
    # that contains the entire file as a text chunk.
    # Now we need to convert that text chunk into
    # something that the mail clients can read.
    # This means we'll have to encode it with base64.
    $read = base64_encode($read);

    # Now we've got a long text base64 encoded
    # text string. The next thing we need to do
    # is to convert that long string to
    # small pieces consisting of 76 characters
    # per line.
    $read = chunk_split($read);

    # Now we can create the mail body:
    $body =  "--$boundary
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 8bit

$body

--$boundary
Content-type: $mimeType; name=$fileName
Content-disposition: attachment; filename=$fileName
Content-transfer-encoding: base64

$read

--$boundary--";

    # Mailing the whole thing:
    mail("dennis@laxy.dk", "Maleri bestilt", $body, $headers);
}
?>

Jeg modtager også en mail, men selve billedet som jeg sender vedhæfter er ikke med mailen...
Den skriver også følgende fejl når jeg trykker på send:

Warning: open_basedir restriction in effect. File is in wrong directory in /usr/www/laxy_dk/dennis/test/foto/txtfiler/txtbestilling.php on line 32

Warning: fopen("/tmp/phpIyzk4D", "r") - Operation not permitted in /usr/www/laxy_dk/dennis/test/foto/txtfiler/txtbestilling.php on line 32

Warning: Supplied argument is not a valid File-Handle resource in /usr/www/laxy_dk/dennis/test/foto/txtfiler/txtbestilling.php on line 34
Avatar billede gizmo1234 Nybegynder
07. december 2003 - 00:43 #4
Nå, lukker så
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