0

我有一些从 adobe flash AS3 接收的数据,PHP 文件接收到它,但我似乎无法将数据发送到 mySQL...

这是我的PHP代码:

<?php

if(isset($_POST['userFirstName'])){ $userFirstName = $_POST['userFirstName']; }
if(isset($_POST['userLastName'])){ $userLastName = $_POST['userLastName']; }
if(isset($_POST['userEmail'])){ $userEmail = $_POST['userEmail']; }
if(isset($_POST['userNumber'])){ $userNumber = $_POST['userNumber']; }
if(isset($_POST['userMsg'])){ $userMsg = $_POST['userMsg']; }

$username="******";
$password="*******";
$database="b-elite-fitness";

mysql_connect("localhost","$username","$password") or die (mysql_error());
mysql_select_db("$database") or die (mysql_error());

mysql_query("INSERT INTO formdp 
(ID ,firstname, lastname, email, number, message) 
VALUES('','$userFirstName[firstname]','$userLastName[lastname]','$userEmail[email]','$userNumber[number]','$userMsg[message]')")
or die (mysql_error());
echo "foo=bar&checking=ok";
mysql_close();
?>

我得到这个php文件的错误......

( ! ) Notice: Undefined variable: userFirstName in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
#   Time    Memory  Function    Location 1  
0.0094  253176  {main}( )   ..\form.php:0

( ! ) Notice: Undefined variable: userLastName in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
#   Time    Memory  Function    Location 1  
0.0094  253176  {main}( )   ..\form.php:0

( ! ) Notice: Undefined variable: userEmail in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
#   Time    Memory  Function    Location 1  
0.0094  253176  {main}( )   ..\form.php:0

( ! ) Notice: Undefined variable: userNumber in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
#   Time    Memory  Function    Location 1  
0.0094  253176  {main}( )   ..\form.php:0

( ! ) Notice: Undefined variable: userMsg in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
#   Time    Memory  Function    Location 1  
0.0094  253176  {main}( )   ..\form.php:0

谁能帮帮我这几天我一直在解决这个问题......

我是 PHP 新手,所以也可以解释一下...

编辑更新....我更改了编码,但是仍然遇到相同的错误...这是我的新编码...。

<?php

if(isset($_POST['userFirstName'])){ $userFirstName = $_POST['userFirstName']; }
if(isset($_POST['userLastName'])){ $userLastName = $_POST['userLastName']; }
if(isset($_POST['userEmail'])){ $userEmail = $_POST['userEmail']; }
if(isset($_POST['userNumber'])){ $userNumber = $_POST['userNumber']; }
if(isset($_POST['userMsg'])){ $userMsg = $_POST['userMsg']; }

$username="root";
$password="dp10aap";
$database="b-elite-fitness";

mysql_connect("localhost","$username","$password") or die (mysql_error());
mysql_select_db("$database") or die (mysql_error());

mysql_query("INSERT INTO formdp 
    (id ,firstname, lastname, email, number, message) 
    VALUES('NULL','$userFirstName','$userLastName','$userEmail','$userNumber','$userMsg')") 
or die (mysql_error());
mysql_close();
?>

这是我的错误...

( ! ) 注意:未定义的变量:C:\wamp\www\NewtestForm\form.php 中的 userFirstName 第 18 行调用堆栈

时间记忆功能位置

1 0.0112 252456 {main}( ) ..\form.php:0

( ! ) 注意:未定义变量:C:\wamp\www\NewtestForm\form.php 第 18 行调用堆栈中的 userLastName

时间记忆功能位置

1 0.0112 252456 {main}( ) ..\form.php:0

( ! ) 注意:未定义变量:C:\wamp\www\NewtestForm\form.php 中的 userEmail 第 18 行调用堆栈

时间记忆功能位置

1 0.0112 252456 {main}( ) ..\form.php:0

( ! ) 注意:未定义变量:C:\wamp\www\NewtestForm\form.php 中第 18 行调用堆栈中的 userNumber

时间记忆功能位置

1 0.0112 252456 {main}( ) ..\form.php:0

( ! ) 注意:未定义的变量:C:\wamp\www\NewtestForm\form.php 中的 userMsg 第 18 行调用堆栈

时间记忆功能位置

1 0.0112 252456 {main}( ) ..\form.php:0

4

3 回答 3

1

这是不正确的:$userFirstName[firstname]

我假设这$_POST['userFirstName']是一个字符串,在这种情况下,您只会使用它$userFirstName来访问变量。如果它是一个数组,则缺少引号来访问数组索引:$userFirstName['firstname']

其余变量也是如此。

于 2013-03-10T21:02:05.953 回答
0

您通过添加变量来制作自己的变量关联数组['identifier']。这使它们与最初的不同,然后您尝试使用它们,就好像您在其中添加了一些价值一样,这就是您得到错误的原因。只需按原样使用它们。像这样

mysql_query("INSERT INTO formdp (ID ,firstname, lastname, email, number, message) 
VALUES('','$userFirstName','$userLastName','$userEmail','$userNumber','$userMsg')")
or die (mysql_error());

请记住清理用户的输入,并注意不推荐使用PHP'扩展名。mysql考虑mysqliPDO

于 2013-03-10T21:05:22.683 回答
0

您的 php 代码没有收到您的 POST 数据。您是否对 $_POST 进行了 vardump 以查看它到底持有什么?

于 2013-03-11T01:51:33.000 回答