23-02-2018, Saat: 01:18
(Son Düzenleme: 23-02-2018, Saat: 01:27, Düzenleyen: mustafa162.)
Merhaba arkadaşlar. Unity'de kullanıcı girişi yaptım. Kişi kullanıcı adı ve şifresini girerek oyunun ana menüsüne gidecek. Ancak yaşadığım bir sorunu çözemedim malesef. Sorunum şu: php sayfasından echo "basarili"; kodu vasıtasıyla unity'ye getirdiğim "basarili" değişkenini unity'de if koşulunda kullanamıyorum. Unity ve php kodları şöyle:
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class kod : MonoBehaviour {
public Text goster_txt;
public InputField kullanici_adi_txt;
public InputField sifre_txt;
void Start () {
}
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
StartCoroutine(veri_gonder(kullanici_adi_txt.text,sifre_txt.text));
}
}
IEnumerator veri_gonder(string k_adi,string sifre){
WWWForm degisken = new WWWForm ();
degisken.AddField ("kullanici_adi", k_adi);
degisken.AddField ("sifre", sifre);
WWW gonder=new WWW("http://localhost/giris.php", degisken);
yield return gonder;
Debug.Log (gonder.text); //Kodu çalıştırdığımda konsolda basarili yazıyor. Yani php'den veri geliyor.Sorun yok.
if (gonder.text == "basarili") { // İşte burada sorun var. Bu if koşulu çalışmıyor,herhangi bir hata da vermiyor,sorun nerede?
Application.LoadLevel ("ana_menu");
}
}
}
PHP Kod:
<?php
$baglanti = mysqli_connect("localhost","root","123456","veritabani");
if (!$baglanti)
{
echo "MySQL bağlantısı başarısız: " . mysqli_connect_error();
die('Could not connect');
}else{
mysqli_query($baglanti, "SET NAMES 'utf8'");
mysqli_query($baglanti, "SET CHARACTER SET 'utf8'");
mysqli_query($baglanti, "SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
}
$kullanici_adi=$_POST["kullanici_adi"];
$sifre=$_POST["sifre"];
$sorgu=mysqli_query($baglanti,"SELECT * FROM ornek_tablo WHERE kullanici_adi='$kullanici_adi' && sifre='$sifre' ");
$durum=mysqli_num_rows($sorgu);
if($durum>0){
echo "basarili";
}else{
echo "basarisiz";
}
?>