私はmessage
入力フィールドにユーザが望むものを書くことを許可されたHTMLの連絡フォームを持っています。このフォームはAJAXを使用して掲載されており、以下のPHPで処理されています。`mysql_real_escape_string()`が空のMySqlフィールドを返します
私の問題は、私はMySqlテーブルで空の行を取得することです。
$message = mysql_real_escape_string($_POST['message']);
がの空文字列を返したときに、なぜ$message = $_POST['message'];
が適切な値を返すのかが不思議です。
私はここで何が欠けていますか?
//posted data
$firstName = mysql_real_escape_string($_POST['firstName']);
$lastName = mysql_real_escape_string($_POST['lastName']);
$name = $firstName. ' ' .$lastName ;
$email = mysql_real_escape_string($_POST['email']);
$phone = mysql_real_escape_string($_POST['phone']);
$subject = mysql_real_escape_string($_POST['subject']);
$hear = mysql_real_escape_string($_POST['hear']);
$message = mysql_real_escape_string($_POST['message']);
$db_server = mysql_connect($db_hostname, $db_username, $db_password)
// Check if is Duplicates
$query_usercheck = " select * from `test` where Name='$name' and Email='$email' and Phone='$phone' and Subject='$subject' and Message='$message' "; //matching all fields
$usercheck = mysql_query($query_usercheck) or die(mysql_error());
$row_usercheck = mysql_fetch_assoc($usercheck);
$totalRows_usercheck = mysql_num_rows($usercheck);
if ($totalRows_usercheck > 0) {
$duplicate = 'Yes';
} else {
$duplicate = 'No';
//adding application data to MySql database
$add = mysql_query("INSERT INTO `test` (`Date`, `Day`, `Time`, `Name`, `Email`, `Phone`, `Subject`, `From`, `Message`)
VALUES ('$date','$day','$time','$name','$email','$phone','$subject','$hear','$message')");
}
// close mysql
mysql_close();
** deprecatedを使用して停止し、PHP7の削除** mysql_ *機能を使用します。 PDOに移行し、Prepared Statementの使用を開始します。 –
おそらくそれのための接続が必要です、それは起こり、あなたの接続を先に置くことができます。編集:うん、私は言った;-) –
私は '$メッセージ= $ _POST ['メッセージ']'を使用してすべてがうまくいって、私のMySqlテーブルのすべての文字列が記入されて – Mazen