Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pseudo baza danych i dezaktywacja
bartinkopl
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 12.01.2012

Ostrzeżenie: (0%)
-----


Witam!

A więc chciałbym zrobić coś takiego że byłaby taka pseudo baza danych w której byłyby cyfry

np.


20609409405903
23010391039109
95498594893392


i jeśli ktoś wpisze do formularza na stronie 20609409405903 i kliknie okej, to kod sie dezaktywuje i usuwa z bazy danych, i w ogóle jakby trzeba było zrobić, żeby po wpisaniu 20609409405903 przenosiłoby na inną stronę a wpisaniu jakiegoś o28491849184918 by pisało "Błędny kod"

Z góry dziękuję za pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Nie rób pseudo bazy tylko faktycznie zrów sobie bazę w MySQL, tabele `codes` [code_id, code] przy wyświetlaniu formularza nic jeszcze nie robisz, dopiero w momencie wysłania zawartości formularza robisz szukanie w bazie przy WHERE code = '" . $_POST['code'] . '" jeżeli baza zwraca jakiekolwiek wyniki to mamy sukces, zwrócone id wykorzystujemy do usunięcia danego wiersza z bazy.
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


hmmm nie wiem co rozumiesz przez pseudo-bazę (IMG:style_emoticons/default/smile.gif)

W sumie to co napisał ~Uriziel01 jest najlepszym rozwiązaniem, ale jeśli masz mieć mało tych rekordów i nie chcesz używać bazy... to zawsze możesz użyć pliku tekstowego o określonej konstrukcji ale jest z tym nieco zabawy...

najlepszy byłby plik w formacie CSV:

Kod
1293128319023132;http://www.strona1.pl
1234094109891284;http://www.strona2.pl
0993819283891773;http://www.strona3.pl
0104021401924182;http://www.strona4.pl
0109102491238910;http://www.strona5.pl
.
.
.
itd...


Teraz otwierasz plik poprzez fopen(), lecisz w while'u po każdej linii (fgets()) , explode'ujesz linie po ";" i sprawdzasz czy podany numer jest taki jak w linii jak jest to zapisujesz skojarzony adres, usuwasz z pliku linię (patrz dalej) i przekierowywujesz. Jeśli po całej pętli while nie znajdziesz danego numeru wyrzucasz "niepoprawny numer".

Co do usuwania danej linii z pliku, metod jest wiele... ale chyba żadna nie jest ani wydajna ani optymalna pod tym kątem... Poszukaj jakiegoś info u wujka google - tylko nie korzystaj z funkcji "file()" jeśli plik będzie duży...

Go to the top of the page
+Quote Post
by_ikar
post
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


sqlite stoi otworem - baza w pliku (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:47