Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Nietypowe logowanie
sebekzosw
post
Post #1





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


Witam!
Chciałbym zrobić skrypt logowania do AccMakera opartego na sesjach, lecz mam problem - nie wiem co sie dzieje, ze sie nie loguje.

Konta użytkowników znajdują się na dysku właściciela komputera -
C:\Documents and Settings\Sebastian\Pulpit\Otserv 8.0\data\accounts

tam znajdują się pliki - numerkonta.xml

W naszym przypadku będzie to 111111.xml

Tak wygląda zawartość pliku 111111.xml:

  1. <?xml version="1.0"?>
  2. <account pass="tibia" type="1" premDays="15">
  3.      <characters>
  4.            <character name="Sorceror Test"/>
  5.            <character name="Druid Test"/>
  6.            <character name="Paladin Test"/>
  7.            <character name="Knight Test"/>
  8.      </characters>
  9. </account>


Tu mam skrypt do wyciągania hasła:
  1. <?
  2. $mojplik = file('C:Documents and SettingsSebastianPulpitOtserv 8.0dataaccounts111111.xml');
  3.  
  4. $haslohash = $mojplik[1];
  5. $haslohash = str_replace("<account pass=\"", "", $haslohash);
  6. $haslohash = preg_replace('/\" type=\"([0-9])\"/', '', $haslohash);
  7. $haslohash = preg_replace('/\" premDays=\"([0-9])\"/', '', $haslohash);
  8. $haslohash = preg_replace('/ premEnd=\"([0-9])\"/', '', $haslohash);
  9. $haslohash = str_replace(">", "", $haslohash);
  10. echo $haslohash;
  11. ?>


Lecz zamiast hasła tibia pokazuje sie tibia premDays="15".

To jeden błąd.

Tak wygląda formularz logowania:
  1. <form action="xml.php" method="POST">
  2. <input type="hidden" name="form" value="tak" />
  3. Numer konta:<br>
  4. <input name="account" type="password" value="" class="formularz"><br>
  5. Hasło:<br>
  6. <input name="password" type="password" value="" class="formularz">
  7. <br />
  8. <input type="Submit" value="Zaloguj się" class="formularz">
  9. <input type="Reset" value="Czyść" class="formularz">
  10. </form>
  11. <p>Nie masz jeszcze konta? Załóż je <a href="account_create.php">tutaj</a>!</p>


Miałem gdzieś plik który "loguje" ale go nie mam. Lecz on nie logował bo nie widział hasła :-/.

Bardzo bym prosił o napisanie mi skryptu logowania w tych plikach - xml - z sesjami.

Z góry dzięki i pozdrawiam...

Ten post edytował sebekzosw 24.08.2007, 09:02:21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
entine
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 18.08.2007
Skąd: $this

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


Od czytania XMLa jest biblioteka. Na pewno jest lepsza niż to, co teraz napisałeś w tym preg-u - SimpleXML().
Aby odczytać haslo, z tego co masz:

  1. <?php
  2. $haslohash = explode(' ', $haslohash);
  3. $haslohash = $haslohash[0];
  4.  
  5. echo $haslohash;
  6. ?>


A co do drugiego, to potem tylko robisz sprawdzenie loginu i hasła:

  1. <?php
  2. if ($_POST['login'] == $sNazwa && $_POST['haslo'] == $haslohash)
  3.  $_SESSION['auth'] = true;
  4.  $_SESSION['login'] = $sNazwa;
  5.  $_SESSION['pass'] = $haslohash;
  6. }
  7.  
  8. if ($_SESSION['login'] == 'auth') echo 'jestes zalogowany - witamy '.$_SESSION['login'];
  9. ?>


Nakierowałem cię już zbytnio, teraz radź sobie sam.

Pozdro (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 00:06