В changename.php
У меня есть этот DIV:Jquery AJAX работает, но отображается сообщение прослушивается
<div id="resultDiv"></div>
В том же файле у меня есть код PHP:
<?php
include_once ('connect.php');
if(isset($_POST['name']))
{
$postedname = $_POST['name'];
$safename = mysqli_real_escape_string($con, $postedname);
$checkname = "SELECT * from accounts where name='$safename' LIMIT 1";
$query = mysqli_query($con, $checkname);
$row = mysqli_num_rows($query);
if($row) {
echo 'Name is already taken!';
} else {
$changename = "UPDATE accounts SET name='$safename' WHERE Name='$_SESSION[username]'";
$query = mysqli_query($con, $changename);
if($query)
{
echo 'Name is changed!';
$_SESSION['username'] = $safename;
}
}
}
?>
И это мой Jquery скрипт (в отдельный файл):
$(function(){
$("form").submit(function() {
event.preventDefault();
var name = $('#inputName').val();
$.post("changename.php",
{
name: name
},
function(data)
{
$("#resultDiv").text(data);
});
});
});
Код просто отлично работает, он успешно меняет мое имя. Если я хочу, чтобы мое имя было «Джоном», оно успешно меняет его в БД.
Проблема заключается в том, чтобы изменить div с ID resultDiv
на Name is already taken!
. Вместо этого он принимает весь код HTML changename.php
и помещает его в этот DIV. Поэтому вместо 1 строки у меня есть еще 100 строк моей страницы. Так это выглядит следующим образом:
https://gyazo.com/9320a5f15ed67a8ad9298d6172ab6909
Любая идея, почему это не просто сообщение, которое я хочу?
в вашем changename.php, что когда-либо html есть, он будет извлечен из формы ajax. –
Итак, я должен поместить PHP-код в отдельный файл для AJAX? – fidtal
У вас есть 2 варианта, проверьте ответ. –