Mam funkcje zarejestruj w 2 wersjach. Wersja 1 jest mniej zabezpieczona a wersja 2 bardziej. Problem jest taki że obie funkcje mają zarejestrować gracza po przez dodanie do bazy kilku rekordów. Przy wersji 1 wszystko jest ok, rejestruje, logowanie przebiega ok, a przy drugiej wersji rejestruje ale nie da się zalogować, serwer wyświetla
Kod
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
wersja #1
<?php
function zarejestruj($login, $haslo, $p_haslo, $email, $kraj, $profesja, $token) {
$_kraj = array('poland' => "Polska", 'zsrr' => 'ZSRR', '3rzesza' => 'III Rzesza');
if($haslo==$p_haslo) {
$expl = explode(" x ", $_SESSION['rej_token']); $wynik = $expl[0]*$expl[1];
if($wynik == $token) {
if(!mysql_query("insert into users values('', '$login', '$haslo', '$email', '$_kraj[$kraj]', '$profesja', '15', '', '', '5000', '5000', '5000', '5000', '15000', '5000', '', '', '', '0', '0', '0', '1')")) wyswietl_pasek_error("Błąd #1");
elseif(!mysql_query("insert into surowce values('$time', '$login')")) wyswietl_pasek_error("Błąd #2");
elseif(!mysql_query("insert into punkty values('$time', '$login')")) wyswietl_pasek_error("Błąd #3");
elseif(!mysql_query("insert into wiadomosci values('', '$login', 'System Wiadomości', 'Czołem żołnierzu, zapraszamy do gry!', 'Czołem żołnierzu, pragnę powitać Cię oraz ...', '1')")) wyswietl_pasek_error("Błąd #4");
else
wyswietl_pasek_ok("Zostałeś zarejestrowany!");
}else
wyswietl_pasek_error("Podano błędny wynik.");
} else
wyswietl_pasek_error('Hasło nie zostało powtórzone dokładnie.');
}
?>
Wersja #2
<?php
function zarejestruj($login, $haslo, $p_haslo, $email, $kraj, $profesja, $token) {
$_kraj = array('poland' => "Polska", 'zsrr' => 'ZSRR', '3rzesza' => 'III Rzesza');
if($num_log == 0) {
if($haslo==$p_haslo) {
if($_SESSION['rej_token'] == $token) {
if(!mysql_query("insert into users values('', '$login', '$haslo', '$email', '$_kraj[$kraj]', '$profesja', '15', '', '', '5000', '5000', '5000', '5000', '15000', '5000', '', '', '', '0', '0', '0', '1')")) wyswietl_pasek_error("Błąd #1");
elseif(!mysql_query("insert into surowce values('$time', '$login')")) wyswietl_pasek_error("Błąd #2");
elseif(!mysql_query("insert into punkty values('$time', '$login')")) wyswietl_pasek_error("Błąd #3");
elseif(!mysql_query("insert into wiadomosci values('', '$login', 'System Wiadomości', 'Czołem żołnierzu, zapraszamy do gry!', 'Czołem żołnierzu, pragnę powitać Cię oraz pogratulować Ci dołączenia do naszego
grona. Mam dla Ciebie kilka informacji i podpowiedzi: pierwsza to taka, że wraz z
zarejestrowaniem dostałeś pieniądze w gotówce oraz na koncie a także surowce, po
staraj się działać z rozsądkiem aby nie przegrać wszystkiego w bardzo szybkim cza
sie; druga wiadomość to taka że jeśli zabraknie Ci pieniędzy, możesz napisać do j
akiegoś z graczy Prywatną Wiadomość w której poprosisz o przelanie na Twoje konto
danej kwoty, staraj się być miły i życzliwy, zapewnij że oddasz pieniądze w jak
najszybszym czasie, wzbudź zaufanie; sposobem na zarabianie pieniędzy są Walki, k
tóre możesz odbywać co 2 minuty, po każdej walce otrzymujesz punkty doświadczenia
oraz pieniądze, w każdej z nich giną żołnierze, choć nie zawsze; punkty doświadc
zenia przy pewnych zebranych ilościach powiększają Twój poziom; w razie problemów
i pytań pisz do Zespołu, czytając wcześniej FAQ; Powodzenia żołnierzu, pamiętaj
początki zawsze są trudne!', '1')")) wyswietl_pasek_error("Błąd #4");
else
wyswietl_pasek_ok("Zostałeś zarejestrowany!");
unset($_SESSION['rej_token']);
}else
wyswietl_pasek_error("Żle przepisano kod.");
} else
wyswietl_pasek_error('Hasło nie zostało powtórzone dokładnie.');
} else
wyswietl_pasek_error('Istnieje już taki gracz.');
}
?>
HELP