Problem jest z formularzem - nie wysyla e-maila i wyskakuje 'fail' . Do sprawdzenia na www.gmakademia.yoyo.pl/kontakt.php i o poprawe aby wysylal wszystkie informacje w e-mailu.
Formularz.php
Kod
<form action="#strona#" method="post" id="formularz">
<div>
<label>Imię : <span class="red">*</span></label>
<input type="text" id="imie" name="imie" value="#imie#" />
</div>
<div>
<label>Nazwisko: <span class="red">*</span></label>
<input type="text" id="nazwisko" name="nazwisko" value="#nazwisko#" />
</div>
<div>
<label>Adres e-mail: <span class="red">*</span></label>
<input type="text" id="mail" name="mail" value="#mail#" />
</div>
<div>
<label>Telefon: <span class="red">*</span></label>
<input type="text" id="telefon" name="telefon" value="#telefon#" />
</div>
<div>
<label>Firma: <span class="red">*</span></label>
<input type="text" id="firma" name="firma" value="#firma#" />
</div>
<div>
<label>Adres: <span class="red">*</span></label>
<input type="text" id="adres" name="adres" value="#adres#" />
</div>
<div>
<label>Miasto: <span class="red">*</span></label>
<input type="text" id="miasto" name="miasto" value="#miasto#" />
</div>
<div>
<label>Województwo/Region: <span class="red">*</span></label>
<select name="Wojewodztwo/region" size="1" value="#region#">
<option value="Biała Podlaska">Biala Podlaska
<option value="Bialystok">Bialystok
<option value="Bielsko-Biała">Bielsko-Biała
<option value="Bydgoszcz">Bydgoszcz
<option value="Chełm">Chełm
<option value="Ciechanów">Ciechanów
<option value="Częstochowa">Częstochowa
<option value="Elbląg">Elbląg
<option value="Gdańsk">Gdańsk
<option value="Gorzów">Gorzów
<option value="Jelenia Góra">Jelenia Góra
<option value="Kalisz">Kalisz
<option value="Katowice">Katowice
<option value="Kielce">Kielce
<option value="Konin">Konin
<option value="Koszalin">Koszalin
<option value="Kraków">Kraków
<option value="Krosno">Krosno
<option value="Legnica">Legnica
<option value="Leszno">Leszno
<option value="Łódź">Łódź
<option value="Łomża">Łomża
<option value="Lublin">Lublin
<option value="Nowy Sącz">Nowy Sącz
<option value="Olsztyn">Olsztyn
<option value="Opole">Opole
<option value="Ostrołęka">Ostrołęka
<option value="Piła">Piła
<option value="Piotrków">Piotrków
<option value="Płock">Płock
<option value="Poznań">Poznań
<option value="Przemyśl">Przemyśl
<option value="Radom">Radom
<option value="Rzeszów">Rzeszów
<option value="Siedlce">Siedlce
<option value="Sieradz">Sieradz
<option value="Skierniewice">Skierniewice
<option value="Słups">Słupsk
<option value="Suwałki">Suwałki
<option value="Szczecin">Szczecin
<option value="Tarnobrzeg">Tarnobrzeg
<option value="Tarnów">Tarnów
<option value="Toruń">Toruń
<option value="Wałbrzych">Wałbrzych
<option value="Warszawa">Warszawa
<option value="Włocławek">Włocławek
<option value="Wrocław">Wrocław
<option value="Zamość">Zamość
<option value="Zielona Góra">Zielona Góra
</select>
</select>
</div>
<div>
<span class="red">*</span> - oznacza pola wymagane.
</div>
<div>
<input type="submit" value="Wyślij" />
</div>
</form>
<div>
<label>Imię : <span class="red">*</span></label>
<input type="text" id="imie" name="imie" value="#imie#" />
</div>
<div>
<label>Nazwisko: <span class="red">*</span></label>
<input type="text" id="nazwisko" name="nazwisko" value="#nazwisko#" />
</div>
<div>
<label>Adres e-mail: <span class="red">*</span></label>
<input type="text" id="mail" name="mail" value="#mail#" />
</div>
<div>
<label>Telefon: <span class="red">*</span></label>
<input type="text" id="telefon" name="telefon" value="#telefon#" />
</div>
<div>
<label>Firma: <span class="red">*</span></label>
<input type="text" id="firma" name="firma" value="#firma#" />
</div>
<div>
<label>Adres: <span class="red">*</span></label>
<input type="text" id="adres" name="adres" value="#adres#" />
</div>
<div>
<label>Miasto: <span class="red">*</span></label>
<input type="text" id="miasto" name="miasto" value="#miasto#" />
</div>
<div>
<label>Województwo/Region: <span class="red">*</span></label>
<select name="Wojewodztwo/region" size="1" value="#region#">
<option value="Biała Podlaska">Biala Podlaska
<option value="Bialystok">Bialystok
<option value="Bielsko-Biała">Bielsko-Biała
<option value="Bydgoszcz">Bydgoszcz
<option value="Chełm">Chełm
<option value="Ciechanów">Ciechanów
<option value="Częstochowa">Częstochowa
<option value="Elbląg">Elbląg
<option value="Gdańsk">Gdańsk
<option value="Gorzów">Gorzów
<option value="Jelenia Góra">Jelenia Góra
<option value="Kalisz">Kalisz
<option value="Katowice">Katowice
<option value="Kielce">Kielce
<option value="Konin">Konin
<option value="Koszalin">Koszalin
<option value="Kraków">Kraków
<option value="Krosno">Krosno
<option value="Legnica">Legnica
<option value="Leszno">Leszno
<option value="Łódź">Łódź
<option value="Łomża">Łomża
<option value="Lublin">Lublin
<option value="Nowy Sącz">Nowy Sącz
<option value="Olsztyn">Olsztyn
<option value="Opole">Opole
<option value="Ostrołęka">Ostrołęka
<option value="Piła">Piła
<option value="Piotrków">Piotrków
<option value="Płock">Płock
<option value="Poznań">Poznań
<option value="Przemyśl">Przemyśl
<option value="Radom">Radom
<option value="Rzeszów">Rzeszów
<option value="Siedlce">Siedlce
<option value="Sieradz">Sieradz
<option value="Skierniewice">Skierniewice
<option value="Słups">Słupsk
<option value="Suwałki">Suwałki
<option value="Szczecin">Szczecin
<option value="Tarnobrzeg">Tarnobrzeg
<option value="Tarnów">Tarnów
<option value="Toruń">Toruń
<option value="Wałbrzych">Wałbrzych
<option value="Warszawa">Warszawa
<option value="Włocławek">Włocławek
<option value="Wrocław">Wrocław
<option value="Zamość">Zamość
<option value="Zielona Góra">Zielona Góra
</select>
</select>
</div>
<div>
<span class="red">*</span> - oznacza pola wymagane.
</div>
<div>
<input type="submit" value="Wyślij" />
</div>
</form>
mail.php
Kod
<?php
include ('formularz/ustawienia.php');
ob_start();
include('formularz/formularz.php');
$formularz = ob_get_contents();
ob_end_clean();
function wyswietl_forme($komunikat='') {
global $formularz;
$do_zmiany = array(
'#komunikat#',
'#strona#',
'#imie#',
'#nazwisko#',
'#mail#',
'#telefon#',
'#firma#',
'#adres#',
'#miasto#',
'#region#'
);
$zmien_na = array(
$komunikat,
$_SERVER['REQUEST_URI'],
$_POST['imie'],
$_POST['nazwisko'],
$_POST['mail'],
$_POST['telefon'],
$_POST['firma'],
$_POST['adres'],
$_POST['miasto'],
$_POST['region']
);
$formularz = str_replace ( $do_zmiany, $zmien_na, $formularz);
return $formularz;
}
function waliduj() {
global $komunikat;
global $valid;
if( $valid['imie'] > 0 ) {
if(strlen($_POST['imie']) < $valid['imie'] ){
$walidacja['imie'] = $komunikat['imie'];
}
}
if( $valid['nazwisko'] > 0 ) {
if(strlen($_POST['nazwisko']) < $valid['nazwisko'] ){
$walidacja['nazwisko'] = $komunikat['nazwisko'];
}
}
if( $valid['mail'] == 0 ) {
if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) {
$walidacja['mail'] = $komunikat['mail'];
}
}
if( $valid['telefon'] > 0 ) {
if(strlen($_POST['telefon']) < $valid['telefon'] ){
$walidacja['telefon'] = $komunikat['telefon'];
}
}
if( $valid['firma'] > 0 ) {
if(strlen($_POST['firma']) < $valid['firma'] ){
$walidacja['firma'] = $komunikat['firma'];
}
}
if( $valid['adres'] > 0 ) {
if(strlen($_POST['adres']) < $valid['adres'] ){
$walidacja['adres'] = $komunikat['adres'];
}
}
if( $valid['miasto'] > 0 ) {
if(strlen($_POST['miasto']) < $valid['miasto'] ){
$walidacja['miasto'] = $komunikat['miasto'];
}
}
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['telefon'])."?=",'<p>Od: <b>'.$_POST['imie'].''.$_POST['nazwisko'].'</b><b>'.$_POST['nazwisko'].'</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();
}
?>
include ('formularz/ustawienia.php');
ob_start();
include('formularz/formularz.php');
$formularz = ob_get_contents();
ob_end_clean();
function wyswietl_forme($komunikat='') {
global $formularz;
$do_zmiany = array(
'#komunikat#',
'#strona#',
'#imie#',
'#nazwisko#',
'#mail#',
'#telefon#',
'#firma#',
'#adres#',
'#miasto#',
'#region#'
);
$zmien_na = array(
$komunikat,
$_SERVER['REQUEST_URI'],
$_POST['imie'],
$_POST['nazwisko'],
$_POST['mail'],
$_POST['telefon'],
$_POST['firma'],
$_POST['adres'],
$_POST['miasto'],
$_POST['region']
);
$formularz = str_replace ( $do_zmiany, $zmien_na, $formularz);
return $formularz;
}
function waliduj() {
global $komunikat;
global $valid;
if( $valid['imie'] > 0 ) {
if(strlen($_POST['imie']) < $valid['imie'] ){
$walidacja['imie'] = $komunikat['imie'];
}
}
if( $valid['nazwisko'] > 0 ) {
if(strlen($_POST['nazwisko']) < $valid['nazwisko'] ){
$walidacja['nazwisko'] = $komunikat['nazwisko'];
}
}
if( $valid['mail'] == 0 ) {
if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) {
$walidacja['mail'] = $komunikat['mail'];
}
}
if( $valid['telefon'] > 0 ) {
if(strlen($_POST['telefon']) < $valid['telefon'] ){
$walidacja['telefon'] = $komunikat['telefon'];
}
}
if( $valid['firma'] > 0 ) {
if(strlen($_POST['firma']) < $valid['firma'] ){
$walidacja['firma'] = $komunikat['firma'];
}
}
if( $valid['adres'] > 0 ) {
if(strlen($_POST['adres']) < $valid['adres'] ){
$walidacja['adres'] = $komunikat['adres'];
}
}
if( $valid['miasto'] > 0 ) {
if(strlen($_POST['miasto']) < $valid['miasto'] ){
$walidacja['miasto'] = $komunikat['miasto'];
}
}
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['telefon'])."?=",'<p>Od: <b>'.$_POST['imie'].''.$_POST['nazwisko'].'</b><b>'.$_POST['nazwisko'].'</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();
}
?>
ustawienia.php
Kod
<?php
/* Ustawienia formularza kontaktowego */
$adres_odbiorcy = 'filar1994@gmail.com'; //tu wpisz adres e-mail na który mają przychodzić wiadomości
/* Ustawienia wymaganych pól */
/* Pamiętaj, żeby oznaczyć wymagane pola w formularzu - plik formularz.php */
$valid['imie'] = 2; // Imie: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['nazwisko'] = 2; // Nazwisko: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['mail'] = 1; // e-mail: 0 - oznacza pole nieobowiązkowe, 1 - pole wymagane
$valid['telefon'] = 5; // Temat: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['firma'] = 1; // Firma: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['miasto'] = 5; // Miasto: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['region'] = 5; // Region: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
/* Komunikaty */
$komunikat['sukces'] = 'Dziękujemy. Twoja wiadomość została wysłana.'; //Wiadomość po udanym wysłaniu formularza
$komunikat['blad'] = 'W celu pobrania dema popraw poniższe błędy.'; //Wiadomość przy błędzie w sprawdzaniu danych, błędy zostaną wymienione poniżej
$komunikat['imie'] = 'Wpisz właściwe imię'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['nazwisko'] = 'Wpisz właściwe nazwisko'; //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['telefon'] = 'Wpisz poprawny numer telefonu'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['firma'] = 'Wpisz poprawną nazwe firmy'; //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
?>
/* Ustawienia formularza kontaktowego */
$adres_odbiorcy = 'filar1994@gmail.com'; //tu wpisz adres e-mail na który mają przychodzić wiadomości
/* Ustawienia wymaganych pól */
/* Pamiętaj, żeby oznaczyć wymagane pola w formularzu - plik formularz.php */
$valid['imie'] = 2; // Imie: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['nazwisko'] = 2; // Nazwisko: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['mail'] = 1; // e-mail: 0 - oznacza pole nieobowiązkowe, 1 - pole wymagane
$valid['telefon'] = 5; // Temat: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['firma'] = 1; // Firma: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['miasto'] = 5; // Miasto: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['region'] = 5; // Region: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
/* Komunikaty */
$komunikat['sukces'] = 'Dziękujemy. Twoja wiadomość została wysłana.'; //Wiadomość po udanym wysłaniu formularza
$komunikat['blad'] = 'W celu pobrania dema popraw poniższe błędy.'; //Wiadomość przy błędzie w sprawdzaniu danych, błędy zostaną wymienione poniżej
$komunikat['imie'] = 'Wpisz właściwe imię'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['nazwisko'] = 'Wpisz właściwe nazwisko'; //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['telefon'] = 'Wpisz poprawny numer telefonu'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['firma'] = 'Wpisz poprawną nazwe firmy'; //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
?>