通过PHP从SQL中的表中获取ID

时间:2015-04-23 22:05:48

标签: php mysql sql logout

我正在尝试使用session_destroy()创建一个退出页面,但我得到的只是一个空白页面。

这是我关于登录的代码(我假设问题必须在这里,但我是初学者)。

我认为它会起作用的是为用户名创建一个会话,因为它在isset()使用,但显然它不起作用。

 <?php
 session_start();
 $dbhost = "";
 $dbuser = "";
 $dbpassword = '';
 $db= 'system_dev';

 mysql_connect($dbhost,$dbuser,$dbpassword);
 mysql_select_db($db);



include 'test.php';
if (isset($_POST['username'] )) {
$username=$_POST['username'];
$password=$_POST['password'];

$_SESSION['username']=$username;

$sql ="Select * FROM Company WHERE username='".$username."'AND password = '".$password."'LIMIT 1";
$sqlid = "Select CompanyId FROM Company WHERE username='".$username."'";




$result = mysql_query($sql);
$resultid= mysql_query($sqlid) or die('Query failed: '. mysql_error());
while ($row =mysql_fetch_array($resultid,MYSQL_ASSOC) ) {
    echo "<tr>\n";
    foreach ($row as $col_value){
        echo  "$col_value\n";
    }
}
$company = mysql_free_result($resultid);
$_SESSION['CompanyId'] = $col_value;
}


if ( mysql_num_rows ($result)==1){

header ("Location: webdesign.php");

exit(); 

}
else {

echo "Invalid input";
exit(); 

}

?>

在“logout.php”的代码中我只写了这个:

 <?php
 session_start();
 session_destroy();
 header ("website.php");
 ?>

如果答案不是应该的话,请提前致谢并对不起。我已阅读规则,但这是迄今为止的第二篇文章。我相信有一天我会好起来的。)

2 个答案:

答案 0 :(得分:0)

您应该在标题参数中使用Location,例如header(“Location:page.php”); 你可以在销毁会话后放置这个标题,这不应该给出任何问题。

答案 1 :(得分:0)

正如Dorco所说:

  

您应该在标题中使用位置

因此注销功能应如下所示:

session_destroy();
session_regenerate_id(TRUE);
header("Location: login.php");
die();

我强烈建议你,所以不要简单地将post值插入SQL查询中。这将导致SQL注入。请改用prepare语句。 PHP: Prepared Statement