Logowanie z listy users.txt

Logowanie z listy users.txt

Wątek przeniesiony 2015-04-20 19:57 z PHP przez dzek69.

P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0

Szukałem odpowiedzi na to pytanie, ale nic nie znalazłem, stąd nowy wątek. Pisząc swoją stronkę natrafiałem na różne problemy (ktoś coś napisał w Shoutbox, podszywając się pod kogoś innego, coś majstrował na forum...) Napisałem więc skrypt PHP DOORMAN.php, który jak wskazuje nazwa, jest odźwiernym strony. Zapisuje on adresy IP wszystkich, którzy wchodzili, i przeszukuje listę ban.txt sprawdzając, czy nie ma w nim delikwenta. Jeśli jest, to oczywiście daje mu kopa i kończy wykonywanie skryptu PHP, przed jego całkowitym wykonaniem. Pisząc go, postanowiłem, że cudnie by było, gdyby panel logowania mógł odczytywać z listy użytkownika i hasło. Poprzednio odczytywało tylko jedną pozycję IP, a jak zrobić, by skrypt sprawdzał, czy zmienne $user i $password przypisane są w liście (jednej). Ważne, by userX nie zalogował się na dowolne konto, bo zna własne hasło. Planuję przykładową zawartość pliku users.txt :
user1 | haslouser1
user2 | haslouser2
user3 | jakieśdowolne
Podobno trzeba explodować? ale jak ?

spartanPAGE
Co mają w głowie osoby tworzące coś w technologiach webowych, wystrzegające się baz danych?
panryz
małą wiedzę :-)
flowCRANE
Nie używaj prefiksów/postfiksów w tytułach wątków - od podawania nazwy języka/technologii są tagi!
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 23 godziny
  • Lokalizacja:Rzeszów
4

Porzuć pliki txt. Od tego są bazy danych.


P9
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Gdynia
  • Postów:43
1

Jeśli chcesz explodować to pobierasz zawartość a potem zawartość do zmiennej

Kopiuj
 $rozdzielone = explode("|",$zawartosc_pliku); 

$zmienna jest typu tablicowego, ale to myślę że odczytywać już potrafisz zawartość :)
Tak jak piszę kolega dzek69 - porzuć pliki txt i do bazy danych czym prędzej :)


Pomagam przy: HTML, CSS, PHP i MySQL.
Tworzę skrypty na zamówienie.
edytowany 1x, ostatnio: patwoj98
P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0

Gdybym chciał posłuchać kiepskich dowcipów, to napisałbym białą stronę html i wam wysłał z zapytaniem, co tu nie działa. Co do baz danych, chciałbym na razie pozostać przy "bazie danych" TXT. Jest to spowodowane ilością userów : Jak będzie ich 10 to koniec świata. Więc na cholerę mam się paprać z obsługą baz danych, skoro kawałkiem kodu rozwiążę(rozwiążecie) problem. Po zadaniu II-ego już pytania na temat stron www (PHP/HTML) dochodzę do wniosku, że nie ma tu jakiś utylitarnych, a żeby uzyskać odpowiedź, to trzeba tłuczkiem do mięsa po językach walić :/ . Co innego goście z działu programowania pascala czy borlanda.....

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
2
programista97 napisał(a)

Jest to spowodowane ilością userów : Jak będzie ich 10 to koniec świata.

It's not about numbers. It's about sending a message.
Bazy danych są do tego przeznaczone i powinieneś z nich korzystać - jak już zabierasz się za programowanie, to rób porządnie albo wcale.

Więc na cholerę mam się paprać z obsługą baz danych, skoro kawałkiem kodu rozwiążę(rozwiążecie) problem

Na cholerę się podcierać, skoro nałożysz spodnie i problem rozwiązany :v
Otóż widzisz, wszystko tylko pozornie.

a żeby uzyskać odpowiedź, to trzeba tłuczkiem do mięsa po językach walić

No to uświadom sobie, że źle robisz i będziesz linczowany za to :P


edytowany 3x, ostatnio: Patryk27
P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0

Dobra. Ok. Zrozumiałem Prograss 34%. To by wypadało zmienić teraz cały kod odpowiedzialny za logowanie ( no chyba, że da się tak łatwo sprawdzać, czy zawartość bazy i wprowadzone wartości $username oraz $password z formularza są takie same czyli pobieranie danych z bazy i przypisanie zmiennym wartości w pętli) progress 50 %. Dalej. Bazy są dostępne na CBA, więc problem żaden -progres 75%. No i ile (objętość) miałby kod łączący się z bazą i odczytujący dane (pi*oko) -progress 100% ? Jakieś przykłady ? -zakończono funkcję "Czaję".
P.s Znasz jakieś inne metody, jak "zachęcić" innych do odpowiedzi, by pomogli, a nie opowiadali dowcipy poziomu I-ej gimbazy ?

edytowany 1x, ostatnio: programista97
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
1

czyli pobieranie danych z bazy i przypisanie zmiennym wartości w pętli

Gdzie Ty tam chcesz upchać pętlę?

No i ile (objętość) miałby kod łączący się z bazą i odczytujący dane (pi*oko)

A bo ja wiem, w PDO w najbardziej lamerskim wydaniu może 34 linijki :P
Bardziej profesjonalnie - z podziałęm na MVC - jakieś 100
150, generalnie malutko.

Znasz jakieś inne metody, jak "zachęcić" innych do odpowiedzi, by pomogli, a nie opowiadali dowcipy poziomu I-ej gimbazy ?

Załóż wątek w dziale Newbie.


P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0

bo normalnie była pętla :
start
if $linijkaN=$aktualny then cośtam
linijka+1
goto start
tak to wyglądało (no nie dosłownie). Aby sprawdzić wszystkie linijki, polecenie sprawdzające było w ciele pętli... Nie wygląda tak strasznie zabawa z bazami. Zobaczym w praktyce :D Już chyba wiem, skąd ta niechęć do baz danych -byłem nimi katowany w gimnazjum. Bazy danych typu Maria | Parch | 3zł | bezrobotna | :(
Cytacik : "Co mają w głowie osoby tworzące coś w technologiach webowych, wystrzegające się baz danych? - spartanPAGE dzisiaj, 16:28
małą wiedzę :-) - panryz dzisiaj, 16:30"
Jakoś nie lamentuję. Lamentowałbym, gdyby nic nie było podczas czynności sprzed podcierania XD

edytowany 2x, ostatnio: programista97
flowCRANE
A cytaty wrzuć w znaczniki <quote>
P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0

Przy okazji, skoro na świeżo jestem przy formularzu. Mam wielolinijkowe pole typu textarea i przycisk nie czyści go, działać natomiast działa, bo wszystko usuwa.... Błąd w kodzie, czy trzeba czyścić w js ?

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Co?
Wrzuć kod :P


edytowany 1x, ostatnio: Patryk27
P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0
Kopiuj
echo "<form method =\"post\">";

echo "<input type=\"reset\" name=\"reset\" value=\"Wyczyść wszystko\" id=\"clear\"> ";
echo "<input type=\"submit\" name=\"save\" value=\"Zapisz\"> ";
echo "<input type=\"submit\" name=\"load\" value=\"Wczytaj\">";
echo "<textarea name=\"memo1\" cols=\"140%\" rows=\"50%\"><INSERT YOUR TEXT HERE !!!</textarea>";  
echo "<input type=\"password\" name=\"f2\">";
echo "</form>";
spartanPAGE
Przynieście ogień, ludzie
P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0

Chcesz złożyć całopalną ofiarę ze swojego ciała ? Ja wiem, że dla zaawansowanych webmasterów to śmiesznie wygląda, ale uczę się pisać stronki od trzech miesięcy -zielony jak szpinak. Ciekawe, czy byś tak skakał, gdybym zapytał Cię ciągów, liczb urojonych albo konfiguracji elektronowej /spineli...

edytowany 1x, ostatnio: programista97
Zobacz pozostałe 19 komentarzy
spartanPAGE
@programista więc na sucho: 1. Generowanie w ten sposób kodu html to zła praktyka 2. Trudny != skomplikowany
P9
Ale na krótką metę dobry(chyba), by ukryć zawartość przed ciekawskimi typu ->pokaż źródło strony
spartanPAGE
@programista97 Sprawdź, czy faktycznie tak się dzieje. Koniec końców serwer to i tak wygeneruje, więc i tak będzie widoczne.
P9
Jako wynik jego pracy, nie zaś jako kod. W 3 przeglądarkach nie pokazuje kodu - wycina go
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 23 godziny
  • Lokalizacja:Rzeszów
4

@programista97: Chcesz argumentu, dlaczego nie powinieneś korzystać z plików txt? To ja mam jeden, bardzo istotny:

Za jakiś czas przylecisz na forum z pytaniem "dlaczego wyzerowało mi mój plik txt?". Używanie pliku txt w formie bazy danych jest po prostu głupim rozwiązaniem i chcemy Cię uświadomić.

Możesz przyjść na forum motoryzacyjne i pytać jak przy pomocy słomki z trawy odkręcić koło, ale każdy Ci powie, że lepiej wziąć klucz, bo słomka to Ci się złamie i będzie płacz (patrz zdanie wyżej).

Kolejna rzecz: Najwięcej komentarzy od rzeczy to rzucasz Ty, nie my. Wszystkie posty przed Twoimi tekstami o kiepskich dowcipach i tłuczeniem tłuczkiem do mięsa były sugestiami, że źle podchodzisz do tematu - i to W OGÓLE nie były sugestie prześmiewcze.

Trzecia rzecz: Do nauki baz danych polecam wpisanie w Google "kurs mysql php" - tylko jeżeli w kursie używają funkcji zaczynających się na mysql_ - to wybierz inny - tamte kursy są pisane przez idiotów, albo są przestarzałe. Najlepiej, żeby kurs omawiał bibliotekę PDO - możesz próbować "kurs pdo php" w Google.

Czwarta: Przenoszę do Newbie - temat bardziej tam pasuje, a tam chętniej prowadzą za rączkę z podstawami.


P9
Nie mam nic przeciwko stosowaniu baz mysql.
P9
A nawet zostałem już przez Pana Patryka skutecznie przekonany o słuszności ich stosowania. I dzięki za pomoc...
P9
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:31
0

Doszedłem do wniosku, że nie jest możliwe bezpośrednie czyszczenie textarea po naciśnięciu przycisku -tak jak to się dzieje w przypadku innych pól. Trzeba się odwołać do polecenia (refTextarea.value = "";)

P9
Temat uważam za zamknięty. Dzięki wam udało mi się samemu rozwiązać problem. Może nie przez "za rączkę" tylko przez poszturchiwanie kijkiem raz z prawej, raz z lewej.
P9
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Gdynia
  • Postów:43
0

Najlepiej to JSem wyczyścić. Szybko i zgrabnie ustawić value="" i tyle :)


Pomagam przy: HTML, CSS, PHP i MySQL.
Tworzę skrypty na zamówienie.
Patryk27
No przecież to właśnie napisał :P
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)