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が初めてなので、説明もできます...

EDIT UPDATE ....コーディングを変更しましたが、それでも同じエラーが発生します...ここに私の新しいコーディングがあります....

<?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 の 18 行目のコール スタックの userFirstName

タイムメモリー機能の場所

1 0.0112 252456 {メイン}() ..\form.php:0

( ! ) 注意: 未定義の変数: C:\wamp\www\NewtestForm\form.php の 18 行目のコール スタックの userLastName

タイムメモリー機能の場所

1 0.0112 252456 {メイン}() ..\form.php:0

( ! ) 注意: 未定義の変数: C:\wamp\www\NewtestForm\form.php の userEmail 18 行目のコール スタック

タイムメモリー機能の場所

1 0.0112 252456 {メイン}() ..\form.php:0

( ! ) 注意: 未定義の変数: C:\wamp\www\NewtestForm\form.php の 18 行目のコール スタックの userNumber

タイムメモリー機能の場所

1 0.0112 252456 {メイン}() ..\form.php:0

( ! ) 注意: 未定義の変数: C:\wamp\www\NewtestForm\form.php の 18 行目のコール スタックの userMsg

タイムメモリー機能の場所

1 0.0112 252456 {メイン}() ..\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());

ユーザーの入力をサニタイズすることを忘れないでください。また、PHPmysql拡張機能は非推奨になっていることに注意してください。mysqliまたはを検討してくださいPDO

于 2013-03-10T21:05:22.683 に答える
0

PHP コードが POSt データを受信して​​いません。$_POSt で vardump を実行して、正確に何が保持されているかを確認しましたか?

于 2013-03-11T01:51:33.000 に答える