javascript — Php файл не работает должным образом после добавления функции удаления и функции Ajax

У меня есть этот файл php обновления, который либо обновляет строку в базе данных, либо удаляет ее. PHP-файл работает нормально. Однако, когда я добавляю функцию ajax на главную html-страницу, чтобы она могла вносить изменения без обновления страницы, он не выполняет файл php должным образом. Когда я удаляю ajax, он снова работает. Когда я удаляю предложение «if isset ..» и функции, связанные с «deletecontact», и снова использую функцию ajax на главной странице, она работает нормально. Есть ли ошибка в ответе, потому что я удаляю строку и не получаю ответ? Также я знаю, что я подвержен SQL-инъекциям, я читаю о PDO и буду обновлять свой код, когда у меня будет лучшее понимание.

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>

<body>

<?php

$servername = "localhost";
$username= "root";
$dbpassword = "";
$dbname="test";
$db=mysqli_connect($servername, $username, $dbpassword, $dbname);
if(!$db){
die("could not connect:".mysqli_connect_error());
} else{

echo ("success");
$id=test_input($_POST['id']);
$firstname=test_input($_POST['firstname']);
$lastname=test_input($_POST['lastname']);
$pcat=test_input($_POST['pcat']);
$congroup=test_input($_POST['congroup']);
$cattype=test_input($_POST['cattype']);
$company=test_input($_POST['company']);
$position=test_input($_POST['position']);
$email=test_input($_POST['email']);
$website=test_input($_POST['website']);
$phone= test_input($_POST['phone']);
$mphone=test_input($_POST['mphone']);
$wphone=test_input($_POST['wphone']);
$fax=test_input($_POST['fax']);
$add1=test_input($_POST['add1']);
$add2=test_input($_POST['add2']);
$city=test_input($_POST['city']);
$state=test_input($_POST['state']);
$zip=test_input($_POST['zip']);
$country=test_input($_POST['country']);
$reference=test_input($_POST['reference']);
$entrydate=test_input($_POST['entrydate']);
$enteredby=test_input($_POST['enteredby']);
$notes=test_input($_POST['notes']);

if (isset($_POST['insert'])){
$rtninfo = updateContact($db, $id, $firstname, $lastname, $pcat, $congroup ,$cattype, $company, $position,$email, $website, $phone, $mphone, $wphone, $fax, $add1, $add2, $city, $state, $zip, $country, $reference, $entrydate, $enteredby, $notes);
}else if (isset($_POST['delete'])){
$rtninfo= deleteContact($db, $id, $firstname, $lastname, $pcat, $congroup ,$cattype, $company, $position,$email, $website, $phone, $mphone, $wphone, $fax, $add1, $add2, $city, $state, $zip, $country, $reference, $entrydate, $enteredby, $notes);}
if ($rtninfo == "ContactNotFound")
{
print "<p style='color: red'>Contact Not Found - Check SSN</p>";

} else {
if ($rtninfo == "NotUpdated")
{
print "<p style='color: red'>Contact Not Updated</p>";
} else {
print "<p style='color: green'>Contact has been Changed";
}
}
}

?>

<?php

function updateContact($db, $id, $firstname, $lastname, $pcat, $congroup ,$cattype, $company, $position,$email, $website, $phone, $mphone, $wphone, $fax, $add1, $add2, $city, $state, $zip, $country, $reference, $entrydate, $enteredby, $notes)
{

//First check if SSN exists

$sql_statement  = "SELECT id, firstname, lastname, pcat, congroup, cattype, company, position, email, website, phone, mphone, wphone, fax, add1, add2, city, state, zip, country, reference, entrydate, enteredby, notes ";
$sql_statement .= "FROM contacts ";
$sql_statement .= "WHERE id = '".$id."' ";
$result = mysqli_query($db, $sql_statement);  // Run SELECT

$numresults = mysqli_num_rows($result);
echo($numresults);// If SSN exists then Update the Contact Info

if ($numresults > 0)
{
$statement="UPDATE CONTACTS ";
$statement.= "SET firstname='".$firstname."', ";
$statement.="lastname='".$lastname."',";
$statement.="pcat='".$pcat."',";
$statement.="congroup='".$congroup."',";
$statement.= "cattype='".$cattype."',";
$statement.= "company='".$company."',";
$statement.= "position='".$position."',";
$statement.= "email='".$email."',";
$statement.= "website='".$website."',";
$statement.= "phone='".$phone."',";
$statement.= "mphone='".$mphone."',";
$statement.= "wphone='".$wphone."',";
$statement.= "fax='".$fax."',";
$statement.= "add1='".$add1."',";
$statement.= "add2='".$add2."',";
$statement.= "city='".$city."',";
$statement.= "state='".$state."',";
$statement.= "zip='".$zip."',";
$statement.= "country='".$country."',";
$statement.= "reference='".$reference."',";
$statement.= "entrydate='".$entrydate."',";
$statement.= "enteredby='".$enteredby."',";
$statement.= "notes='".$notes."' ";
$statement .= "WHERE id='".$id."' ";$result = mysqli_query($db, $statement);

if ($result)
{
return $id;
} else {
$errno = mysqli_errno($db);

echo("<h4>MySQL No: ".mysqli_errno($db)."</h4>");
echo("<h4>MySQL Error: ".mysqli_error($db)."</h4>");
echo("<h4>SQL: ".$statement."</h4>");
echo("<h4>MySQL Affected Rows: ".mysqli_affected_rows($db)."</h4>");

return 'NotUpdated';
}
} else {

return 'ContactNotFound';
}
mysqli_close($db);
}
function deleteContact($db, $id, $firstname, $lastname, $pcat, $congroup ,$cattype, $company, $position,$email, $website, $phone, $mphone, $wphone, $fax, $add1, $add2, $city, $state, $zip, $country, $reference, $entrydate, $enteredby, $notes)
{

//First check if SSN exists

$sql_statement  = "SELECT id, firstname, lastname, pcat, congroup, cattype, company, position, email, website, phone, mphone, wphone, fax, add1, add2, city, state, zip, country, reference, entrydate, enteredby, notes ";
$sql_statement .= "FROM contacts ";
$sql_statement .= "WHERE id = '".$id."' ";
$result = mysqli_query($db, $sql_statement);  // Run SELECT

$numresults = mysqli_num_rows($result);
echo ($numresults);// If SSN exists then Update the Contact Info

if ($numresults > 0)
{
$statement="DELETE FROM CONTACTS ";
$statement .= "WHERE id='".$id."' ";$result = mysqli_query($db, $statement);

if ($result)
{
return $id;
} else {
$errno = mysqli_errno($db);

echo("<h4>MySQL No: ".mysqli_errno($db)."</h4>");
echo("<h4>MySQL Error: ".mysqli_error($db)."</h4>");
echo("<h4>SQL: ".$statement."</h4>");
echo("<h4>MySQL Affected Rows: ".mysqli_affected_rows($db)."</h4>");

return 'NotUpdated';
}
} else {

return 'ContactNotFound';
}
mysqli_close($db);
}

function test_input($data){

$data=trim($data);
$data=stripslashes($data);
$data=htmlspecialchars($data);
return $data;
}
?>
</body>
</html>

main form
<form action="contactsinsert.php" id="frmBox2" method="post" onsubmit="return formUpdate();">
<table style="width:100%">
<tr>
<input type="text" name="id" id="id size="20" />
</tr>
<tr>
<td>First Name: </td>
<td><input type="text" name="firstname" class="inp" size="20" required /></td>
<td>Last Name: </td>
<td><input type="text" name="lastname" class="inp" size="20"  required /></td>
</tr><tr>
<td><input type="submit" name="insert" class="sub-btn" value="insert"></td>
</tr>

<h3 id="success"></h3>
</table>

</form>

функция ajax на главной странице

  function formUpdate(){
$.ajax({
type:'POST',
url:'contactsupdate.php',
data:$('#frmBox2').serialize(),
success:function(response){
$('#success').html(response);
}
});
var form=document.getElementById('frmBox2').reset();
window.location.reload();
return false;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector