![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Znalazłem w sieci prosty kod, do zapisu danych do pliku z formularza, zmodyfikowałem go do moich potrzeb. Lecz mam problem ponieważ nie wiem jak zrobić aby do pliku nie zostały już dodane ponowne dane. Aktualny kod zapisuje dane do pliku jednego, zmodyfikowałem go że zapisuje dane o danej nazwie a więc:
$file = "$imie$kreska$nazwisko.ini"; chcę zrobić aby pliku o nazwie Jan_Kowalski.ini nie dało się ponownie zapisać. Aktualny kod jeśli w formularzu poda się takie same dane, zapisuje dane jeszcze raz w tym pliku. Jak to zmienic. Oto kod który modyfikowałem: Kod <?php /********************************************* * plik formularz.php *********************************************/ $pole1 = trim($_POST['pole1']); $pole2 = trim($_POST['pole2']); if(empty($pole1) and empty($pole2)) { // prosty formularz zawierający dwa pola echo '<form action="" method="post"> <input type="text" name="pole1" style="width: 200px;" /><br /> <textarea name="pole2" style="width: 200px; height: 100px;"> </textarea><br /> <input type="submit" value="Zapisz" /> </form>'; } else { // dane pochodzące z formularza $dane = $pole1."`".$pole2."\n"; // przypisanie zmniennej $file nazwy pliku $file = "baza.txt"; // uchwyt pliku, otwarcie do dopisania $fp = fopen($file, "a"); // blokada pliku do zapisu flock($fp, 2); // zapisanie danych do pliku fwrite($fp, $dane); // odblokowanie pliku flock($fp, 3); // zamknięcie pliku fclose($fp); echo "Dane zostały zapisane!<br />"; echo "<a href=\"podglad.php\">Zobacz wpisane dane</a>"; } ?> Proszę o pomoc. Ten post edytował KoPcIu 11.11.2008, 16:41:07 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
W swojej modyfikacji, zamiast:
daj
Jeżeli coś się powtórzy, pojawi się nowy plik z dopiskiem _2 _3 itd. -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście pomógł
![]() ![]() ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
Najpierw sprawdź, czy plik o podanej nazwie istnieje. Jeżeli tak to wyskakuje komunikat, jeżeli nie to tworzy plik.
Kod powinien działać. Ten post edytował Kildyt 11.11.2008, 21:23:09 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niestety czytając powyższy post, kod rozumiem lecz mam problem z umieszczeniem tego kodu ;(
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od początku
![]() ![]() ![]() ![]() ![]() Mam jeszcze jeden problem dopiero teraz go zauważyłem: Mój kod na wysyłanie danych do pliku wygląda następująco: Kod // przypisanie zmniennej $file nazwy pliku $file = $imie.'_'.$nazwisko.'.ini'; // Nazwa pliku if (!@file_exists($file)) { // uchwyt pliku, otwarcie do dopisania $fp = fopen($file, "a"); // blokada pliku do zapisu flock($fp, 2); // zapisanie danych do pliku fwrite($fp, $postac); // odblokowanie pliku flock($fp, 3); // zamknięcie pliku fclose($fp); } else { echo 'Niestety, dany login jest już zajęty! Spróbuj podać inny.'; } echo "Dane zostały zapisane poprawnie!<br />"; } Tylko jest problem taki że te dane: echo "Dane zostały zapisane!<br />"; wyświetlają się zawsze, nawet gdy wyskakuje błąd że podany login jest zajęty, wiem że trzeba to wstawić w odpowiednie miejsce w kodzie tylko że ja nie wiem gdzie... Jestem początkujący ![]() PS ta ostatnia klamra to zamyka klamrę, która znajduje się wyżej w kodzie ![]() ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmień położenie drugiego echo na zaraz po fclose();
-------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście wszystko działa jak należy, pomógł
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 15:00 |