Я использую подготовленное заявление для отправки формы, используя ajax. Я попробовал приведенный ниже код, который работает. Мне нужно знать некоторые ценные бумаги. Я проверил на Google и нашел некоторые ответы и сделал код ниже.
Я хочу знать, что мои данные верны? Нужно ли FILTER_SANITIZE_STRING
?
Я ввел <h1>naren</h1>
и naren's
и отправил. Ниже вывод базы данных.
Вывод базы данных
Я получил sla sh (/)
и апостроф в последнем ряду .
Процесс. php
function register($conn){
global $currentdate;
$name=$conn->real_escape_string(trim($_POST['name']));
$country=$conn->real_escape_string(trim($_POST['country']));
$mobileno=$conn->real_escape_string(trim($_POST['mobileno']));
$email=$conn->real_escape_string(trim($_POST['email']));
if($name == "") {
$errorMsg="Name field is required";
$code="1";
} else if($country == "") {
$errorMsg="Country field is required";
$code="2";
} elseif ($mobileno=="") {
$errorMsg="Mobile number is required";
$code="3";
} elseif (is_numeric(trim($mobileno))==false) {
$errorMsg="Only contain a number";
$code="3";
} elseif (strlen($mobileno)<10) {
$errorMsg="Contain minimun 10 number ex:9892555555";
$code="3";
} elseif (strlen($mobileno)>10) {
$errorMsg="Contain maximum 10 number ex:9892555555";
$code="3";
} elseif ($email =="") {
$errorMsg="Email filed is required";
$code="4";
} elseif (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email)) {
$errorMsg="Please enter valid email id";
$code="4";
} else {
$query="INSERT INTO `register` (name, country, mobileno, email ,date_of_added) VALUES (?,?,?,?,?)";
if($stmt = $conn->prepare($query)) {
$stmt->bind_param("sisss",
$name,$country,$mobileno,
$email,$currentdate);
$stmt->execute();
$errorMsg="Data Inserted";
$code="5";
$_SESSION['thankyouSession'] = "true";
}else{
$code= "6";
$errorMsg='Something is wrong';
}
$stmt->close();
$conn->close();
}
$response['error']=$errorMsg;
$response['error_no']=$code;
echo json_encode($response);
}
AJAX
$("#register").validate({
rules: {
name:{required:true,minlength:3},
country:{required:true},
mobileno:{required:true,minlength:10,maxlength:10,number: true},
email:{required:true,email: true}
},
submitHandler: function (r) {
$.ajax({
url: base_url + "/process.php",
type: "post",
dataType: 'json',
data: $('#register').serialize(),
success: function (response) {
if (response.error_no == '1') {
$('#name').html(response.error);
} else if (response.error_no == '2') {
$('#country').html(response.error);
} else if (response.error_no == '3') {
$('#mobileno').html(response.error);
} else if (response.error_no == '4') {
$('#email').html(response.error);
} else if (response.error_no == '6') {
$('#failed').html(response.error);
}else{
window.location.href=base_url+"/thankyou.php";
}
}
})
}
});
Подключение к базе данных
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
?>