Ry4n370z
(Ryan370z)
9 Sierpień 2010 16:52
#1
<?
session_start();
mysql_connect ("mysql.cba.pl", "omegaforce", "killer565");
mysql_select_db("omegaforce_c0_pl");
$pass=$_POST['Pass'];
$login=$_POST['Nick'];
$password2=md5($pass);
$password=strtr($pass , "#!@$%^&*()-=_+{}][\":;'><,.?`~/*\||" , "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
$login2=strtr($login , "#!@$%^&*()-=_+{}][\":;'><,.?`~/*\||" , "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
if($pass!=$password || $login!=$login2)
echo('');
$sql="SELECT * FORM `users` WHERE login='".$_POST['Nick']."' OR mail='".$_POST['mail']."'";
$haslo=mysql_fetch_row($sql);
if (!($haslo[0])) echo (''); # BŁĄD
else
{
if ($haslo[0] != $password2) echo ('');
}
if(($haslo[0]) && ($password2))
{
if($haslo[0] == $password2)
{
$_SESSION['logged']= true;
$_SESSION['user']= $_POST['Nick'];
$Q = mysql_query('SELECT `kasa`,`sila`,`zrecznosc`, `celnosc`, `refleks`, `top`, `arena`, `bron`, `rekawice`, `helm`, `buty`, `kamizelka`, `tarcza`, `lvl` FROM `users` WHERE `login` = "'.$_SESSION['user'].'"');
$dane = mysql_fetch_row($Q);
echo('Przejdź tu, aby grać: ');
}
}[/code]
W linijce przy której jest komentarz #BŁĄD jest problem, gdyż nie działa część odpowiadająca za sprawdzanie, czy konto o podanym e-mailu lub nicku istnieje.
Ry4n370z , proszę zapoznaj się z tą stroną oraz tym tematem , a następnie popraw tytuł tematu, używając przycisku
Ry4n370z
(Ryan370z)
9 Sierpień 2010 18:09
#4
Hm ja u siebie mam FROM a nie FORM. Nie miałem tego więc coś się wkradło.
<?
$connect=mysql_connect("mysql.cba.pl", "omegaforce", "killer565" );
mysql_select_db("omegaforce_c0_pl");
$pass=$_POST['Pass'];
$login=$_POST['Nick'];
$password=strtr($pass , "#!@$%^&*()-=_+{}][\":;'><,.?`~/*\||" , "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
$login2=strtr($login , "#!@$%^&*()-=_+{}][\":;'><,.?`~/*\||" , "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
if($pass!=$password || $login!=$login2)
echo('');
else
{
$sql= mysql_fetch_row("SELECT * FROM 'users' WHERE login='".$_POST['Nick']."' OR mail='".$_POST['mail']."');
if ($sql)
echo('')
else
{
if(!($_POST['Nick'] && $_POST['Pass'] && $_POST['Repeat'] && $_POST['mail']))
echo('');
elseif($_POST['Pass'] != $_POST['Repeat'])
echo('');
else
{
$Pass=$_POST['Pass'];
$md5= md5($Pass);
$sql2="INSERT INTO `users` (`login`, `pass`, `mail`, `kasa`, `sila`, `zrecznosc`, `celnosc`, `refleks`, `top`, `arena` ,`bron`, `rekawice`, `helm`, `buty`, `kamizelka`, `tarcza`, `lvl`) VALUES ('".$_POST['Nick']."', '$md5', '".$_POST['mail']."', '1000', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1')";
$query= mysql_query($sql2);
echo('');
}
}
}
echo('');
echo(' ');
echo('');
echo('');
echo('');
echo('');
echo('');
echo('');
echo('');
echo('');
?>[/code]
Tutaj jest dobrze.
tu jest błąd - ta funkcja nie przyjmuje zapytania jako argument tylko jego wynik
Ry4n370z
(Ryan370z)
9 Sierpień 2010 18:42
#6
?? Czyli jak powinno wygląd poprawiony wiersz? Usunąć te dwa cudzysłowia w nawiasach?
$sql= mysql_fetch_row(SELECT * FROM 'users' WHERE login='".$_POST['Nick']."' OR mail='".$_POST['mail']."');
$sql= mysql_fetch_row(mysql_query("SELECT * FROM 'users' WHERE login='".$_POST['Nick']."' OR mail='".$_POST['mail']."'"));
na przykład tak
Ry4n370z
(Ryan370z)
9 Sierpień 2010 19:05
#8
Ok, wkleiłem twoją propozycję. Teraz jest bląd w linijce 44, czyli tu:
$sql= mysql_fetch_row(mysql_query("SELECT * FROM 'users' WHERE login='".$_POST['Nick']."' OR mail='".$_POST['mail']."'));
if ($sql[0])
echo(''); # error[/code]
echo to jedyna instrukcja znajdująca się po instrukcjii if.
nie zauważyłem niedomkniętego ciągu na samym końcu (dalej ta sama linijka) - poprawiłem poprzedni post
dopisz brakujący "
Ry4n370z
(Ryan370z)
10 Sierpień 2010 08:17
#10
Działą ale teraz jest taki problem, że niezaleznie czy wpiszę po raz 5 te same dane czy inne, nowe to zawsze pisze że konto zostało utworzone.