Bir flash film sunucuda Tasarruf kullanıcı oy: AS3 ve MySQL veya XML

2 Cevap php

Benim bir proje kullanıcı öğeleri bir dizi almak için bir web sayfasına, bir flaş film (. Swf) içerir, ve thumbs up veya thumbs down (oylama seçeneği vardır Her öğe) üzerinde.

Şu vea bir XML dosyasından veri yükleme gibi şimdiye kadar, her uygulama çalışması sırasında çalışmak için bu aldık - ve veri şu vea hala statik.

Ben sayfa yeniden yüklendiğinde, oy unutulmuş değil, öyle ki, bir veritabanı (MySQL) kullanarak sunucuda bu oyları devam etmek gerekir.

Herkes önce bu tür bir şey yapılır mı?

Ben 'net bulduk iki şebeke yöntemleri

  1. Bazı çerçeve çeşit kullanarak veya AS3 ve SQL arasında doğrudan iletişim ya
  2. Daha sonra SQL sorgusu çalıştırır ve AS3 için SQL döndüren bir PHP dosyası, SQL sorgusu geçen.

Iyi bir seçenek bu yöntemlerden hangisi?

İkinci yöntemde (PHP içeren), ben ([{çalışırken değil veritabanından retrieve bilgi (yani okuma işlemi) için çalışırken, ama ne zaman bu başarmak için nasıl kaynak bulmak mümkün olmuştur veritabanında kullanıcıların oy gerektiğinde (yani bir yazma işlemi,) 1)]} bilgiler. Bu nasıl yapılır?

Teşekkür ederiz!


Edit: Implemented solution

Somewhere PHP dosyası:

if ($action == "vote")
{
	$id = $_POST['id'];
	$upvotes = $_POST['upvotes'];
	$query = "UPDATE `thetable` SET `upvotes` = '$upvotes' WHERE `thetable`.`id` = '$id' LIMIT 1 ;";
	$result = mysql_query($query);
}

ActionsScript Somewhere:

	public function writeToDb(action:String)
	{
		var loader:URLLoader = new URLLoader();
		var postVars:URLVariables = new URLVariables();
		var postReq:URLRequest = new URLRequest();

		postVars.action = action;
		postVars.id = id;
		postVars.upvotes = upvotes;

		postReq.url = <NAME_OF_PHP_FILE>;
		postReq.method = URLRequestMethod.POST;
		postReq.data = postVars;

		loader.load(postReq);
		loader.addEventListener(Event.COMPLETE, onWriteToDbComplete);
	}

2 Cevap

Ben yöntemi-1 destekleyen herhangi bir çerçevenin farkında değilim.

Ben yöntemi-2 kullanın - ama bunun yerine Flash içinde sorgu yapmak ve PHP geçirmeden, ben oldukça ilgili verileri geçecekti ve PHP kendisi sorgu oluşturmak. SQL enjeksiyon saldırıları için daha az duyarlı olduğu için bu daha güvenlidir.

This answer sunucuya flaş veri gönderme bir örnek vardır - bu ASP bahsediyor, ancak yöntem, PHP (veya herhangi bir teknoloji) için aynı - sadece URL'yi değiştirin.

Php kodu içinde, yazı $_POST (veya $_GET) değişken gelen gönderilen verileri okuyabilir.

$something = $_POST["something"]

Birçok farklı seçenekleri:

AMFPHP - PHP ve Actionscript / Flash arasındaki ikili mesajlaşma biçimi.

LoadVars - Bir PHP komut değerleri ilanı ve geting için.

JSON - (bir AJAX komut yaptığı gibi) web sitesine JSON formatlı veri gönderebilir as3corelib kullanma.