W skrypcie php który posiadam coś nie działa. Mianowicie wysyła on maila ale pustego z samym tematem
Oto kod skryptu.
plik: ustawienia.php
Kod: Zaznacz cały
<?php
/* Ustawienia formularza kontaktowego */
$adres_odbiorcy = ''; //tu wpisz adres e-mail na który mają przychodzić wiadomości
/* Ustawienia wymaganych pól */
$valid['nick'] = 2 ;
$valid['mail'] = 1 ;
$valid['skype'] = 3 ;
$valid['kanal'] = 10 ;
/* Komunikaty */
$komunikat['sukces'] = 'Dziękujemy. Twoja wiadomość została wysłana.'; //Wiadomość po udanym wysłaniu formularza
$komunikat['blad'] = 'Wiadomość <b>NIE</b> została wysłana. Popraw poniższe błędy.'; //Wiadomość przy błędzie w sprawdzaniu danych, błędy zostaną wymienione poniżej
$komunikat['nick'] = 'Nick musi mieć min. 2 znaki.'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['mail'] = 'Podaj poprawny adres e-mail.'; //Wiadomość po błędnym wpisaniu adresu e-mail
$komunikat['skype'] = 'skype musi mieć min. 3 znaki.'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['kanal'] = 'link do kanału musi mieć min. 10 znaków'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['fail'] = 'Przepraszamy wystąpił chwilowy błąd. Spróbuj ponownie później'; //W przypadku nieudanego wyslania wiadomości np. błędu serwera
?>
Kod: Zaznacz cały
<?php
include ('ustawienia.php');
ob_start();
include('formularz.php');
$formularz = ob_get_contents();
ob_end_clean();
function wyswietl_forme($komunikat='') {
global $formularz;
$do_zmiany = array(
'#komunikat#',
'#strona#',
'#nick#',
'#mail#',
'#skype#',
'#kanal#',
'#typpracy#'
);
$zmien_na = array(
$komunikat,
$_SERVER['REQUEST_URI'],
$_POST['nick'],
$_POST['mail'],
$_POST['skype'],
$_POST['kanal'],
$_POST['typpracy'],
);
$formularz = str_replace ( $do_zmiany, $zmien_na, $formularz);
return $formularz;
}
function waliduj() {
global $komunikat;
global $valid;
if( $valid['nick'] > 0 ) {
if(strlen($_POST['nick']) < $valid['nick'] ){
$walidacja['nick'] = $komunikat['nick'];
}
}
if( $valid['mail'] == 1 ) {
if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) {
$walidacja['mail'] = $komunikat['mail'];
}
}
if( $valid['skype'] > 0 ) {
if(strlen($_POST['skype']) < $valid['skype'] ){
$walidacja['skype'] = $komunikat['skype'];
}
}
if( $valid['kanal'] > 0 ) {
if(strlen($_POST['kanal']) < $valid['kanal'] ){
$walidacja['kanal'] = $komunikat['kanal'];
}
}
if( $valid['typpracy'] > 0 ) {
if(strlen($_POST['typpracy']) < $valid['typpracy'] ){
$walidacja['typpracy'] = $komunikat['typpracy'];
}
}
if(empty($walidacja)) {
return 'true';
}else{
return $walidacja;
}
}
// Działanie
if (($_SERVER['REQUEST_METHOD'] == 'POST')) {// wejście postem
$walidacja = waliduj();
if ($walidacja == 'true'){ //poprawnie wypełniony formularz
if(mail($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['temat'])."?=",'<p>Od: <b>'.$_POST['nick'].'</b></p><pre>'.$_POST['tresc'].'</pre>','From:'.$_POST['mail']."\r\nContent-Type: text/html; charset=utf-8")){ //sukces
print '
<div id="sukces">
<p>'.$komunikat['sukces'].'</p>
</div>
';
}else{ //bląd serwera
print '
<div id="blad">
<p>'.$komunikat['fail'].'</p>
</div>
';
print wyswietl_forme();
}
}else{
//błędna walidacja
$blad_walidacji = $walidacja;
$blad_walidacji = '
<div id="blad">
<p>'.$komunikat['blad'].'</p>
<ul>
';
foreach ($walidacja as $wpis) {
$blad_walidacji .= '<li>'.$wpis.'</li>';
}
$blad_walidacji .= '
</ul>
</div>
';
print wyswietl_forme($blad_walidacji);
}
}else{
// nowe wejście
print wyswietl_forme();
}
?>
Kod: Zaznacz cały
#komunikat#
<form action="#strona#" method="post" id="formularz">
<div>
<label>Nick: <span class="red">*</span></label>
<input type="text" id="nick" name="nick" value="#nick#" />
</div>
<div>
<label>Adres e-mail: <span class="red">*</span></label>
<input type="text" id="mail" name="mail" value="#mail#" />
</div>
<div>
<label>skype: <span class="red">*</span></label>
<input type="text" id="skype" name="skype" value="#skype#" />
</div>
<div>
<label>link do kanału: <span class="red">*</span></label>
<input type="text" id="kanal" name="kanal" value="#kanal#" />
</div>
<div>
<label>Typ pracy: <span class="red">*</span></label>
<input type="radio" id="typpracy" name="typpracy" value="animacja" />animacja
<input type="radio" id="typpracy" name="typpracy" value="grafika" />grafika
</div>
<div>
<span class="red">*</span> - oznacza pola wymagane.
</div>
<div>
<input type="submit" value="Wyślij" />
</div>
</form>
Pozdrawiam,
Crevusel