Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedosto sähköpostiin lomakkeen kautta (PHP)

Sivun loppuun

riiali [09.05.2006 14:00:44]

#

Miten mä saan tehtyä ihan normaalista webbilomakkeesta sellaisen, että sillä voi myös lähettää yhden kuvan viestin lisäksi suoraan sähköpostiin??

Lebe80 [09.05.2006 14:37:37]

#

Teet normaalin webilomakkeen, johon lisäät vielä

<input type="file" name="tiedosto" />

Lisäksi tietoa tiedostojen uploadamisesta php:lla:
https://www.php.net/features.file-upload

jgz [09.05.2006 23:51:39]

#

Jos vain englanti sujuu, niin tuolla on juttua liitetiedoston lähettämisestä php:llä.

http://www.sitepoint.com/article/advanced-email-php/5

riiali [10.05.2006 11:44:38]

#

jgz kirjoitti:

Jos vain englanti sujuu, niin tuolla on juttua liitetiedoston lähettämisestä php:llä.

http://www.sitepoint.com/article/advanced-email-php/5

Joo ton avulla saan lähettyä kyllä ton mailin kuvian kanssa, mutta nyt jostain kummasta kun lisään jotain muita kenttiä lomakkeeseen tuo kuvan lähety sekoaa heti ja kuva tulee koodina!
Onko tossa jokin kikka miten tuohon pitää lisätä noita muita tietueita??

Antti Laaksonen [10.05.2006 12:22:14]

#

Lomakkeen muilla kentillä ei pitäisi olla vaikutusta.

Voitko laittaa näkyville lomakkeen HTML-koodin ja sähköpostin lähettävän PHP-skriptin? Muuten ongelman syytä on vaikea keksiä.

riiali [11.05.2006 14:20:22]

#

tässä ekana tää php-koodin pätkä!

<?php

// Palautelomakkeen käsittelijä  - versio 2005-04-06

if (eregi("http://www.xxx.xx/xxx.html", $_SERVER['HTTP_REFERER']))
{
// OK
}


else
{
exit("Lomakkeen lähetys epäonnistui.");
}

$Yritys = $_POST['Yritys'];
$Etunimi = $_POST['Etunimi'];
$Sukunimi = $_POST['Sukunimi'];
$Osoite = $_POST['Osoite'];
$Toimipaikka = $_POST['Toimipaikka'];
$Puhelin = $_POST['Puhelin'];
$Email = $_POST['Email'];
$Otsikko = $_POST['Otsikko'];
$Teksti = $_POST['Teksti'];

// Obtain file upload vars
$fileatt      = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

if (is_uploaded_file($fileatt)) {
  // Read the file to be attached ('rb' = read binary)
  $file = fopen($fileatt,'rb');
  $data = fread($file,filesize($fileatt));
  fclose($file);

  // Generate a boundary string
  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

  // Add a multipart boundary above the plain message
  $Tekti= "This is a multi-part message in MIME format.\n\n" .
             "--{$mime_boundary}\n" .
             "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
             "Content-Transfer-Encoding: 7bit\n\n" .
             $Teksti . "\n\n";

  // Base64 encode the file data
  $data = chunk_split(base64_encode($data));

  // Add file attachment to the message
  $Teksti .= "--{$mime_boundary}\n" .
              "Content-Type: {$fileatt_type};\n" .
              " name=\"{$fileatt_name}\"\n" .
              //"Content-Disposition: attachment;\n" .
              //" filename=\"{$fileatt_name}\"\n" .
              "Content-Transfer-Encoding: base64\n\n" .
              $data . "\n\n" .
              "--{$mime_boundary}--\n";
}

$etnimi = strip_tags($Etunimi);
$sknimi = strip_tags($Sukunimi);
$sahkopos = strip_tags($Email);
$otsik = strip_tags($Otsikko);

$emailosoite = "xxx@xxx.xxx";
$ip = $_SERVER['REMOTE_ADDR'];
$ipkaksi = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$aika = date('d.m.Y H:i:s');

mail("$emailosoite", "$otsik","

ILMOITUS AVAINTORILLE:

ILMOITUS - $otsik
Ilmoitus jätetty: $aika

Yritys: $Yritys
Etu- ja Sukunimi: $etnimi $sknimi
Osoite: $Osoite
Postinumero ja toimipaikka: $Toimipaikka
Puhelinnumero: $Puhelin
Sähköposti: $sahkopos

Viesti:
$Teksti

IP-osoite: $ip
2. IP-osoite: $ipkaksi

","From: $sahkopos");

exit ("Kiitos palautteestasi.");

?>

ja tässä html-koodi

<form action="palautekasittely.php" method="post" enctype="multipart/form-data">
                          <table width="100%" border="0" align="center" cellspacing="5">
                            <tbody>
                              <tr>
                                <td align="right" height="2" valign="middle"><div align="left">Yritys:</div></td>
                                <td align="left" height="2" valign="top"><input name="Yritys" type="text" id="Yritys" size="30" /></td>
                              </tr>
                              <tr>
                                <td height="2" valign="middle" width="52%"><div align="left">Etunimi:*</div></td>
                                <td align="left" height="2" valign="top" width="48%"><input name="Etunimi" type="text" id="Etunimi" size="30" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="14" valign="middle"><div align="left">Sukunimi:*</div></td>
                                <td align="left" height="14" valign="top"><input name="Sukunimi" type="text" id="Sukunimi" size="30" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="14" valign="middle" width="52%"><div align="left">Osoite:</div></td>
                                <td align="left" height="14" valign="top" width="48%"><input name="Osoite" type="text" id="Osoite" size="30" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="8" valign="middle" width="52%"><div align="left">Postinumero ja -toimipaikka:</div></td>
                                <td align="left" height="8" valign="top" width="48%"><input name="Toimipaikka" type="text" id="Toimipaikka" size="30" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="17" valign="middle" width="52%"><div align="left">Puhelin:</div></td>
                                <td align="left" height="17" valign="top" width="48%"><input name="Puhelin" type="text" id="Puhelin" size="30" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="17" valign="middle"><div align="left">S&auml;hk&ouml;postiosoite:*</div></td>
                                <td align="left" height="17" valign="top"><input name="Email" type="text" id="Email" size="30" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="24" valign="top"><div align="left">Otsikko:*</div></td>
                                <td align="left" height="24" valign="top"><input name="Otsikko" type="text" id="Otsikko" size="30" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="104" valign="top" width="52%"><div align="left">Muuta huomioitavaa: * </div></td>
                                <td align="left" height="104" valign="top" width="48%"><textarea name="Teksti" cols="30" rows="5" id="Teksti"></textarea></td>
                              </tr>
                              <tr>
                                <td align="right" height="5" valign="top"><div align="left">ilmoituksen kuva : </div></td>
                                <td align="left" height="5" valign="top"><input type="file" name="fileatt" /></td>
                              </tr>
                              <tr>
                                <td align="right" height="5" valign="top" width="52%">&nbsp;</td>
                                <td align="left" height="5" valign="top" width="48%"><input value="L&auml;het&auml;" name="Submit" type="submit" />
                                    <input value="Tyhjenn&auml;" name="reset" type="reset" />                                </td>
                              </tr>
                            </tbody>
                          </table>
                    </form>

Mod. edit: vinkiksi tulevaisuutta varten: kooditagit

riiali [14.05.2006 22:04:39]

#

kukaan keksinyt, että missä ongelma? Mä en vaan saa millään toimii tota php.tä....

lahtis [19.05.2006 12:53:38]

#

Eikös ton pitäsi olla oikeasti noin.

<?php

// Palautelomakkeen käsittelijä  - versio 2005-04-06

if (eregi("http://www.xxx.xx/xxx.html", $_SERVER['HTTP_REFERER']))
{
$Yritys = $_POST['Yritys'];
$Etunimi = $_POST['Etunimi'];
$Sukunimi = $_POST['Sukunimi'];
$Osoite = $_POST['Osoite'];
$Toimipaikka = $_POST['Toimipaikka'];
$Puhelin = $_POST['Puhelin'];
$Email = $_POST['Email'];
$Otsikko = $_POST['Otsikko'];
$Teksti = $_POST['Teksti'];

// Obtain file upload vars
$fileatt      = $_FILES['fileatt']['tmp_name'];

.....


} else {
exit("Lomakkeen lähetys epäonnistui.");
}
?>

itse tekisin sen noin.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta