フォームからすべてのデータを外部PHPファイルに送信し、データベース値を更新したいとします。何も起こらないようです。コンソールにエラーは表示されません。私はレスポンスを探していて、何も私にとってはうまくいかないようです。jQueryを使用してPOSTメソッドを使用してデータベースを更新する
$(document).ready(function(){
$('#updatesettings').submit(function(e) {
e.preventDefault();
var lang = $(this).find('.dropdown-toggle').text();
console.log('lang=' + lang +'&'+ $(this).serialize());
$.ajax({
type: "POST",
url: "modules/game/updatesettings.php",
\t \t \t data: 'lang='+lang+'&'+$(this).serialize(),
}).done(function(data){
console.log(data);
})
.fail(function(error){
console.log(error);
});
;
});
});
<form id="updatesettings" method="post">
\t \t <p>
<label for="link">LINK</label>
<input type="text" name="link" class="textbox" id="link" value="<?php echo $tlink;?>" placeholder="LINK"> <?php if($tlink != "") echo'<i class="fa fa-check green"></i>'; else echo'<i class="fa fa-times red"></i>';?>
</p>
\t \t <p>
<label for="email">EMAIL</label>
<input type="text" name="email" class="textbox" id="email" value="<?php echo $email; ?>" placeholder="E-MAIL"><?php if($email != "") echo' <i class="fa fa-check green"></i>'; else echo' <i class="fa fa-times red"></i>';?>
</p>
<div class="btn-group">
<a class="btn dropdown-toggle btn-select" data-toggle="dropdown" href="#"><?php echo $langset; ?> <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#"><span class="flag flag-usa flag-1x"></span> English</a></li>
<li><a href="#"><span class="flag flag-rou flag-1x"></span> Romana</a></li>
</ul>
</div>
\t \t <p><input type="submit" class="button" href="#" value="Save settings"></p>
\t \t </form>
私は更新のために使用しようとする外部のphpファイルはこれです。
<?php
@include_once('modules/connections/dbconn.php');
$link = $_POST["link"];
$link = mysql_real_escape_string($link);
$email = $_POST["email"];
$email = mysql_real_escape_string($email);
$id = $_SESSION["id"];
$lang = $_POST["lang"]
if($lang=="English"){
\t $lang="en";
}
else {
\t $lang="ro";
}
mysqli_query($GLOBALS['connect'],"UPDATE users SET `link`='$link' WHERE `id`='$id'");
mysqli_query($GLOBALS['connect'],"UPDATE users SET `email`='$email' WHERE `id`='$id'");
mysqli_query($GLOBALS['connect'],"UPDATE users SET `lang`='$lang' WHERE `id`='$id'");
exit;
?>
あなたの助けを提供しようとするためにありがとうございました!
リクエストが送信されましたか?デバッグコンソールのネットワークタブで確認してください。 – bxN5
'' lang = '+ lang + $(this).serialize() 'の出力を確認してください。値を結合するために '&'が不足しています。 –
@ bxN5はいリクエストを送信しています – Daniel