Problem z systemem logowania

Witam mam mały problem z systemem logowania i rejestracji na stronie mi wszystko działa ale mój kumple po zarejestrowaniu nie może się zalogować. Proszę niech ktoś się zarejestruje i napisze mi czy dział mu logowanie…

Dlaczego kumplowi może to nie działać ??

www.gametronik.pl

Ja nie mogę, wygląda na problem z sesjami. Pokaż kod.

Możesz go tu zobaczyć :

http://www.gametronik.pl/index.php

Niestety potrzeba kod źródłowy przed sparsowaniem, chyba że mamy szukać luki arbitrary file download i w plik zaopatrzyć się sami :>

Możesz i tak :slight_smile:

Chcesz pomocy czy czego, bo już cię nie rozumiem.

Czy możemy dostać kod (PHP) w którym, przypisywana jest sesja/ciastko do użytkownika? Przeglądałem cookies i ta sesja nie jest w ogóle tworzona.

Cały system składa się z 4 plików nic więcej…

Index

<?php


// nagłówek

echo '

Logowanie

'; // jeśli user jest zalogowany if($_SESSION[‘logged’]) { // wyświetlamy userowi jego dane echo 'Witaj ‘.$_SESSION[‘nick’].’! '; echo 'Twój ID to: ‘.$_SESSION[‘id’].’. '; echo 'Zarejestrowałes się u nas: ‘.date(“d.m.Y, H:i”, $_SESSION[‘data_rejestracji’]).’ '; echo ‘WYLOGUJ’; } // jeśli nie jest zalogowany else { echo 'Witaj! '; echo ‘Zaloguj się lub Zarejestruj się’; } // koniec buforowania ob_end_flush(); ?>[/code] Login

[code]<?php // połączenie z mysql mysql_connect(‘sql.firehost.pl’, ‘driv_xww’, ‘driv224’) or die(‘Nieudane polaczenie z baza danych…’); // wybór bazy danych mysql_select_db(‘driv_xww’) or die(‘Nie udalo sie wybrac bazy danych…’); // nagłówek echo ’

Logowanie

‘; // sprawdzamy czy user jest już zalogowany if($_SESSION[‘logged’]) echo ‘Już jestes zalogowany!’; else { // tworzymy prosty formularz echo ’ Nick: Hasło: ‘; // jeśli zostanie naciśnięty przycisk “Zaloguj” if(isset($_POST[‘ok’])) { $nick = $_POST[‘nick’]; $pass = $_POST[‘pass’]; // sprawdzamy czy wszystkie dane zostały podane if(empty($nick) || empty($pass)) echo ‘Wpisz wszystkie pola!’; // jeśli tak… else { // filtrujemy dane $nick = trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($nick)))); $pass = trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($pass)))); // kodujemy hasło $pass = md5($pass); // sprawdzamy czy istnieje użytkownik z takim loginem i hasłem $result = mysql_query("SELECT * FROM users WHERE nick=’$nick’ AND pass=’$pass’"); // jeśli nie istnieje if(mysql_num_rows($result)==0) echo ‘Niestety podałes niepoprawne dane!’; // jeśli tak… else { // dodajemy wynik zapytania do tablicy $row = mysql_fetch_array($result); // ustawianie sesji że użytkownik jest zalogowany $_SESSION[‘logged’] = true; // dodawanie do sesji id użytkownika, login oraz datę rejestracji $_SESSION[‘id’] = $row[‘id’]; $_SESSION[‘nick’] = $row[‘nick’]; $_SESSION[‘data_rejestracji’] = $row[‘data_rejestracji’]; // wyświetlenie komunikatu oznaczającego poprawne logowanie echo ‘Zostałes poprawnie zalogowany! Możesz teraz przejsć na stronę główna’; } } } } // rozłączenie z bazą danych mysql_close(); // koniec buforowania ob_end_flush(); ?>
Logout

<?php


// nagłówek

echo '

Wylogowywanie

'; // jeśli user jest zalogowany if($_SESSION[‘logged’]) { // to go wylogowujemy i usuwamy jego dane z sesji $_SESSION[‘logged’] = false; $_SESSION[‘nick’] = ‘’; $_SESSION[‘id’] = ‘’; echo ‘Zostałes poprawnie wylogowany! wróć’; } // jeśli nie jest zalogowany else { echo ‘Nie byłes zalogowany! wróć’; } // koniec buforowania ob_end_flush(); ?>[/code] Regiester

[code]<?php // połączenie z mysql mysql_connect(‘sql.firehost.pl’, ‘driv_xww’, ‘driv224’) or die(‘Nieudane polaczenie z baza danych…’); // wybór bazy danych mysql_select_db(‘driv_xww’) or die(‘Nie udalo sie wybrac bazy danych…’); // nagłówek echo ’

Rejestracja

‘; // tworzymy prosty formularz echo ’ Nick: Hasło: ‘; // jeśli zostanie naciśnięty przycisk “Rejestruj” if(isset($_POST[‘ok’])) { $nick = $_POST[‘nick’]; $pass = $_POST[‘pass’]; // sprawdzamy czy wszystkie dane zostały podane if(empty($nick) || empty($pass)) echo ‘Wpisz wszystkie pola!’; // jeśli tak… else { // filtrujemy dane $nick = trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($nick)))); $pass = trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($pass)))); // sprawdzamy czy jest już użytkownik o takim loginie $result = mysql_query("SELECT * FROM users WHERE nick=’$nick’"); // jeśli już istnieje if(mysql_num_rows($result)!=0) echo ‘Już istnieje konto z takim loginem!’; // jeśli nie… else { // pobieramy aktualną datę $data = time(); // kodujemy hasło $pass = md5($pass); // tworzymy zapytanie $query = “INSERT INTO users (nick , pass, data_rejestracji) VALUES (’$nick’, ‘$pass’, ‘$data’)”; // jeśli zapytanie wykona się poprawnie to zostanie wyświetlony stosowny komunikat if(mysql_query($query)) echo ‘Zostałes poprawnie zarejestrowany! Możesz się teraz zalogować’; } } } // rozłączenie z bazą danych mysql_close(); // koniec buforowania ob_end_flush(); ?>

<?php

session_start();

?>

na poziomie tej linijki nie jest tworzona sesja, nie wiem dokładnie czemu, ale znalazłem coś takiego:

please note that at least in php 5.3.0 the setting session.use_only_cookies (in php.ini) defaults to “on”. This means that using trans_id, and passing the PHPSESSID via the url does not work untill you change that setting.

Sprawdź może w configu czy masz wsparcie dla sesji włączone itp.