Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中,登录数据库后试图将用户重定向到链接_Php_Mysql - Fatal编程技术网

在php中,登录数据库后试图将用户重定向到链接

在php中,登录数据库后试图将用户重定向到链接,php,mysql,Php,Mysql,在php中,我试图在从数据库查询时将用户重定向到链接。登录后,结果只显示url,而不是重定向到url <?php if(isset($_POST['submitMain'])) { $username= $_POST['username']; $password = $_POST['password']; $_POST['username'] = $_SESSION['username']; $_POST['password'] = $_SESSI

在php中,我试图在从数据库查询时将用户重定向到链接。登录后,结果只显示url,而不是重定向到url

<?php
  if(isset($_POST['submitMain']))
  {
    $username= $_POST['username'];
    $password = $_POST['password'];

    $_POST['username'] = $_SESSION['username'];
    $_POST['password'] = $_SESSION['password'];  

    $sql = "SELECT * FROM user WHERE username='$username' and password='$password'"; 

    $result = mysql_query($sql); 

    // Mysql_num_row is counting table row 
    $count = mysql_num_rows($result); 

    if($count == 1){ 
      $result = mysql_fetch_contents($result); // get the result set from the query

      $url = trim($result['url']); // get the url column's value

      if ($url == '') {
        echo "No url value was set!";
      } else {
        $ob_get_contents  = 'admin.php';
        echo "$ob_get_contents ";
        exit;
      }
    } else { 
      echo "Wrong Username or Password"; 
    } 
  }

这部分不行。它只是呼应“admin.php”。您似乎试图使用
ob\u get\u contents
函数做一些事情,但它不是这样工作的。在代码中,只有一个名为
ob\u get\u contents
的变量,它与函数无关

此外,
ob\u get\u contents
不是从另一页获取信息或执行重定向到另一页的正确功能

要重定向到另一页,请使用
位置
标题:

header('Location:' . $url);
exit;

这将导致浏览器的小往返。基本上,您向浏览器发送一个小结果,告诉它对另一个url执行第二个请求。但别担心。这是一种常见的解决方案,尤其是在发布信息之后。请参阅有关的详细信息。

要重定向用户,需要设置重定向标头

为此,您需要使用以下功能:

header("location: your location goes here"); exit();
例如,如果您的站点位于,则要重定向到管理区域,您将使用以下用户:

header("location: http://www.example.com/admin.php"); exit();

您还需要在重定向标头之后退出。

使用标头('Location:xyz.php');有关更多检查链接,您似乎正在学习PHP。如果是这样,最好不要学习
mysql.*
函数。他们被弃用了。最好使用
mysqli
PDO
。关于任何
mysql\u*
函数,函数顶部有一个大的红色框,为您提供更多信息。但是url对于每个用户都是唯一的。啊,然后在位置标题中使用您的
$url
变量(请参阅答案中的修复)。我对您代码中的硬编码
admin.php
感到有点困惑,我真的不明白您试图在那里实现什么。当我使用该代码时,我收到以下错误消息警告:无法修改标题信息-标题已由发送(输出开始于C:\xampp\htdocs\alchesman\index.php:210)在C:\xampp\htdocs\alchesm\index.php的第238行,这一定是因为您以前输出过内容。这不会发生在您发布的代码中,但可能还有其他代码已经输出了某些内容。您需要发送标题以执行重定向,但只有在您之前未发送任何内容(或者实际上,当您尚未发送标题时)时,才能发送标题。不,我没有使用标题
header("location: http://www.example.com/admin.php"); exit();