Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Brak polskich znaków w przysyłanym mailu z formularza
Forum PHP.pl > Forum > Przedszkole
klakier666
mam problem lekki haha.gif nie wyswietla mi w przysylanym emailu wogole a wogole PL znakow moze ktos pomoze .... wklejam kod php skryptu odpowiedzialnego za wysylanie
Kod
<?php

$subject = 'Formularz zgloszeniowy';            
$emailadd = 'email';      
$url = 'http://www.';              
$req = '0';                                


$text = "rezultat formularza:\n\n";      
//$space = '  ';
$line = '
';
foreach ($_POST as $key => $value)
{
     if ($req == '1')
     {
         if ($value == '')
         {echo "$key jest puste";die;}
     }
     $j = strlen($key);
         if ($j >= 20000)
         {echo "nazwa elementu $key nie moze zawierac wiecej niz 20000 znakow";die;}
     $j = 20 - $j;
         for ($i = 1; $i <= $j; $i++)
         {$space .= ' ';}
     $value = str_replace('\n', "$line", $value);
     $conc = "{$key}:$space{$value}$line";
     $text .= $conc;
     $space = '  ';
}
mail($emailadd, $subject, $text, 'From: '.$emailadd.'');

echo '<META HTTP-EQUIV=Refresh "Content-Type" CONTENT="0; URL='.$url.'">';
?>
JoShiMa
Jeśli chcesz mieć poprawnie zakodowane polskie znaki to zrób coś takiego:
  1. <?php
  2. $naglowek = "From: <nadawca@serwer.pl>\n";
  3. $naglowek .= "Content-Type: text/plain;\n";
  4. $naglowek .= "\tcharset=\"iso-8859-2\"\n";
  5. $naglowek .= "Content-Transfer-Encoding: 8bit\n";
  6. mail($do, $temat, $tresc, $naglowek);
  7. ?>
klakier666
mam to wstawic w aktualny kod ? ... ps 2 pytanie czy jest mozliwosc dodac do tego kodu funkcji przesylania plikow w zalaczniku ? przerobil by mi to ktos ?
JoShiMa
Cytat
mam to wstawic w aktualny kod ?

Oczywiście. W Twoim kodzie jakoś tam tworzysz odbiorcę i treść. To co Ci pokazałam to przykład. Po prostu u siebie musisz zmienić w funkcji mail nagłówek, którego konstrukcję Ci pokazałam.

Co do załącznika to pogłówkuj nad tym.
  1. <?php
  2. $naglowki = "From: $nadawca_imie <$nadawca_email>\n";
  3. $naglowki .= "MIME-Version: 1.0\n";
  4. $naglowki .= "Content-Type: multipart/mixed;\n";
  5. $naglowki .= "\tboundary=\"___$znacznik==\"";
  6.  
  7. // nagłówki listu
  8. $tresc="--___$znacznik==\n";
  9. $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  10. $tresc .="Content-Transfer-Encoding: 8bit\n";
  11. $tresc .="\n$tresclistu\n";
  12.  
  13. // nagłówki i obsługa załącznika
  14. $tresc .="--___$znacznik==\n";
  15. $tresc .="Content-Type: $typpliku\n";
  16. $tresc .="Content-Disposition: attachment;\n";
  17. $tresc .=" filename=\"$nazwapliku\"\n";
  18. $tresc .="Content-Transfer-Encoding: base64\n\n";
  19. $f = fopen($plik,"r");
  20. $dane = fread($f,filesize($plik));
  21. fclose($f);
  22. $tresc .= chunk_split(base64_encode($dane));
  23. $tresc .="--___$znacznik==--\n";
  24.  
  25. // wysłanie listu
  26. mail($odbiorca,$tytul,$tresc,$naglowki);
  27. ?>


I pamiętaj. Więcej się nauczysz jak sam dostosujesz to do swojego kodu niż jak ktoś to za Ciebie zrobi smile.gif
klakier666
mam cos takiego teraz ... pl znaki nie dzialaja .... why ? any idea ?
  1. <?php
  2. $where_form_is=&#092;"http://\".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),\"/\"));
  3.  
  4.  
  5.  // File upload
  6.  if($_FILES['field_24']['name']!=''){
  7.  $field_24_filename = &#092;"file_24_\".date(\"sihdmY\").substr($_FILES['field_24']['name'],strlen($_FILES['field_24']['name'])-4);
  8.  if(!move_uploaded_file($_FILES['field_24']['tmp_name'], &#092;"./files/\".$field_24_filename)){
  9.  die(&#092;"File \" . $_FILES['field_24']['name'] . \" was not uploaded.\");
  10.  }
  11.  }
  12.  
  13.  
  14.  // Checkbox
  15.  $field_25_opts = $_POST['field_25'][0].&#092;",\". $_POST['field_25'][1];
  16.  
  17.  // Checkbox 
  18.  $field_27_opts = $_POST['field_27'][0].&#092;",\". $_POST['field_27'][1];
  19.  
  20.  include(&#092;"config.inc.php\");
  21.  $link = mysql_connect($db_host,$db_user,$db_pass);
  22.  if(!$link) die ('Could not connect to database: '.mysql_error());
  23.  mysql_select_db($db_name,$link);
  24.  $query = &#092;"INSERT into `\".$db_table.\"` (field_1,field_2,field_3,field_4,field_5,field_6,field_7,field_8,field_9,fie
    l
  25. _10,field_11,field_12,field_13,field_14,field_15,field_16,field_17,field_18
  26. fiel
  27. _19,field_20,field_21,field_22,field_23,field_24,field_25,field_26,field_27) VALUES ('\" . $_POST['field_1'] . \"','\" . $_POST['field_2'] . \"','\" . $_POST['field_3'] . \"','\" . $_POST['field_4'] . \"','\" . $_POST['field_5'] . \"','\" . $_POST['field_6'] . \"','\" . $_POST['field_7'] . \"','\" . $_POST['field_8'] . \"','\" . $_POST['field_9'] . \"','\" . $_POST['field_10'] . \"','\" . $_POST['field_11'] . \"','\" . $_POST['field_12'] . \"','\" . $_POST['field_13'] . \"','\" . $_POST['field_14'] . \"','\" . $_POST['field_15'] . \"','\" . $_POST['field_16'] . \"','\" . $_POST['field_17'] . \"','\" . $_POST['field_18'] . \"','\" . $_POST['field_19'] . \"','\" . $_POST['field_20'] . \"','\" . $_POST['field_21'] . \"','\" . $_POST['field_22'] . \"','\" . $_POST['field_23'] . \"','\" . $_POST['field_24'] . \"','\" . $_POST['field_25'] . \"','\" . $_POST['field_26'] . \"','\" . $_POST['field_27'] . \"')&#092;";
  28.  mysql_query($query);
  29.  mysql_close($link);
  30.  
  31.  
  32.  $tresclistu=&#092;"Form data:
  33.  
  34.  Dokładna nazwa przedszkola: &#092;" . $_POST['field_1'] . \" 
  35.  Województwo: &#092;" . $_POST['field_2'] . \" 
  36.  Miasto: &#092;" . $_POST['field_3'] . \" 
  37.  Kod pocztowy: &#092;" . $_POST['field_4'] . \" 
  38.  Dokładny adres: &#092;" . $_POST['field_5'] . \" 
  39.  Telefon kontaktowy: &#092;" . $_POST['field_6'] . \" 
  40.  Adres e-mail: &#092;" . $_POST['field_7'] . \" 
  41.  Fax: &#092;" . $_POST['field_8'] . \" 
  42.  NIP: &#092;" . $_POST['field_9'] . \" 
  43.  Adres strony internetowej przedszkola: &#092;" . $_POST['field_10'] . \" 
  44.  Historia przedszkola: &#092;" . $_POST['field_11'] . \" 
  45.  Oddziały: &#092;" . $_POST['field_12'] . \" 
  46.  Kadra pedagogiczna: &#092;" . $_POST['field_13'] . \" 
  47.  Atrybuty przedszkola: &#092;" . $_POST['field_14'] . \" 
  48.  Oferta edukacyjna: &#092;" . $_POST['field_15'] . \" 
  49.  Zajęcia dodatkowe: &#092;" . $_POST['field_16'] . \" 
  50.  Harmonogram dnia: &#092;" . $_POST['field_17'] . \" 
  51.  Misja i wizja przedszkola: &#092;" . $_POST['field_18'] . \" 
  52.  Priorytety na dany rok: &#092;" . $_POST['field_19'] . \" 
  53.  Osiągnięcia: &#092;" . $_POST['field_20'] . \" 
  54.  Konkursy: &#092;" . $_POST['field_21'] . \" 
  55.  Rankingi: &#092;" . $_POST['field_22'] . \" 
  56.  O nas w prasie: &#092;" . $_POST['field_23'] . \" 
  57.  Zbiór fotografi: &#092;".$where_form_is.\"files/\".$field_24_filename.\" (original file name: \" . $_FILES['field_24']['name'] . \")
  58.  Zgoda na przetwarzanie danych: $field_25_opts
  59.  REGON: &#092;" . $_POST['field_26'] . \" 
  60.  Zgoda umowy oraz potwierdzenie: $field_27_opts
  61.  
  62.  
  63.  Script by Miłosz Klawa aka klakier666.
  64.  &#092;";
  65.  $znacznik = 'klakier';
  66.  $nadawca_imie = 'Klakier';
  67.  $nadawca_email = 'klakier_gm@o2.pl';
  68.  
  69.  $naglowki = &#092;"From: $nadawca_imie <$nadawca_email>\n\";
  70.  $naglowki .= &#092;"MIME-Version: 1.0\n\";
  71.  $naglowki .= &#092;"Content-Type: multipart/mixed;\n\";
  72.  $naglowki .= &#092;"\tboundary=\"___$znacznik==\"\";
  73.  
  74.  // nagłówki listu
  75.  $tresc=&#092;"--___$znacznik==\n\";
  76.  $tresc .=&#092;"Content-Type: text/plain; charset=\"iso-8859-2\"\n\";
  77.  $tresc .=&#092;"Content-Transfer-Encoding: 8bit\n\";
  78.  $tresc .=&#092;"\n$tresclistu\n\";
  79.  
  80. // nagłówki i obsługa załącznika
  81.  $typpliku = 'text/plain';
  82.  $nazwapliku = 'attachment.txt';
  83.  $tresc .=&#092;"--___$znacznik==\n\";
  84.  $tresc .=&#092;"Content-Type: $typpliku\n\";
  85.  $tresc .=&#092;"Content-Disposition: attachment;\n\";
  86.  $tresc .=&#092;" filename=\"$nazwapliku\"\n\";
  87.  $tresc .=&#092;"Content-Transfer-Encoding: base64\n\n\";
  88.  $f = fopen($plik,&#092;"r\");
  89.  $dane = fread($f,filesize($plik));
  90.  fclose($f);
  91.  $tresc .= chunk_split(base64_encode($dane));
  92.  $tresc .=&#092;"--___$znacznik==--\n\";  
  93.  
  94.  
  95.  // wysłanie listu
  96.  
  97.  mail(&#092;"klakier_gm@o2.pl\",\"Formularz rejestracyjny\",$tresc,$naglowki);
  98.  
  99.  include(&#092;"confirm.html\");
  100.  
  101.  ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.