2012-02-04 38 views
0
$query=sprintf("SELECT member FROM".$table_name."WHERE member=%s AND memberpwd=%s",$membername,$memberpassword); 
$result=mysql_query($query); 
if(!$result) 
{ 
    echo "Unable to select members"; 
    mysql_close(); 
    exit(); 
} 
$rowNum=mysql_num_rows($result); 
if(0!=$rowNum) 
{ 
    session_start(); 
    $user=mysql_result($result,0,'member'); 
    $_SESSION['user']=$user; 
    header('Location:index.php'); 
    echo "Welcome ".$user; 
     exit(); 
} 

我使用该代码来验证登录用户并开始他的会话,但浏览器中没有显示任何内容。我还希望登录用户出现在他访问的每个页面中,例如论坛登录成员,但我不知道如何将Cookie与session进行存储,以便在每次重访时都能记住他。 。这是我做的最难的部分,有人可以帮我吗?基本登录用户和会话加上cookie

编辑:对不起,我的PHP知识刚刚到达并停在那里 - 会话部分。如果我可以有一个ABC会话解释教程,这将是非常有益的,谢谢。

+0

对于SQL注入/黑客,您是开放的。首先查看参数化查询,并在整个过程中安全地进行查询,否则在第一位黑客开始之前就完成了。 – DRapp 2012-02-04 03:41:24

+0

谢谢,目前我只需要工作的东西。 – Mackintoast 2012-02-04 03:49:44

回答

0

第二种特殊情况是“位置:”标题。除了已经设置了201或3xx状态码 之外,它不仅会将此标题发送回浏览器,还会向浏览器返回REDIRECT (302)状态码。 (header() on php.net

<?php 
header("Location: http://www.example.com/"); /* Redirect browser */ 
/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?> 

它不是因为重定向的显示。在index.php中放置echo "Welcome ".$_SESSION['user'];

0

没有定义$member,在底部。

echo "Welcome ".$user;

...应该工作。

+0

谢谢你指出。我编辑我的帖子,登录表单在发布后仍然会产生相同的空白页面。 – Mackintoast 2012-02-04 04:03:14