0

jqueryで以下のコードを使用していますが、ページ自体がリロードされているため、どこで間違いを犯したのかわかりません。

var newstr = $.trim($('#umail').val());

newstr は電子メールアドレスを保持します

$.post("coding/unsub.php",{email:newstr},function(result){
$("#d_result").html(result);
});

私は持っている

<span id="d_result"></span>

結果を表示する

私のphpコードは

<?php
include ("../includes/dbcon_.php");
$unsub_sql = mysql_query("Delete FROM TblNewsLetter WHERE Email = '$_GET[email]'");
if (!$unsub_sql)
{
    $ds_result = "<p style='font-size:200%;color:red;'>Some Error Occurred! Try Later.</p>";
}
else
{
    $ds_result = "<p style='font-size:200%;color:green;'>Successfully Unsubscribed</p>";
}
mysql_close($con);
echo $ds_result;
?>
4

3 に答える 3

2

コメントで、フォーム送信ハンドラーから Ajax 呼び出しを行うと述べました。.preventDefault()イベント オブジェクトのメソッドfalseを使用するか、ハンドラーから戻ることにより、デフォルトの送信動作を防止する必要があります。

$("#yourFormSelectorHere").submit(function(e) {
    var newstr = $.trim($('#umail').val());

    $.post("coding/unsub.php",{email:newstr},function(result){
        $("#d_result").html(result);
    });

    e.preventDefault();
    // and/or
    return false;
});
于 2012-04-20T09:24:01.590 に答える
1

あなたのSQLクエリで

$mail = $_GET['email'];
$query = "DELETE FROM TblNewsLetter WHERE Email = $mail";

$_GETに変更する必要があります$_POST

于 2012-04-20T09:20:23.397 に答える
0

このように使う

$unsub_sql = mysql_query("Delete FROM TblNewsLetter WHERE Email = '".$_POST['email']."'");
于 2012-04-20T09:22:47.680 に答える