witam,
utworzylem na stronie internetowej system logowania i rejstracji. rejestracja przebiega prawidlowo, mozna sie zarejstrowac dane sa wysylane do tabeli. haslo kodowane md5. lecz nie moge sie zalogowac potem. nie wiem moze cos zamotalem? wkleje wam kod
<?
require_once('conf.inc.php');
require_once('functions.php');
// ---
// register new user
// ---
function register($username,$pass,$email,$question,$answer)
{
$username = trim($username); $validEmail = valid_email($email);
$validName = valid_userName($username);
$validPass = valid_password($pass);
if(!$validName) return "error=invalid name";
if(!$validPass) return "error=invalid password";
if(!$validEmail) return "error=invalid email";
// all checks ok
$query = @mysql_query("INSERT INTO $table (userName,userPassword,userMail,userQuestion,userAnswer) VALUES " ."('$username','$pass','$email','$question','$answer')");
if(!$query)
{
} else {
return "user=ok";
}
}
// ---
// login, check user
// ---
function login($username,$pass)
{
$username = trim($username); $query = mysql_query("SELECT * FROM $table WHERE userName = '$username' AND userPassword = '$pass'"); }
// ---
// forget password
// ---
function forget($email)
{
$query = mysql_query("SELECT userName, userQuestion from $table WHERE userMail = '$email'"); {
return "error=email not present into database";
}
return "userName=$row[userName]&userQuestion=" . stripslashes($row['userQuestion']); }
// ---
// generate new password
// ---
function new_password($username,$email,$answer)
{
$username = trim($username); $query = mysql_query("SELECT * FROM $table WHERE userName = '$username' AND userMail = '$email' AND userAnswer = '$answer'"); {
return "error=wrong answer";
}
$rand_string = '';
// ---
// generating a random 8 chars lenght password
// ---
for($a=0;$a<7;$a++)
{
do
{
$newrand = chr
(rand(0
,256
)); } while(!eregi("^[a-z0-9]$",$newrand)); $rand_string .= $newrand;
}
$pwd_to_insert = md5($rand_string); $new_query = mysql_query("UPDATE $table SET userPassword = '$pwd_to_insert' WHERE userName = '$username' AND userMail = '$email'"); if(!$new_query)
{
return "error=unable to update value";
}
return "userName=$userName&new_pass=$rand_string";
}
// ---
// decisional switch
// ---
if(isset($HTTP_POST_VARS["action"])) {
switch($HTTP_POST_VARS["action"])
{
case "register":
$result = register($HTTP_POST_VARS['username'],$HTTP_POST_VARS['pass'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['question'],$HTTP_POST_VARS['answer']);
break;
case "login":
$result = login($HTTP_POST_VARS['username'],$HTTP_POST_VARS['pass']);
break;
case "forget":
$result = forget($HTTP_POST_VARS['email']);
break;
case "new_password":
$result = new_password($HTTP_POST_VARS['username'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['answer']);
break;
}
}
?>
strona jest we flashu zrobiona. przycisk wyslij ma akcje
Kod
on (release)
{
if(userName.length > 0 && userPassword.length > 0)
{
myVars = new LoadVars();
myVars.username = userName.text
myVars.pass = userPassword.text
myVars.action = 'login';
myVars.sendAndLoad(php_file, myVars, 'POST');
myVars.onLoad = function()
{
if(!this.error && this.user > 0)
{
gotoAndStop('registered');
} else {
gotoAndStop('no_registered');
}
userName.selectable = true;
userPassword.selectable = true;
loginButton.enabled = true;
}
userName.selectable = false;
userPassword.selectable = false;
loginButton.enabled = false;
}
}
i jeszcze akcja w pierwszej klatce
Kod
// ---
// PHP file
// ---
_global.php_file = "user.php";
Stage.scaleMode = 'noscale';
userName.restrict = "a-zA-Z0-9"
userPassword.restrict = "a-zA-z0-9";
var initialText:String = "Nazwa użytkownika";
userName.text = initialText;
userName.onSetFocus = function():Void {
if( userName.text == initialText ) {
userName.text = "";
}
};
var initialText2:String = "Hasło";
userPassword.text = initialText2;
userPassword.onSetFocus = function():Void {
if( userPassword.text == initialText2 ) {
userPassword.text = "";
userPassword.password = true;
}
};
stop ();
co tam moze byc nie tak? ktos zna odpowiedz? bo sie z tym motam i nie moge ogarnac, nie wiem gdzie blad siedzi, a pewnie to jakas drobnostka
nikt nie ma pomyslu co tu moze byc nie tak? bardzo prosze o pomoc
nie ma nikogo kto moglby mi pomoc?!? ej no ludzie wezcie pomozcie
Powód edycji: [blooregard]: Poprawiłem BBCode na właściwe