Я разрабатываю веб-сайт для школьного проекта, но это 2 дня, когда я работаю над функцией изменения пароля без успеха. Я написал функцию ajax для отправки данных post в php-скрипт.Обновление базы данных в ajax/php
$(function() {
function submitForm() {
var data = $("#chpass").serialize();
$.ajax({
type : 'POST',
url : "chpass.php",
data : data,
});
}
});
Это скрипт chpass.php.
<?php
include_once 'dbconfig.php'; // import db configuration
$sql = "UPDATE tbl_users SET user_password='password' WHERE user_email= "[email protected]"";
// Prepare statement
$stmt = $db_con->prepare($sql);
// execute the query
$stmt->execute();
?>
И HTML
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Change Password</h4>
</div>
<div class="modal-body">
<form method="post" id="chpass">
<div id="error">
<!-- error will be showen here ! -->
</div>
<!-- password -->
<div class="form-group has-feedback">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
<input type="password" class="form-control" placeholder="New Password" name="password" id="password" />
</div>
<!-- retype password -->
<div class="form-group has-feedback">
<span class="glyphicon glyphicon-log-in form-control-feedback"></span>
<input type="password" class="form-control" placeholder="Retype Password" name="cpassword" id="cpassword" />
</div>
</form>
</div>
<div class="modal-footer">
<div class="row">
<div class="col-xs-8">
</div>
<!-- /.col -->
<div class="col-xs-4">
<button id="btn-submit" type="submit" class="btn btn-primary btn-block btn-flat " name="btn-save" onclick="submitForm()" >Change</button>
</div>
<!-- /.col -->
</div>
</div>
</div>
</div>
</div>
Я действительно не понимаю, почему он не работает.
Посмотрите на выделение и цитату. Используйте '' 'вместо' '' по электронной почте. – Qirel
Ваш скрипт PHP выдает ошибки. Строковый синтаксис сломан, как указано в выделенном коде на этой странице. – David
«UPDATE tbl_users SET user_password = 'password' WHERE user_email = "[email protected]" "; это неправильный синтаксис, который вы закрываете кавычки и снова открываете их," UPDATE tbl_users SET user_password = 'password' WHERE user_email = '[email protected]' "; будет работать, но будет ВСЕГДА set password = строка «пароль» для пользователя с этим адресом электронной почты. Не уверен, что это то, что вы хотите –