Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Baza danych w pliku TXT
Forum PHP.pl > Forum > Przedszkole
bartas225
Siema robie se strone z uploadem i chce zeby tam byla rejestracja z bazą danych w pliku tekstowym i mam taki kod:

  1. <?
  2.  $folder = $_GET['login'];
  3.  $text = $_GET['login'];
  4.  $file = fopen("plik.txt", "r");
  5.  $dane = fread($file, filesize("plik.txt"));
  6.  fclose($file);
  7.  $noweDane = $_GET['login']['haslo'];
  8.  $noweDane .= $dane;
  9.  $file = fopen("plik.txt", "w");
  10.  fwrite($file, $noweDane);
  11.  mkdir($folder, 0777);
  12.  fclose($file);
  13.  echo 'Rejestracja przebiegla pomyslnie';
  14.  ?>



reg.php:


  1. <form action="register.php" method="GET">
  2. Login:<input type="text" name="login" size="15" /><br />
  3. Haslo:<input type="password" name="haslo" size="16" /><br />
  4.  
  5. <input type=submit value="Zapisz"></td></TABLE></form>


I dodaje do bazy tylko pierwszą litere loginu a hasła w ogóle nie dodaje. Chce jeszcze żeby tworzyło folder o nazwie takiej jak login ale nie tworzy. Co zrobić żeby to działało i żeby w bazie było czytelnie i żeby potem można było zrobić system logowania bo tego też nie umiem.
nospor
$noweDane = $_GET['login']['haslo'];
questionmark.gif
Chyba
$noweDane = $_GET['login'].$_GET['haslo'];
bartas225
Działa ale folderu nie tworzy i nie jest czytelnie w bazie i jak zrobic jeszcze to logowanie?
b4x
A jak ma tworzyć folder jak nie widzę tutaj mkdir" title="Zobacz w manualu PHP" target="_manual ?

#Edit, ach sory masz mkdir tam smile.gif



  1. <?
  2. $folder = dirname(__FILE__).'/'.$_GET['login'];
  3. $text = $_GET['login'];
  4. $file = fopen("plik.txt", "r");
  5. $dane = fread($file, filesize("plik.txt"));
  6. fclose($file);
  7. $noweDane = $_GET['login']['haslo'];
  8. $noweDane .= $dane;
  9. $file = fopen("plik.txt", "w");
  10. fwrite($file, $noweDane);
  11. mkdir($folder, 0777);
  12. fclose($file);
  13. echo 'Rejestracja przebiegla pomyslnie';
  14. ?>


Spróbuj
bartas225
Nie dziala ;/

pomocy

A może umiecie zrobic mi logowanie?

To jak bedzie z tą pomocą?
nospor
Cytat
To jak bedzie z tą pomocą?
Jeszcze raz podbijesz temat po niecalych 20 minutach a z wielką przyjemnoscia ci go zamkne a tobie dam moderke smile.gif
Czekaj cierpliwie a nie podbijasz ciągle i ciagle
bartas225
Poczekałem juz dlugo a teraz ktos mi w koncu odpowie chociaz z logowaniem prosze sad.gif
Moli
Zapis danych
  1. <?php
  2. $users = unserialize ( file_get_contents ( 'users.txt' ) ) ;
  3.  
  4. $login_nowy = 'root';
  5. $haslo_nowe = 'rootek';
  6.  
  7. $users[] = array ( 'login' => $login_nowy , 'password' => md5 ( $haslo_nowe ) ) ;
  8.  
  9. file_put_contents ( 'users.txt' , serialize ( $users ) );
  10.  
  11. ?>

Odczyt
  1. <?php
  2. $users = unserialize ( file_get_contents ( 'users.txt' ) ) ;
  3.  
  4. $login = $_POST['login'];
  5. $haslo = $_POST['haslo'];
  6.  
  7. foreach ( $user as $row ) 
  8. {
  9. if ( $login == $row['login'] AND md5 ( $haslo ) == $row['passowrd'] ) 
  10. {
  11. echo 'zalogowany';
  12.  
  13. break;
  14. }
  15. else
  16. {
  17. echo 'zle dane';
  18. }
  19. }
  20.  
  21. ?>


Pisane na szybko z palca smile.gif
bartas225
Ale ja rejestracje już mam która mi o tak zapisuje: nick=nick haslo=haslo np. nick=ja haslo=elo;nick=ty haslo=elo itd.
tylko nie weim jak zrobic logowanie zeby mi odczytywalo z czegoś takiego i nie tworzy mi folderu :/

edit: omg wysmarowalem cos takiego:

  1. <?
  2. fopen("plik.txt", "r");
  3. $nazwa = $_POST['loglogin'];
  4. $pass = $_POST['loghaslo'];
  5. if ($nazwa=$pass){
  6. echo "lol";
  7. }
  8. else {
  9. echo "omg zle";
  10. }
  11. ?>


ale ciagle wyswietla napis lol co tu jest zle

blagam o pomoc

juz dlugo czekam sad.gif

bądźmy poważni! Pomózćie biednemu w potrzebie sad.gif
simperium
Cytat(bartas225 @ 14.07.2008, 18:46:53 ) *
if ($nazwa=$pass)


popraw na
Kod
if ($nazwa==$pass)
bartas225
Nie działa sad.gif sad.gif ohmy.gif
nospor
Ale czy ty zastanawiasz sie nad tym co piszesz?
$nazwa==$pass
przeciez zarowno $nazwa jak i $pass pobierasz z formularza. Co to za logowanie ze ty porownujesz dwie wartosci z forma? Masz porownac to co wprowadzisz z forma z tym co masz w pliku.
Moli
Zrozum swój kod. Otwierasz plik (i na tym kończysz z nim prace), sprawdzasz czy login równa się hasło i jeśli tak to wyświetlasz lol. Zrób tak:
1. Wczytaj dane z pliku (np. file_get_contents).
2. Rozdziel na znak ";" (funkcja explode).
3. Pobierz login i hasła (wyrażenia regularne czy jak to tam zapisujesz).
4. Sprawdź czy jest użytkownik o takim loginie i czy jego hasło równa się to co użytkownik podał.
batman
@bartas225
W każdym twoim poście poprawiłem bbcode. Zacznij go używać, bo inaczej temat zostanie zamknięty.
bartas225
Cytat(Moli @ 14.07.2008, 19:32:35 ) *
Zrozum swój kod. Otwierasz plik (i na tym kończysz z nim prace), sprawdzasz czy login równa się hasło i jeśli tak to wyświetlasz lol. Zrób tak:
1. Wczytaj dane z pliku (np. file_get_contents).
2. Rozdziel na znak ";" (funkcja explode).
3. Pobierz login i hasła (wyrażenia regularne czy jak to tam zapisujesz).
4. Sprawdź czy jest użytkownik o takim loginie i czy jego hasło równa się to co użytkownik podał.


Ale ja nie umiem sad.gif podaj mi kod na to smile.gif
nospor
Cytat
podaj mi kod na to
blinksmiley.gif
A czy my Twoja sluzba? jak chcesz to moge przeniesc ten temat na gielde ofert, tam podaj cene i mozesz sobie wowczas pisac "Podaj kod".
Wysil sie troche. Dostales algorytm to go zrealizuj. Jak bedziesz mial problemy z realizacją to ci pomozemy, ale roboty za ciebie odwalac nie bedziemy. Przyjmij to do wiadomosci.
bartas225
ja tak dobrze nie znam PHP sad.gif A poza tym nie wiem jak wczytać nick i haslo i porownac je z tym co sie na formularzu pisalo sad.gif

prosze pomocy co_jest.gif to jest bariera nie do pokonania dla mnie sciana.gif
nospor
pisalem ci pare postow wczesniej co zrobie jak jeszcze raz podbijesz temat. Do tego dochodzi Twoja postawa w calym tym temacie... a ze ja nie lubie nie dotrzymywac slowa... smile.gif

ps: jak nie zapomne to otworze temat jutro w poludnie. A jak zapomne - to mi przypomnij na PW smile.gif

edit:
zgodnie z obietnicą otwieram. PRzystopuj jednak z tym odświerzaniem i włóż troche swego wkładu, bo znowu zamkne.
Jeśli nadal nikt ci nie odpowie to może poprostu daj to na gielde ofert i zaproponuj konkretną kwote za podanie gotowca smile.gif

edit: dobra, zamykam ponownie bo stales sie zbyt nachalny na PW wielu osob... jeszcze ta stronka z przekierowaniem...
bartas225
siema nie wiem jak zrobic logowanie z bazą danych w pliku txt co mi o tak zapisuje: nick=nick haslo=haslo np. nick=ja haslo=elo;nick=ty haslo=elo itd.

no i wlasnie nie wiem jak wyciągnąć z czegoś takiego to co jest pod nick i to co jest pod haslo ale nie wszystkich userów tylko jednego usera. prosze o pomoc bo wykazuje chęć na przyjęcie pomocy i nie blagam o gotowce i jestem początkujący sad.gif
nexis
config.txt
  1. nick=ja
  2. haslo=elo
  3. nick=ty
  4. haslo=elo


index.php
  1. <?php
  2.  
  3. $filepath = './config.txt';
  4. $file  = file_get_contents($filepath);
  5. $content = explode(PHP_EOL, $file);
  6. $config  = array();
  7. $iterator = 0;
  8.  
  9. foreach($content as $line) {
  10.  list($key, $value) = explode('=', $line);
  11.  switch($key) {
  12. case 'nick':
  13.  $iterator++;
  14.  // break celowo pominięty
  15. case 'haslo':
  16.  $config[$iterator][$key] = $value;
  17.  break;
  18.  }
  19. } 
  20.  
  21. print_r($config[1]); // wyświetli dane pierwszego konta
  22. print_r($config[2]); // wyświetli dane drugiego konta
  23.  
  24. ?>
bartas225
ale mi rejestracja tworzy sama dane i nie ma tak od nowej linijki wiec to chyba nie pasuje :/
sprawdzilem i to nie dziala bo mi tam nie chce nowych kont wyswietlac a poza tym tak nie chce bomi w bazie zapisuje nie od nowej linijki sad.gif
Cysiaczek
Poprzenosiłem, połączyłem, otworzyłem. Teraz posłuchaj kolego ~bartas225:
Łamiesz regulamin punkt po punkcie i traktujesz użytkowników instrumentalnie. To nie jest forum, na którym zachowujemy się w ten sposób! Nikogo nie obchodzi, że nie znasz php. Jeśli tak jest, to jest mnóstwo kursów i do nich sięgnij najpierw. Nie mów tylko "czytałem i dalej nie rozumiem", bo to oznacza, że się nie nadajesz do zabawy w te klocki (ewentualnie czytaj tak długo aż zrozumiesz). Nie podajesz żadnych sensownych danych, komunikatów błędów, nie potrafisz wyciągać wniosków i analizować postów użytkowników, które są pomocne.
Następne złamanie regulaminu i niestety, ale dostaniesz bana. Tylko od wczoraj masz na koncie: nękanie, spam, spam PW, crossposting - wystarczy


Do pozostałych:
Pomóżcie koledze, jeśli ktoś ma chwilę czasu - ja nie mam, niestety.
bartas225
Dobra użyłem tego skryptu usera Moli ale on nie działa. Przerobiłem go tak żeby była rejestracja ale przy logowaniu pojawia się białe okno :/ Chyba tam brakuje tej miennej $row ale nie wiem do czego ona by służyła.

login.php

  1. <?php
  2. $users = unserialize ( file_get_contents ( 'plik.txt' ) ) ;
  3.  
  4. $login = $_POST['loginlog'];
  5. $haslo = $_POST['haslolog'];
  6.  
  7. foreach ( $user as $row ) 
  8. {
  9. if ( $login == $row['login'] AND md5 ( $haslo ) == $row['passowrd'] )  /*i tutaj jest zmienna $row ale nie wiem gdzie się ją deklaruje*/
  10. {
  11. echo 'zalogowany';
  12.  
  13. break;
  14. }
  15. else
  16. {
  17. echo 'zle dane';
  18. }
  19. }
  20.  
  21. ?>


register.php

  1. <?php
  2. $users = unserialize ( file_get_contents ( 'plik.txt' ) ) ;
  3.  
  4. $login_nowy = $_POST['login'];
  5. $haslo_nowe = $_POST['haslo'];
  6.  
  7. $users[] = array ( 'login' => $login_nowy , 'password' => md5 ( $haslo_nowe ) ) ;
  8.  
  9. file_put_contents ( 'plik.txt' , serialize ( $users ) );
  10.  
  11. ?>
Xniver
login.php
  1. <?php
  2. $users = unserialize(file_get_contents('./plik.txt'));
  3.  
  4. foreach($users as $user)
  5. {
  6. if($user['login'] == $_POST['login'] && $user['password'] == sha1($_POST['password']))
  7. {
  8. echo 'Zalogowany jako: ' . $user['login'];
  9. $loggedAs = $user['login'];
  10.  
  11. break;
  12. }
  13. }
  14.  
  15. if(empty($loggedAs)) echo 'Gość';
  16. ?>


register.php
  1. <?php
  2. $users = unserialize(file_get_contents('./plik.txt'));
  3.  
  4. $users[] = array('login' => $_POST['login'], 'password' => sha1($_POST['password']));
  5.  
  6. $file = fopen('./plik.txt', 'wb');
  7.  
  8. fwrite($file, serialize($users));
  9.  
  10. fclose($file);
  11.  
  12. echo 'Zarejestrowany';
  13. ?>
bartas225
Xnive dzięki działa!! :]
Teraz spróbuje zrobić tak żeby przy rejestracji sprawdzało czy login jest zajęty

Xnive jeszcze raz wielkie dzięki smile.gif

EDIT: Jest jeszcze jeden problem. Mianowicie przy rejestracji tworzy się folder ale o atrybutach 755 :/

  1. <?php
  2. mkdir($nazwa, 0777);
  3. ?>


No i po zajrzeniu do members/ jest folder o dobrej nazwie ale o chmod 755 :/

Siema znowu ja i mam nzowu problem bo wysmarowalem cos takiego zeby pliki uploadowalo do folderu o nicku takim jaki podano przy logowaniu


  1. <?php
  2. $nick = $_POST['loginlog'];
  3. $liczba = rand(1,9999);
  4. $uploaddir = 'members/'.$_POST['loginlog'];
  5. $parametry = getimagesize ($_FILES['plik']['tmp_name']);
  6. if ($parametry[0] > 852 || $parametry[1] > 560) //szerokość i wysokość obrazka w pikselach
  7. {
  8. echo 'Obrazek za duży!<br>';
  9. echo '<a href="http://filesave.za.pl">Wstecz</a>';
  10. }
  11. if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.$_FILES['plik']['name'].$liczba))
  12. {
  13. echo 'Plik został załadowany poprawnie <br><br>';
  14. echo '<img src="members/'.$_POST['loginlog'].'/'.$_FILES['plik']['name'].$liczba.'"> <br><br>';
  15. echo 'Link do pliku: <a href="uploaded/'.$_POST['loginlog'].'/'.$_FILES['plik']['name'].$liczba.'"> <a href=\"http://www.filesave.za.pl/members/'.$_POST&#092;" target=\"_blank\">http://www.filesave.za.pl/members/'.$_POST</a>['loginlog'].'/'.$_FILES['plik']['name'].$liczba.'</a>';
  16. }
  17. else
  18. echo 'Błąd podczas uploadowania pliku.';
  19.  
  20. ?>

I to nie działa bo uploaduje tam gdzie nie powinno
lucca
Cytat(bartas225 @ 29.07.2008, 13:29:34 ) *
if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.$_FILES['plik']['name'].$liczba))


chyba powinno być
  1. <?php
  2. if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir/$_FILES['plik']['name'].$liczba))
  3. ?>
nowotny
Chyba...
  1. <?php
  2. if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.'/'.$_FILES['plik']['name'].$liczba))
  3. ?>

...jak już...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.