Programista nie jestem, mam podstawy html, ale na php poległem i nie mam czasu zgłębiać całego języka.
Doszedłem do jak powstawiać pola wymagane, sprawdzanie e-mail i wsio działa.
Utknąłem na kawałku kodu pobranym z netu - jeżeli jest któreś pole źle wypełnione przenosi na inna stronę (jak podam ta na której jest formularz nic się nie dzieje) z komunikatem o błędzie w formularzu a ja chciał bym żeby pozostał na tej samej, podobnie po wysłaniu poprawnego e-maila.
Nie mogę ruszyć z miejsca sprawdzenia nr telefonu - zero reakcji czego bym nie wpisał
Podobnie z załącznikiem - mogę dodać ale go nie wysyła.
Jak by ktos rzucił okiem na ten chaos będę wdzięczny
Kod
<?php
if(empty($_POST['submit'])){
?>
<form action="http://www.firma-krzak.pl/zalacznik.php" method="post"> <!--nazwa strony na której znajduje sie formularz-->
<table>
<tr><td class="prawy">Imie i Nazwisko <br>lub nazwa firmy:</td>
<td><input type="text" name="nazwa" style="width:300px;"/></td></tr>
<tr><td class="prawy">Kod pocztowy:</td>
<td><input type="text" name="kod" style="width:100px;"/></td></tr>
<tr><td class="prawy">Adres e-mail:</td>
<td><input type="text" name="email" style="width:300px;"/></td></tr>
<tr><td class="prawy">Telefon:</td>
<td><input type="text" name="tel" style="width:300px;"/></td></tr>
<tr><td class="prawy">Tresc wiadomosci:</td>
<td><textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px;"></textarea></td></tr>
<tr><td class="prawy">Wybierz adresata:</td>
<td><select name="odbiorca" style="width:300px;">
<option>biuro@firma-krzak.pl</option>
<option>projektowanie@firma-krzak.pl</option>
<option>nawadnianie@firma-krzak.pl</option>
</select></td></tr>
<tr><td class="srodek">Zalacznik 1:</td>
<td class="zwykly"><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><INPUT type="file" name="plik1"></td></tr>
<tr><td class="srodek">Zalacznik 2:</td>
<td class="zwykly"><input type="hidden" name="wyslij" value="1" /><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><INPUT type="file" name="plik2"></td></tr>
<tr><td class="srodek">Zalacznik 3:</td>
<td class="zwykly"><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><INPUT type="file" name="plik3"></td></tr>
<tr><td class="srodek"></td>
<td class="srodek"><input type="submit" name="submit" value="Wyslij formularz"/><input type="reset" value="Wyczysc"/></td></tr>
</table>
</form>
<?php
/*sprawdzenie wypelnienia wszystkich pól*/
}elseif(!empty($_POST['nazwa']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci']) && !empty($_POST['tel'])){
/*Sprawdzanie poprawnosci numeru telefonu - niedziala
if ($tel == "" || !preg_match("/^[0-9]{9,11}$/i", $tel)) {
$error .= "<span style=\"color: #FF0000; text-align: center;\">Nieprawidlowy numer telefonu</span><br>";
}
*/
/* Funkcja sprawdzajaca poprawnosc E-Maila */
function SprawdzEmail($email) {
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){return false;}
return true;
}
if(SprawdzEmail($_POST['email'])){
/* Tworzymy szkielet wysylanej wiadomosci */
$plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
$plik_wielkosc = $_FILES["plik1"]["size"];
if (is_uploaded_file($plik_nazwa_tmp))
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp,"rb");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
$adresemail=$_POST['odbiorca'];
$ip=$_SERVER['REMOTE_ADDR'];
/* Wybierz kodowanie znaków usuwajac */
$charset = 'iso-8859-2';
//$charset = 'utf-8';
$host=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$wiadomosc="Od: $_POST[nazwa] ($_POST[email]), tel: $_POST[tel]\nIP: $ip, HOST: $host\n\n$_POST[trescwiadomosci]";
$nadawca="From: $_POST[email]";
@mail($adresemail, "Formularz z www", "$wiadomosc", "$nadawca");
echo "<span style=\"color: #00D800; font-weight: bold; \">Dziekujemy, formularz zostal wyslany.</span>";
}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }
}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypelnij wszystkie pola formularza!!!</span>"; }
?>
if(empty($_POST['submit'])){
?>
<form action="http://www.firma-krzak.pl/zalacznik.php" method="post"> <!--nazwa strony na której znajduje sie formularz-->
<table>
<tr><td class="prawy">Imie i Nazwisko <br>lub nazwa firmy:</td>
<td><input type="text" name="nazwa" style="width:300px;"/></td></tr>
<tr><td class="prawy">Kod pocztowy:</td>
<td><input type="text" name="kod" style="width:100px;"/></td></tr>
<tr><td class="prawy">Adres e-mail:</td>
<td><input type="text" name="email" style="width:300px;"/></td></tr>
<tr><td class="prawy">Telefon:</td>
<td><input type="text" name="tel" style="width:300px;"/></td></tr>
<tr><td class="prawy">Tresc wiadomosci:</td>
<td><textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px;"></textarea></td></tr>
<tr><td class="prawy">Wybierz adresata:</td>
<td><select name="odbiorca" style="width:300px;">
<option>biuro@firma-krzak.pl</option>
<option>projektowanie@firma-krzak.pl</option>
<option>nawadnianie@firma-krzak.pl</option>
</select></td></tr>
<tr><td class="srodek">Zalacznik 1:</td>
<td class="zwykly"><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><INPUT type="file" name="plik1"></td></tr>
<tr><td class="srodek">Zalacznik 2:</td>
<td class="zwykly"><input type="hidden" name="wyslij" value="1" /><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><INPUT type="file" name="plik2"></td></tr>
<tr><td class="srodek">Zalacznik 3:</td>
<td class="zwykly"><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><INPUT type="file" name="plik3"></td></tr>
<tr><td class="srodek"></td>
<td class="srodek"><input type="submit" name="submit" value="Wyslij formularz"/><input type="reset" value="Wyczysc"/></td></tr>
</table>
</form>
<?php
/*sprawdzenie wypelnienia wszystkich pól*/
}elseif(!empty($_POST['nazwa']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci']) && !empty($_POST['tel'])){
/*Sprawdzanie poprawnosci numeru telefonu - niedziala
if ($tel == "" || !preg_match("/^[0-9]{9,11}$/i", $tel)) {
$error .= "<span style=\"color: #FF0000; text-align: center;\">Nieprawidlowy numer telefonu</span><br>";
}
*/
/* Funkcja sprawdzajaca poprawnosc E-Maila */
function SprawdzEmail($email) {
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){return false;}
return true;
}
if(SprawdzEmail($_POST['email'])){
/* Tworzymy szkielet wysylanej wiadomosci */
$plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
$plik_wielkosc = $_FILES["plik1"]["size"];
if (is_uploaded_file($plik_nazwa_tmp))
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp,"rb");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
$adresemail=$_POST['odbiorca'];
$ip=$_SERVER['REMOTE_ADDR'];
/* Wybierz kodowanie znaków usuwajac */
$charset = 'iso-8859-2';
//$charset = 'utf-8';
$host=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$wiadomosc="Od: $_POST[nazwa] ($_POST[email]), tel: $_POST[tel]\nIP: $ip, HOST: $host\n\n$_POST[trescwiadomosci]";
$nadawca="From: $_POST[email]";
@mail($adresemail, "Formularz z www", "$wiadomosc", "$nadawca");
echo "<span style=\"color: #00D800; font-weight: bold; \">Dziekujemy, formularz zostal wyslany.</span>";
}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }
}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypelnij wszystkie pola formularza!!!</span>"; }
?>
wrzuciłem testowo tu http://www.firma-krzak.pl/zalacznik.php