2010-12-06 103 views
3

我有一个PHP,它会检查一定的值,如果它存在于MySQL数据库中。如果该值不存在,它将简单地添加该值并刷新页面一次以再次加载页面,现在它在数据库中具有值,将继续添加其他值。当它被调用时,我如何刷新页面一次?刷新PHP页面只调用一次

<?php 
$sname = "W3 schools C# tutorials";//$_POST["sitename"]; 
$stype = "C#";//$_POST["sitetype"]; 
$saddy = "www.w3schools.com";//$_POST["siteaddress"]; 
$scomm = "W3 schools C# tutorials";//$_POST["sitecomment"]; 

$conn = mysql_connect("localhost","root","password"); 

if(!$conn){ 
    die("Could not connect: ".mysql_error()); 
} else { 
    mysql_select_db("bookmarks",$conn); 
    $rs = mysql_query("select TypeId from bookmarktypes where TypeName = '$stype'"); 
    $row = mysql_fetch_array($rs); 
    if($row > 0){ 
    //Data found, continue to add... 
    } else { 
    //No data... insert a valid one 
    $rs = mysql_query("insert into bookmarktypes (TypeName) values ('$stype')"); 
    if (!$rs){ 
     die('Error: ' . mysql_error()); 
    } else { 
    //echo "inserted new type data..."; 
    } 
    //echo "</html>"; 
    } 
    } 
    mysql_close($conn); 
    //Refresh page once 
?> 

在mysql关闭命令后有刷新页面的注释。

回答

8

刷新它

header('Location: url here'); 
exit; 

插入之后顺便说一句,读了一些关于SQL注入

而且 - mysql_close()是毫无意义的存在。

+0

他应该使用PDO来代替。学习注射也很好,但最好使用PDO参数化查询。另外,他不应该输出任何他在重定向时会出错的东西。 – Alfred 2010-12-06 03:29:42

+1

你应该用`header`添加常见警告:确保在使用之前不输出任何内容。 +1的SQL注入备忘录。 – 2010-12-06 03:30:26

+0

谢谢。当函数运行时,我会到达sql注入部分。 – thotheolh 2010-12-06 03:47:58

2
if(check=1) 
{  
echo "\"<meta http-equiv=\"refresh\" content=\"2;url=http://yourwebsite.com/\">\"\n"; 
} 
0

如果您需要打印您刚才输入的数据试试这个

header('Location: YourShowDataPage.php?id='.$_POST['id_dataEntered']) 

英里道歉,如果错了,我是个初学者