Php Can';无法获取要发布的表单或查询不起作用

Php Can';无法获取要发布的表单或查询不起作用,php,Php,我正在努力学习$\u会话变量,并且一直在学习一些在线教程。 我已经创建了一个表单,并将其发回同一页面,但查询失败。我有一个“users”表,我在userlogin字段中添加了“bob”,在user\u passwrd字段中添加了“bob”。执行时,从if/else语句中得到查询失败的错误。 我不知道我做错了什么,我真的很感谢你在这方面的帮助。 我不知道表单是否没有发布,或者问题可能在哪里。 代码如下: <?php include ('admin_pages/sql_pages/sq

我正在努力学习$\u会话变量,并且一直在学习一些在线教程。 我已经创建了一个表单,并将其发回同一页面,但查询失败。我有一个“users”表,我在userlogin字段中添加了“bob”,在user\u passwrd字段中添加了“bob”。执行时,从if/else语句中得到查询失败的错误。 我不知道我做错了什么,我真的很感谢你在这方面的帮助。 我不知道表单是否没有发布,或者问题可能在哪里。 代码如下:

<?php
    include ('admin_pages/sql_pages/sql_connect_L.inc.php');

    $login = mysql_real_escape_string($_POST['login']);
    $passwrd = mysql_real_escape_string($_POST['passwrd']);

    $sql = mysql_query("SELECT * FROM users WHERE userlogin = '$login' AND user_passwrd = '$passwrd'");

    $count = mysql_num_rows($sql);

    if($count == 1)
    {
        session_start();
        $_SESSION['login'] = '$login';
        header('location: admin_pages/dashboard.php');
    }

    else
    {
        echo " Your query failed";
    }

?>

    <form method="post" action="logintest.php">
      Username: <input name="login" type="text" class="login_fields" />
      <br/>
      Password: <input name="passwrd" type="password" class="login_fields" />
      <br/>
      <input name="submit" type="submit" class="long_button" id="submit" value="Login" />
    </form>

调试的第一步是检查SQL字符串:

$sqlText = "SELECT * FROM users WHERE userlogin = '$login' AND user_passwrd = '$passwrd'";
echo $sqlText;
$sql = mysql_query($sqlText) or die(mysql_error());
我注意到,您的代码中有一个小问题:

$_SESSION['login'] = '$login';
将导致会话['login']的值为
$login
。不是
$login
的值。要修复此问题,请将代码更改为:

$_SESSION['login'] = "$login";
//or to be simpler:
$_SESSION['login'] = $login;

为什么

顺便说一句,您没有提供错误消息。它从else语句中告诉我“您的查询失败”。我还从关于会话启动的if语句中得到错误:Cannot send session cookie Cannot send session cache limiter-Cannot modify header informations感谢您的响应。我已经添加了代码,当我在用户名和密码中输入值“bob”时,它会回显这些值。那么,我下一步该怎么办?我对这个很陌生,正在努力学习。再次感谢。我已经做了更改,但是我从$\u SESSION的内容中得到了错误,例如:警告:SESSION\u start()[function.SESSION start]:无法发送会话cookie-已由(输出从I:\xampp\htdocs\logintest.php:8开始)在I:\xampp\htdocs\logintest.php的第15FYI行中发送的头(输出从I:\xampp\htdocs\logintest.php:8开始),必须在任何服务器输出之前设置SESSION\u start()。甚至没有单个空格或
输入
。否则,将出现错误:
无法发送会话cookie无法发送会话缓存限制器-无法修改头信息