我的索引页面中有ajax调用,当用户在文本框中输入用户名需要插入mysql数据库表时,无法找到方法吗?
这是我的代码
$(document).ready(function () {
$('#enter_email_id').change(function () {
var str = $('#enter_email_id').val();
var webFormURL = "get_acc_info.php?q=" + str;
$.ajax({
url: webFormURL,
async: false,
success: function (response) {
$('.test_acc').html(response);
}
});
这是插入db php页面
<?php
session_start();
$_SESSION["username"];
function insert_Details(){
include 'Db_Connection.php';
$sql="INSERT INTO search(searcher,searched_time,searched_email)
VALUES('$_SESSION[username]',".NOW().",'$_POST[searched_email]')";
}
?>
答案 0 :(得分:1)
出于安全性的原因,您应该使用mysqli_real_escape_string()
作为输入值。
我必须修复您的代码,但您应该将$_SESSION["username"]
值替换为您想要的值,请使用以下代码:
<强> JavaScript的:强>
$(document).ready(function () {
$('#enter_email_id').change(function () {
var str = $('#enter_email_id').val();
var webFormURL = "get_acc_info.php?q=" + str;
$.ajax({
type: 'post',
url: webFormURL,
async: false,
success: function (response) {
$('.test_acc').html(response);
}
});
<强> PHP:强>
$_SESSION["username"] = 'test_username';
function insert_Details(){
//create mysqli connection
include 'Db_Connection.php';
$string = mysqli_real_escape_string($mysqli_link,$_POST[searched_email]);
$session = mysqli_real_escape_string($mysqli_link,$_SESSION[username]);
$sql="INSERT INTO search(searcher,searched_time,searched_email)
VALUES('$session',NOW(),'$string')";
if(mysqli_query($mysqli_link,$sql) ) {
echo "OK";
}
}
?>