0

このコードでは、セッションからユーザー名を取得し、ラジオ ボタンを介して完全にデータを挿入します。問題は、ページをリロードすると自動的にデータが再度挿入されることだけです。

if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){
    $user=$_SESSION['user_id'];
    $r1=$_POST['r1'];
    $r2=$_POST['r2'];
    $r3=$_POST['r3'];
    $r4=$_POST['r4'];
    $suggestion=$_POST['suggestion'];
    $query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')";

    if($query_run=mysql_query($query_insert)){
    echo "alright";
    }
    else {
        echo "not inserted";
        }

}

前もって感謝します。

4

4 に答える 4

1

ページをリロードしてもフォーム送信が実行されると思われるため、スクリプトの最後にリダイレクトを配置します

if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){
    $user=$_SESSION['user_id'];
    $r1=$_POST['r1'];
    $r2=$_POST['r2'];
    $r3=$_POST['r3'];
    $r4=$_POST['r4'];
    $suggestion=$_POST['suggestion'];
    $query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')";

    if($query_run=mysql_query($query_insert)){
    echo "alright";
    }
    else {
        echo "not inserted";
        }
header('Location: redirect url');
}
于 2013-04-06T09:11:55.970 に答える
1

試してみてください。

if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit']))
{
         $user=$_SESSION['user_id']; 
         $r1=$_POST['r1']; 
         $r2=$_POST['r2']; 
         $r3=$_POST['r3']; 
         $r4=$_POST['r4']; 
         $suggestion=$_POST['suggestion']; 
         $query_insert="INSERT INTO wp_feedback VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')";


    if(isset($_POST['submit']))
    {

        if($query_run=mysql_query($query_insert))
        {
            echo "alright";
            header('Location:setlocation.php');
        }
        else 
        {
            echo "not inserted";
        }
    }
}

クエリの挿入後にヘッダーの場所を設定...

于 2013-04-06T09:13:45.377 に答える
0
if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){
    $user=$_SESSION['user_id'];
    $r1=$_POST['r1'];
    $r2=$_POST['r2'];
    $r3=$_POST['r3'];
    $r4=$_POST['r4'];
    $suggestion=$_POST['suggestion'];
    $query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')";

    if($query_run=mysql_query($query_insert)){
    echo "alright";
    header("Location:someurl");//This will redirect into some other pages and solve your problem
    }
    else {
        echo "not inserted";
        }

}
于 2013-04-06T09:13:23.403 に答える
0
if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){
$user=$_SESSION['user_id'];
$r1=$_POST['r1'];
$r2=$_POST['r2'];
$r3=$_POST['r3'];
$r4=$_POST['r4'];
$suggestion=$_POST['suggestion'];
$query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')";

if($query_run=mysql_query($query_insert)){
echo "alright";
}
else {
    echo "not inserted";
    }
 header('Location:yourpage.php');

}

于 2013-04-06T09:13:44.067 に答える