ユーザーが特殊文字を入力して、DB に送信できるようにしたい。
入力を使用してテストしました: Dave & ' " *ですが、データベースには保存されません。上記のように特殊文字を使用せず、Daveのみを使用すると、問題なく保存されます。
私は2つのことを試しました:
<p class="clearfix">
<label for="name">name</label>
<input class="validate[required]" id="name" name="name" type="text" value="'.esc_attr($_POST['name']).'">
</p>
と
<p class="clearfix">
<label for="name">name</label>
<input class="validate[required]" id="name" name="name" type="text" value="'.htmlspecialchars($_POST['name']).'">
</p>
どちらも機能しません。
支払い後のデータベース挿入コード:
if(strpos($response['body'], 'VERIFIED') !== false && $_POST['payment_status'] == "Completed") {
//Assign IPN Post Values to Local Variables
$comboString = $_POST['txn_id'].$_POST['payment_date'];
$data = explode('~',$_POST['custom']);
$ipn_data = array(
'name' => mysql_real_escape_string($_POST['name']),
'sale_date' => $_POST['payment_date']
);
$ipn_format = array('%s','%s');
if($ipn_business == $paypal_email) {
$wpdb->insert($wpdb->prefix.'orderdata', $ipn_data, $ipn_format);
$ipn_data['currency'] = $_POST['mc_currency'];
$ipn_data['admin_field'] = $_POST['admin_field'];
send_email($ipn_data);
}
} else {
exit("IPN Request Failure");
}