亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript ajax 不發送字母字符到 php

javascript ajax 不發送字母字符到 php

PHP
冉冉說 2021-09-18 10:58:20
在我的 javascript ajax 代碼中,我將一些數據發送到另一個 php 文件,以便將數據記錄到 mysql 數據庫。當我只使用數字數據時,它會將所有數據記錄到 mysql(像這樣)var myKeyVals = { pays: '123', order_id :'555' } var saveData = $.ajax({  type: 'POST',  url: "<?=$base_url?>pay/Paypal2.php",  data: myKeyVals,  dataType: "text",  success: function(resultData)  {      alert('Transaction completed by ' + details.payer.name.given_name+'--'+data.orderID)  }}但是當我在數據中使用字母字符時,ajax 腳本不會像這樣發送數據 var myKeyVals = { pays: 'abc784', order_id :'ab45c' }  var saveData = $.ajax({  type: 'POST',  url: "<?=$base_url?>pay/Paypal2.php",  data: myKeyVals,  dataType: "text",  success: function(resultData)  {      alert('Transaction completed by ' + details.payer.name.given_name+'--'+data.orderID)  }}我的錄音機頁面 php 代碼是這樣的      $x=$_POST['pays'];      $y=$_POST['order_id'];      $sql = "INSERT INTO table(pays, order_id) VALUES ($x, $y)";      if ($conn->query($sql) === TRUE) {        echo "New record created successfully";      }       else {          echo "Error: " . $sql . "<br>" . $conn->error;      }      $conn->close();
查看完整描述

1 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

如果你想防止一些 SQL 注入并解決你的問題,只需使用參數


$stmt = $conn->prepare("INSERT INTO table(pays, order_id) VALUES (?, ?)");

if(!$stmt) die('we have had some problem here');

$stmt->bindparam('s', $x); //replaces first ?

$stmt->bindparam('s', $y); //replaces second ?

$stmt->execute();

您還可以應用一些好的做法,例如,如果 $y 是數字


$y=$_POST['order_id'];

if( !is_numeric($y) ) die('$y must be a numeric value');

或者如果 $y 是僅由字母數字字符形成的哈希,您也可以檢查它


if( !preg_match("/[^a-z0-9]+$/i",$y) ) die('$y has other characters other than a-z0-9');


查看完整回答
反對 回復 2021-09-18
  • 1 回答
  • 0 關注
  • 174 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號