Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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/sql中添加空白值_Php_Sql - Fatal编程技术网

防止用户刷新页面以在php/sql中添加空白值

防止用户刷新页面以在php/sql中添加空白值,php,sql,Php,Sql,php是包含连接代码的全局文件 我更新的Insert.php代码是: <?php include("config.php"); if (isset($_POST[firstname]) && isset($_POST[lastname]) && isset($_POST[age])) { $sql = "INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname

php是包含连接代码的全局文件

我更新的Insert.php代码是:

<?php

include("config.php");

if (isset($_POST[firstname]) && isset($_POST[lastname]) && isset($_POST[age])) {
    $sql = "INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
    mysql_query($sql, $connect); 
    header("Location: add.htm");
    // "1 record added";
}

else {
    echo "No record added";
    echo "<meta http-equiv=\"refresh\" content=\"5;url=add.htm\"/>";
}

if (!mysql_query($sql,$connect))
  {
  die('Error: ' . mysql_error());
  }

mysql_close($connect);
?>
<?php
include("config.php");

$sql = mysql_query("SELECT * FROM Persons");
while($results = mysql_fetch_array($sql)) {
    echo $results['FirstName'] . ', ' . $results['LastName'] . ', ' . $results['Age'] . '<br/>';
}

if (!mysql_query($sql,$connect))
{
  die('Error: ' . mysql_error());
}

mysql_close($connect);
?>
<?php

$dbhost="MYWEBHOST";
$dbusername="MYUSERNAME";
$dbpassword="MYPASSWORD";
$dbname="MYDATABASE";

$connect = mysqli_connect($dbhost, $dbusername, $dbpassword);
mysql_select_db($dbname,$connect) or die ("Could not connect to database");

?>

不使用元重定向,而是执行头重定向

echo "1 record added";
        echo "<meta http-equiv=\"refresh\" content=\"10;url=add.htm\"/>";

如果您重定向它们,那么如果它们回击,它将不会发送post数据,您应该可以。

我在添加代码时遇到此错误:“警告:无法修改标题信息-标题已由/home/web/i/imc.com/htdocs/search/insert.php第9行中的/home/web/i/imc.com/htdocs/search/insert.php发送(输出开始于/home/web/i/imc.com/htdocs/search/insert.php:8)”我确实刷新了几次页面,但它仍然添加了记录,我正试图阻止:)我真正想要的是,如果用户刷新页面或直接访问此URL,它应该重定向到html表单而不向表中添加任何内容,或者只是刷新而不向表中添加任何内容。如果尚未向正文中写入任何内容,则只能执行标题重定向。头重定向必须在你回显任何东西之前完成:)Hrmn我想不出为什么它会插入它两次…这很奇怪。我也会在else语句中去掉meta重定向(header总是更好)您也会想使用mysqli函数(mysql将被去擦洗),如果您想将数据从insert.php传递到view.php,您可以通过$\u SESSION完成(确保先调用SESSION\u start())我知道要马上处理的事情很多,但如果你从最佳实践开始,你会在以后的过程中为自己省去很多痛苦:)让我们来吧。它们不再得到维护。看到了吗?改为了解,并使用or-将帮助您决定使用哪个。您是指Config.php文件吗?所以为了澄清我不能使用mysql_connect()?替换内容是什么?我编辑了connect命令,现在告诉我它是否正确。它不正确。你把mysql和mysqli混合在一起了。蓝色链接会将适当的api'sso带到我有MYSQL的任何地方,应该是MYSQLi吗?
header("Location: add.htm");