PHP - MySQL Query çalışmıyor

7 Cevap php
<mx:RemoteObject id="zendAMF" destination="zend" showBusyCursor="true" source="test_class" >
<mx:method name="doLogin" result="onSayHelloResult(event)">
		<mx:arguments>
			<username>
				{username.text}
			</username>
			<password>
				{password.text}
			</password>
		</mx:arguments>
	</mx:method>
</mx:RemoteObject>

Bu i POST kullanarak değilim, benim Flex kodu ....

    	public function __construct() {	

    	}
    	public function doLogin() {

    		include("connection.php");

    	if (isset($_POST['username']) && isset($_POST['password']))
    	{
        $username= $_POST['username'];
        $password= $_POST['password'];
        $query = "SELECT *
                      FROM users
                      WHERE username = '".mysql_escape_string($username)."'
                      AND password = '".mysql_escape_string($password)."'";
        $result = mysql_fetch_array(mysql_query($query));
    	return 'yes';
}
else
{
        return 'no';
}

    	}
}
?>

Ben i adınızı ve şifrenizi doğru girmeniz olsa ben her zaman hiçbir dönüş değeri alıyorum, doğru gidiyorum emin değilim.

Herkes bana yardımcı olabilir.

7 Cevap

Sen satırı yazmak gerekir

 $result = mysql_fetch_array(mysql_query($query));

olarak

 $res = mysql_query($query);
 if (!$res) {
     die "doLogin: " . mysql_error();
 }
 $user = mysql_fetch_array($res);

at leolarakt while testing this code. This way you can see if you have errors in your databolarake calls.

if (isset ($ _POST ['username']) && isset ($ _POST ['password']))

This is the line which determines if you get yes or no. So that means that your not using post to get the variables from the form.

Bu sorgu ile ilgisi yoktur.

Bu, sınıf dönüşünü 'hayır' $ _POST değişkenler yapacak tek şey olarak bir sorgu sorun daha bir HTML sorun olarak görünmektedir.

Umarım formun temelleri HTML böyle bir şey bakmak gerekiyor:

<form method='post' action='filename.php'>
<input type='text' name='username' /><br />
<input type='password' name='password' />
</form>

Bu bit:

$result = mysql_fetch_array(mysql_query($query));
return 'yes';

sadece ne olursa olsun $result değişken nelerin yes döndürür, yapmaya çalışın

if(empty($result)){
 return 'no'
}else{
return 'yes'
}

Eğer şifreleri karma saklamayınız emin misiniz?

Ayrıca, bağlı parametreleri kullanmak, bu çirkin işlevi kullanmayın. Bu temiz ve iyi.

Update:

Aşağıdaki koşul başarısız olduğunda no döndürülür:

if (isset($_POST['username']) && isset($_POST['password']))

Olursa olsun, içinde neler MySQL.

Hem değişkenleri ayarlamak kontrol edin.

Bu kod doğru dönmek başarısız çünkü "hayır" oluyor ki eğer:

if (isset($_POST['username']) && isset($_POST['password']))

Yani ... Eğer giriş o tam isimlerini alanlar verecek mi? Formu gerçekten nakledilen mı?

Sizin fonksiyonu doLogin (bir kullanıcı adı ve parola sağlanan varsa, ne olursa olsun veri tabanı ne diyor) döndürüyor 'evet' ...