通过 PHP 从 SQL 中的 table 获取 ID
Geting ID from table in SQL through PHP
我正在尝试使用 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");
?>
提前致谢,如果答案不尽如人意,我们深表歉意。我已经阅读了规则,但这是迄今为止的第二个 post。我相信总有一天我会好起来的:)
您应该在 header 参数中使用 Location,例如 header("Location: page.php");
你可以在你摧毁 session 之后放置这个 header,应该不会有任何问题。
正如多尔科所说:
You should use Location in your header
所以注销函数应该是这样的:
session_destroy();
session_regenerate_id(TRUE);
header("Location: login.php");
die();
我强烈建议您不要简单地将 post 值插入到 SQL 查询中。这将导致 SQL 注入。请改用准备语句。 PHP: Prepared Statement
我正在尝试使用 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");
?>
提前致谢,如果答案不尽如人意,我们深表歉意。我已经阅读了规则,但这是迄今为止的第二个 post。我相信总有一天我会好起来的:)
您应该在 header 参数中使用 Location,例如 header("Location: page.php"); 你可以在你摧毁 session 之后放置这个 header,应该不会有任何问题。
正如多尔科所说:
You should use Location in your header
所以注销函数应该是这样的:
session_destroy();
session_regenerate_id(TRUE);
header("Location: login.php");
die();
我强烈建议您不要简单地将 post 值插入到 SQL 查询中。这将导致 SQL 注入。请改用准备语句。 PHP: Prepared Statement