Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] operacje na plikach
Forum PHP.pl > Forum > PHP
piotrek_dz
witam
Od niedawna ucze sie php i chce zrobic menadżera do gry. Gra opiera sie na plikach xml i login to jedoczesnie nazwa pliku w którym jest haslo i inne informacje o urzytkowniku a moj problem to dodanie do loginu rozszezenia .xml aby sprawdzic czy plik istnieje. Prubowalem czegos takiego ale wartosc jest zawsze folse

CODE
$xml = '.xml';
$login_2 = $_get['login'] . $xml;
$konto = file_exists('$login_2');

if ($konto == true)
{
echo 'poprawne haslo!';
}
else
{
echo ' zle haslo';
}


a gdy wpisze:
echo $login_2 . "<br>\n";
to wyswietla mi tylko .xml

to oczywiscie nie jest koniec skryptu jeszcze bede musial sprawdzic haslo itp ale to bede prubował pózniej jak sie z tym uporam ;]
byqu
Ewidentnie widać, że zmienna $_GET['login'] nie zawiera żadnej wartości. Może w skrypcie, który wywołuje ten, jest jakaś literówka? Polecam sprawdzić listę otrzymywanych zmiennych $_GET poprzez:
  1. <?php
  2. print_r($_GET);
  3. ?>
piotrek_dz
no tak byla literówka juz wszystko smiga ale mam nastepny blond nie wiem jak otczytac haslo z pliku xml. Plik wyglada tak:
<?xml version="1.0"?>
<account pass="haslo"</account>
jak do tego sie zabrac? pomoze ktos?
rybik
jeżeli plik jest mały i trzyma głównie hasło to parsuj go wyrażeniem regularnym (do treningu wyrażeń regularnych użyj programu regexp coach)

  1. <account pass="haslo"</account>
? nie wygląda mi to poprawnie :/

wygląda jak błędnie wklejony fragment pliku account managera z Tibii smile.gif
  1. <?xml version="1.0"?> <account pass="tibia" premDays="0" premEnd="0"><characters><character name="Account Manager"/></characters></account>


wyrażenie regularne do tego ma postać:
  1. <?php
  2. $pattern = '<accountspass="([a-zA-Z0-9]+)"';
  3. ?>


w razie czego poszerz zakres o dodatkowe znaki, na razie bierze litery i cyfry, żeby zezwolić np na podkreślenie w haśle uzyj [a-zA-Z0-9_] i dopisuj inne znaki, byle nie podwójny cudzysłów, pamiętaj, że znaki specjalne trzeba escape'ować. No i poszukaj więcej o wyrazeniach regularnych i funkcji preg_match.

Jeżeli plik jest duży i będziesz z niego wyciągał tez inne dane, rozważ użycie jakiegos parsera XML
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.