Witam!
Mam formularz blokującym sie po określonej liczbie maili. Proszę o pomoc jak zrobić aby nie wysłał wiadomości, jeśli nie będą wypełnione wszystkie pola? Nie jestem za dobry w php.
<?
//na poczatku sprawdzimy ile ma licznik - zeby nie sprawdzac juz dalej po 2 razy tego samego
// czy w ogole istnieje plik.txt, jesli nie - stwarzamy go pustego
if(!file_exists('./kurs1.txt')) {
// tworzymy pusty plik
touch ('./kurs1.txt'); //plik jest absolutnie pusty
}
$licznik = 0;
$plik = file('./kurs1.txt');
foreach ($plik as $numer_linii => $zawartosc_linii) {
$licznik = $zawartosc_linii;
}
// Sprawdzenie czy formularz wyslano
if(isset($_REQUEST['wyslij'])) {
// nacisnieto wysylanie formularza, wiec sprawdzamy dalej czy licznik jest mniej niz 20
if($licznik <=19) {
//licznik ma mniej niz 20 - zapisujemy dane z formularza + zwiekszamy licznik o jeden
// TUTAJ WYKORZYSTUJEMY WYSLANE W FORMULARZU DANE
// kasujemy plik
unlink('./kurs1.txt');
// tworzymy pusty plik
touch ('./kurs1.txt');
//otwiermay plik
$fp2 = fopen ('./kurs1.txt', 'r+');
if (flock($fp2, LOCK_EX)) { // otwieramy sobie plik do zapisu
$licznik++; // licznik zwiekszamy o jeden.
fwrite($fp2, $licznik); //wpisujemy zmienna $licznik do pliku
flock($fp2, LOCK_UN); // zwalniamy zablokowanie pliku w ktory zapisywalismy
}
else {
echo 'BLAD, nie udalo sie otworzyc pliku';
}
$tresc = "Imie_nazwisko: $_POST[imie]\nData_urodzenia: $_POST[data]\nAdres_zamieszkania: $_POST[adres]\nNr_telefonu: $_POST[nr]\nEmail: $_POST[mail]\n \nImie_nazwisko: $_POST[imie_1]\nData_urodzenia: $_POST[data_1]\nAdres_zamieszkania: $_POST[adres_1]\nNr_telefonu: $_POST[nr_1]\nEmail: $_POST[mail_1]";
mail('max1910@poczta.onet.pl', 'temat' , $tresc);
echo 'Zgłoszenie zostało wysłane
Powrót do strony głównej
';
}
else {
// licznik ma wartosc 20 - wywalamy blad, to nie powinno sie pojawic, bo przecie formyularz nie byl aktywny jesli licznik byl wiekszy niz 20, ale moze to byc zrobione atakiem "hacerskim", czyli od razy wyslane dane jakby z formularza. dlatego mimo wszystko sprawdzalismy czy licznik jest mniejszy od 20.
echo '';
}
}
else {
// mniej niz 20 - pokazujemy formularz do wyslania
if($licznik <=19 ){
echo '
Formularz zgłoszeniowy 16 luty 2008
Imię i nazwisko:
Data urodzenia DD-MM-RRRR:
Adres zamieszkania:
Nr telefonu:
Adres e-mail:
*Jeżeli zapisujesz się sam(a) wypełnij tylko pierwszą część formularza
Imię i nazwisko:
Data urodzenia DD-MM-RRRR
Adres zamieszkania
Nr telefonu
Adres e-mail
';
}
// wiecej niz 20 - strona pokaze ze juz nie aktywna jest
else {
echo '
Prosimy cierpliwie czekać na kolejne terminy';
}
}
?>