我使用Flash制作了这个简单的注册表单,我希望它使用PHP连接到本地主机中的数据库,这是我到目前为止的代码,
function register(evt:MouseEvent):void{
var jpa:URLVariables = new URLVariables;
var varRequest:URLRequest = new URLRequest("register.php");
varRequest.method = URLRequestMethod.POST;
varRequest.data = jpa;
var varLoader:URLLoader = new URLLoader();
varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
varLoader.addEventListener(Event.COMPLETE, completeHandler);
jpa.fname = form.fname.text;
jpa.lname = form.lname.text;
jpa.uname = form.uname.text;
jpa.pass = form.pass.text;
jpa.age = form.age.text;
jpa.sendRequestReg = "successReg";
varLoader.load(varRequest);
function completeHandler(event:Event):void{
form.msg.text = event.target.data.myVarPHP;
}
}
这是PHP文件
的代码<?php
if($_POST['sendRequestReg'] == "successReg"){
$server = "localhost";
$username = "root";
$pass = "";
$dbname = "flashdb";
$d1 = $_POST['fname'];
$d2 = $_POST['lname'];
$d3 = $_POST['uname'];
$d4 = $_POST['pass'];
$d5 = $_POST['age'];
mysql_connect($server,$username,$pass);
mysql_select_db($dbname);
$myQuery = "INSERT INTO users VALUES('$d1', '$d2', '$d3', '$d4', '$d5')";
mysql_query($myQuery) or die (mysql_error(). "AN ERROR");
echo "myVarPHP=Registration Successful";
}
else{
echo "myVarPHP=Failed Try Again";
}
?>
当我点击注册按钮的数据不会插入到数据库。
顺便说一下,我有一个更简单的例子,使用相同的代码,它工作得很好。数据被插入到数据库中,但它是在CS6中制作的;此代码是在CS4中编写的。我不知道问题是什么,PHP文件和Flash都没有错误
确保您的(XAMP
或WAMP
?)正在运行,并测试此设置粘贴您的register.php
在htdocs文件夹(我使用XAMP),并更改URLRequest
如下,
var varRequest:URLRequest = new URLRequest("http://localhost/register.php");
这对我有效(使用XAMP
)。
最好的运气。