Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Nietypowe logowanie
Forum PHP.pl > Forum > PHP
sebekzosw
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...
entine
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 smile.gif
sebekzosw
  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>


Mam zawartość takiego pliku. I chciałbym zrobić taką opcję:

Kod
Inne postacie:
Sorceror Test
Druid Test
Paladin Test
Knight Test


Lecz niestety nie wiem jak :-/

Dodam, że zawartość tamtego pliku znajduje się na dysku twardym, a nie na serwerze (C:\Documents and Settings\Sebastian\Pulpit\Otserv 8.0\data\accounts\111111.xml). Bardzo proszę o skrypt.
Exek
Jak chcesz gotowca to na zlecenia.przez.net. Jak chcesz pomyśleć to zainteresuj się postem kolegi entine
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.