У меня есть простой вид:форма отправляет значения, не изменяя ничего
<form id="change_id" action="change.php?change=profile"
method="POST" enctype="multipart/form-data">
<input id="change_username" required name="jmeno_new"
type="text" placeholder="New Username">
</form>
Кроме того, я посылаю данные из моего form
элемента через запрос AJAX, как так:
save_button.addEventListener('click', function()
{
var fd = new FormData(change_id);
XXHR().request(change_id.getAttribute("action"), function(r){
var obj = JSON.parse(r);
if (obj.type == 'success')
{}
else if (obj.type == 'success_un')
{
console.log("YEAH! THAT WORKS.");
}
}, function(){}, true, fd);
}, false);
И я получаю он с моей PHP файл, например так:
$new_un = $_POST['jmeno_new'];
$sql_update = ("UPDATE myTable SET `name`='$new_un' WHERE `name`='$name'");
$out = array('type' => 'success_un');
exit(json_encode($out));
таким образом, если данные будут установлены, я могу только видеть, что запрос AJAX был успех но это ничего не меняет в моей базе данных.
Что он должен делать?
Он должен обновить myTable
, где он должен заменить старое имя на новое, полученное через $_POST
.
Это не работает .. как? Зачем?
Написание запроса не означает, что он будет выполнен. Пожалуйста, обратитесь к руководствам, онлайн-учебникам или разделу документации здесь о том, как работать с базой данных api. –
1- Подтвердите свое else if ($ change == 'username'), выведите var_dump ($ change) перед else if. –
Не использовать интерполяцию – Aaron