Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中按“刷新”按钮后停止插入数据库_Php_Mysql - Fatal编程技术网

在php中按“刷新”按钮后停止插入数据库

在php中按“刷新”按钮后停止插入数据库,php,mysql,Php,Mysql,我有一个php代码,我正在数据库中执行inset操作。Insert进行得很好,但问题是当我在Insert操作后按刷新按钮时,相同的数据在数据库中一次又一次地上传。我通过创建会话变量并在该会话中存储submit值并比较这两个值来尝试这一点。如果两个值都匹配,则不会执行插入操作,反之亦然。这是我的密码:- case 'insert' : $_SESSION['value']=$_POST['Submit'] if($_SESSION

我有一个php代码,我正在数据库中执行inset操作。Insert进行得很好,但问题是当我在Insert操作后按刷新按钮时,相同的数据在数据库中一次又一次地上传。我通过创建会话变量并在该会话中存储submit值并比较这两个值来尝试这一点。如果两个值都匹配,则不会执行插入操作,反之亦然。这是我的密码:-

case 'insert' :
                        $_SESSION['value']=$_POST['Submit']
          if($_SESSION['value']!=$_POST['Submit'])
          {
              if (($_FILES["upload"]["type"] == "image/gif")
             || ($_FILES["upload"]["type"] == "image/jpeg")
             || ($_FILES["upload"]["type"] == "image/png" )
             && ($_FILES["upload"]["size"] < 10000))
               {
                $image= $_FILES["upload"]["name"];
                move_uploaded_file($_FILES["upload"]["tmp_name"],"E:/wamp/www/prakash/file_upload/" . $_FILES["upload"]["name"]);
                echo $sql="INSERT  INTO user SET
                                    lastname='$last_name',
                                    firstname='$first_name',
                                    sex='$gender',
                                    image='$image',
                                    hobbies='$hobby',
                                    addres='$address',
                                    cityy='$city',
                                    user_date=now()";
                                    mysql_query($sql);
                                    echo $user_id=mysql_insert_id();
        $sql="INSERT  INTO login SET
                                    user_id='$user_id',
                                    username='$user_name',
                                    password='$pass'";
                                     mysql_query($sql);
                                    // $_SESSION['submit'] = $_POST['Submit'];


               }
          else
               {
                 echo "Files must be either JPEG, GIF, or PNG and less than 10,000 kb";
               }

        }
        else{echo"data has been already Submitted";}
案例“插入”:
$\会话['value']=$\发布['Submit']
如果($\会话['value']!=$\发布['Submit'])
{
如果($_文件[“上载”][“键入”]=“图像/gif”)
||($_文件[“上载”][“键入”]=“图像/jpeg”)
||($_文件[“上载”][“类型”]=“图像/png”)
&&($_文件[“上载”][“大小”]<10000))
{
$image=$\u文件[“上载”][“名称”];
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\);
echo$sql=“插入到用户集中
lastname=“$last_name”,
firstname=“$first_name”,
性别=“$SEXT”,
image=“$image”,
嗜好=“$HOBIDE”,
地址=“$address”,
cityy=“$city”,
用户_date=now()”;
mysql_查询($sql);
echo$user_id=mysql_insert_id();
$sql=“插入登录集”
用户标识=“$user\u id”,
用户名=“$user\u name”,
密码=“$pass”;
mysql_查询($sql);
//$_SESSION['submit']=$_POST['submit'];
}
其他的
{
echo“文件必须是JPEG、GIF或PNG格式且小于10000 kb”;
}
}
否则{echo“数据已提交”;}

请告诉我我做错了什么或我的逻辑是错误的…我只想在会话中执行此操作…您的答案非常受欢迎

您可以通过更改流程避免重新提交:

HTML或form.php-无论您将其命名为什么

<form action="submit_process.php" method="POST">
    <input name="username">
    <input name="password">
    <!-- blah blah blah -->
</form>
注意


您的代码中存在各种严重问题,但这需要您去解决。

您在这段代码中似乎有严重问题,因为您没有。另外,不推荐使用的
mysql\u查询
不应该在新的应用程序中使用,因为它将从PHP的未来版本中删除。一个现代的替代品。一定要有一个避免犯此类错误的指南。同样值得注意的是:明文密码非常糟糕。这一行似乎与您的第一个条件语句
if($\u SESSION['value']!=$\u POST['Submit'])
相矛盾,因为您正在显式设置
$\u SESSION,所以您永远不会输入第一个
if
块['value']
$\u POST['Submit']
就在它之前。我应该做什么…寻找代码我不想使用重定向功能来做这件事…如果你知道如何在会话thn的帮助下做这件事,请告诉我
$sql = "INSERT INTO `TABLE_NAME` (`username`,`password`) values ('".$_POST['username']."', '".$_POST['password']."')";

if(mysql_query($sql))
{
    header('Location: success.php');
}
else
{
    header('Location: fail.php');
}