Mam formularz wysylajacy zgloszenia, dziala poprawnie jednak potrzebna jest mała modyfikacja.
Otóż obecnie formularz wysyła maile i zapisuje w pliku kurs1.txt licznik + 1 aż do momentu wyslania 20 maili.
Po wyslaniu 20 maili formularz informuje o braku wolnych miejsc.
Modyfikacja polega na tym, aby formularz sprawdzał plik kurs1.txt i wyswietlal jego stan na stronie w postaci:
POZOSTAŁO 40 MIEJSC
Stan pliku kurs1.txt powinien wynosic 40 i z kazdym wyslanym mailem zmieniac sie o - 1
Po wysłaniu maila, powinien wyswietlic sie komunikat:
POZOSTAŁO 39 MIEJSC i tak do zera
po wyzerowaniu licznika, powinien pojawic sie komunikat o braku wolnych miejsc.
Prosta sprawa dla kogoś z biegłą znajomością PHP przypuszczam że 5 minut roboty, dla mnie to z całą pewnością kilka dni główkowania. Z góry serdecznie dziękuję za pomoc.
<? //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 // tworzymy pusty plik } $licznik = 0; foreach ($plik as $numer_linii => $zawartosc_linii) { $licznik = $zawartosc_linii; } // Sprawdzenie czy formularz wyslano // 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 // tworzymy pusty plik //otwiermay plik $licznik++; // licznik zwiekszamy o jeden. } else { } $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]"; echo '<b>Zgłoszenie zostało wysłane</b><br> <a href="index.php">Powrót do strony głównej</a> '; } 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 '<font color="red">formularz nie jest aktywny, zapisano wiecej niz 20 razy, a ten napis w ogole nie powinien sie wiecej pokazywac</font>'; } } else { // mniej niz 20 - pokazujemy formularz do wyslania if($licznik <=19 ){ echo '<br><b>Formularz zgłoszeniowy 16 luty 2008<br><Br> <form method="post" action="kurs_1.php"> <br>Imię i nazwisko:<input type="text" name="imie" style="width: 250px"> <br>Data urodzenia DD-MM-RRRR:<input type="text" name="data" style="width: 250px" maxlength="10"> <br>Adres zamieszkania:<textarea name="adres" style="width: 250px"></textarea> <br>Nr telefonu:<input type="text" name="nr" style="width: 250px"> <br>Adres e-mail:<input type="text" name="mail" style="width: 250px"><br> <p>*Jeżeli zapisujesz się sam(a) wypełnij tylko pierwszą część formularza</p> <br>Imię i nazwisko:<input type="text" name="imie_1" style="width: 250px"></td> <br>Data urodzenia DD-MM-RRRR<input type="text" name="data_1" style="width: 250px" maxlength="10"> <br>Adres zamieszkania<textarea name="adres_1" style="width: 250px"></textarea> <br>Nr telefonu<input type="text" name="nr_1" style="width: 250px"> <br>Adres e-mail<input type="text" name="mail_1" style="width: 250px"> <br><input type="submit" name="wyslij" value="Wyślij">'; } // wiecej niz 20 - strona pokaze ze juz nie aktywna jest else { echo '<p><font color="red">Brak wolnych miejsc!</p> <p>Prosimy cierpliwie czekać na kolejne terminy</font>'; } } ?>