私は単純な PHP フォームに取り組んでいますが、少し奇妙な問題に直面しています。ローカルの MAMP 環境とホストされている Web サイトの両方で発生しています。このスクリプトの目的は、次のフォームから送信されたデータに基づいて、レコードをテーブルに格納することです。
<?php
include("dbconnect.php");
if(isset($_POST['submit']){
$firstName = $_POST['firstName'];
$SQLString = "INSERT INTO name_table (first_name) VALUES($firstName)";
mysql_query($SQLString);
} else {
//Debugging script
$mypostdata = file("php://input");
print "<pre>";
var_dump($_POST);
var_dump($mypostdata);
print "</pre>";
}
?>
<form name="myForm" action="<?php $_SERVER['PHP_SELF']?>" method="POST">
<label for="firstName">First Name:</label>
<input type="text" name="firstName" value="Bob" />
<input type="submit" name="submit" value="Finish">
</form>
出力に var_dump を使用すると、次のようになり$_POST
ます。
array(2) {
["firstName"]=>
string(3) "Bob"
["submit"]=>
string(6) "Finish"
}
var_dump on の$mypostdata = file("php://input");
結果は次のようになります。
array(9){
"name=Bob&submit=Finish"
}
フォームを送信すると、テーブルにレコードが作成されません。
編集:$_POST['myForm']
明確にするために、私は当初、名前が出てくる
とエラーが発生したと思っていましNULL
たが、コメントと回答によりそれが解消されました。