Tuż znów chciałbym poprosić Was o pomoc, a mianowicie:
Wgrałem formularz kontaktowy na swoją stronę, wszystko działa, wysyła, jest okej. Troszkę się z tym męczyłem i nic mi się nie udało więc piszę tutaj. Chciałbym do mojego formularza dodać kilka wolnych pól, które przychodziły by w mailu w treści wiadomości, nie idzie mi gdyż nie znam się ani trochę na php. Myślę, że nie jest to trudne i nie zajmie to dłuższej chwili dla zaawansowanych.
Formularz obecnie wygląda tak:

Chciałbym dodać kilka pól identycznych jak pole pod napisem Temat:, tylko zależy mi aby wszystko co do nich zostało wpisane przychodziło w treści wiadomości. Jeszcze raz proszę o pomoc, poniżej kod całego formularza.
ustawienia.php
Spoiler
<?php
/* Ustawienia formularza kontaktowego */
$adres_odbiorcy = 'najsesl@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['nick'] = 2 ; // Nick: 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['temat'] = 3 ; // Temat: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['tresc'] = 5 ; // Treść: 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'] = '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['temat'] = 'Temat musi mieć min. 3 znaki.'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['tresc'] = 'Treść musi mieć min. 5 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
?>
<?php
/* Ustawienia formularza kontaktowego */
$adres_odbiorcy = 'najsesl@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['nick'] = 2 ; // Nick: 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['temat'] = 3 ; // Temat: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik
$valid['tresc'] = 5 ; // Treść: 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'] = '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['temat'] = 'Temat musi mieć min. 3 znaki.'; //Wpisz właściwą ilość znaków jeśli pole wymagane
$komunikat['tresc'] = 'Treść musi mieć min. 5 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
?>
formularz.php
Spoiler
#komunikat#
<form action="#strona#" method="post" id="formularz">
<div>
<label><font color="#FFFFFF">Nick / Imię i nazwisko:</label>
<input type="text" id="nick" name="nick" value="#nick#" />
</div>
<div>
<label>Adres e-mail:</label>
<input type="text" id="mail" name="mail" value="#mail#" />
</div>
<div>
<label>Temat:</label>
<input type="text" id="temat" name="temat" value="#temat#" />
</div>
<div>
<label>Treść:</font></label>
<textarea cols="27" rows="10" id="tresc" name="tresc" >#tresc#</textarea>
</div>
<div>
<input type="submit" value="Wyślij" />
</div>
</form>
#komunikat#
<form action="#strona#" method="post" id="formularz">
<div>
<label><font color="#FFFFFF">Nick / Imię i nazwisko:</label>
<input type="text" id="nick" name="nick" value="#nick#" />
</div>
<div>
<label>Adres e-mail:</label>
<input type="text" id="mail" name="mail" value="#mail#" />
</div>
<div>
<label>Temat:</label>
<input type="text" id="temat" name="temat" value="#temat#" />
</div>
<div>
<label>Treść:</font></label>
<textarea cols="27" rows="10" id="tresc" name="tresc" >#tresc#</textarea>
</div>
<div>
<input type="submit" value="Wyślij" />
</div>
</form>
mail.php
Spoiler
<?php
/*************************************************************************************/
/* Licencja na użytek prywatny i komercyjny. */
/* Wymaga pozostawiania poniższych danych o autorze i pochodzeniu skryptu. */
/* Autor: Labsta.com Laboratorium Designu */
/* Skrypt pochodzi ze strony http://websta.pl - Blog o grafice i projektowaniu stron */
/* 03/02/2010 */
/*************************************************************************************/
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#',
'#temat#',
'#tresc#'
);
$zmien_na = array(
$komunikat,
$_SERVER['REQUEST_URI'],
$_POST['nick'],
$_POST['mail'],
$_POST['temat'],
$_POST['tresc']
);
$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['temat'] > 0 ) {
if(strlen($_POST['temat']) < $valid['temat'] ){
$walidacja['temat'] = $komunikat['temat'];
}
}
if( $valid['tresc'] > 0 ) {
if(strlen($_POST['tresc']) < $valid['tresc'] ){
$walidacja['tresc'] = $komunikat['tresc'];
}
}
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();
}
?>
<?php
/*************************************************************************************/
/* Licencja na użytek prywatny i komercyjny. */
/* Wymaga pozostawiania poniższych danych o autorze i pochodzeniu skryptu. */
/* Autor: Labsta.com Laboratorium Designu */
/* Skrypt pochodzi ze strony http://websta.pl - Blog o grafice i projektowaniu stron */
/* 03/02/2010 */
/*************************************************************************************/
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#',
'#temat#',
'#tresc#'
);
$zmien_na = array(
$komunikat,
$_SERVER['REQUEST_URI'],
$_POST['nick'],
$_POST['mail'],
$_POST['temat'],
$_POST['tresc']
);
$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['temat'] > 0 ) {
if(strlen($_POST['temat']) < $valid['temat'] ){
$walidacja['temat'] = $komunikat['temat'];
}
}
if( $valid['tresc'] > 0 ) {
if(strlen($_POST['tresc']) < $valid['tresc'] ){
$walidacja['tresc'] = $komunikat['tresc'];
}
}
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();
}
?>
formularz.css
Spoiler
body {
}
a:focus {
outline:none; /*usuwanie niebieskiej obwódki w FF*/
}
#kontener {
}
#formularz {
}
#formularz div {
}
#formularz label {
font-family:Tahoma, Geneva, sans-serif;
font-size: 11px;
display: block;
font-weight: bold;
}
#formularz textarea {
border-radius: 4px;
border-style: solid;
border-color: #ABABAB;
border-width: 1px;
}
#formularz input[type=text] {
border-radius: 4px;
border-style: solid;
border-color: #ABABAB;
border-width: 1px;
}
#blad {
background: #ff0000;
padding: 10px;
}
#blad p{
}
#sukces {
}
#sukces p{
}
.red {
color: #ff0000;
}
.forma {
background-color: #131313;
margin: 0 auto;
width: 680px;
height: 500px;
border-radius: 10px;
display: block;
margin-top: 5px;
}
body {
}
a:focus {
outline:none; /*usuwanie niebieskiej obwódki w FF*/
}
#kontener {
}
#formularz {
}
#formularz div {
}
#formularz label {
font-family:Tahoma, Geneva, sans-serif;
font-size: 11px;
display: block;
font-weight: bold;
}
#formularz textarea {
border-radius: 4px;
border-style: solid;
border-color: #ABABAB;
border-width: 1px;
}
#formularz input[type=text] {
border-radius: 4px;
border-style: solid;
border-color: #ABABAB;
border-width: 1px;
}
#blad {
background: #ff0000;
padding: 10px;
}
#blad p{
}
#sukces {
}
#sukces p{
}
.red {
color: #ff0000;
}
.forma {
background-color: #131313;
margin: 0 auto;
width: 680px;
height: 500px;
border-radius: 10px;
display: block;
margin-top: 5px;
}
Pozdrawiam.














