PHP不会向mysql发送数据!?(未定义变量错误)


PHP wont send data to mysql!? (undefined variable error)

我有一些从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();
?>

,这里是我的错误…

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

时间记忆功能位置

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

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

时间记忆功能位置

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

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

时间记忆功能位置

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

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

时间记忆功能位置

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

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

时间记忆功能位置

0.0112 252456{主要 }( ) ..' form.php: 0

这是错误的:$userFirstName[firstname]

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

通过向变量中添加['identifier']来创建自己的变量关联数组。这使得它们与最初的不同,然后你试着用它们,好像你给它们加了一些值,这就是为什么你会得到错误。用它们本来的样子。这样的

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

请记住对用户的输入进行消毒,并注意PHPmysql扩展已被弃用。考虑mysqliPDO

您的php代码没有接收到您的POSt数据。您是否对$_POSt进行了vardump以查看它究竟持有什么?