【问题标题】:How to redirect user if a linkid belong to certain Catid如果linkid属于某个Catid,如何重定向用户
【发布时间】:2011-12-22 04:47:04
【问题描述】:

我写了这个脚本,但没有重定向,那是什么问题 请尽快帮助我

<?php   
include('config.php');   

$number = intval($_POST['catid']);   
$query = mysql_query("SELECT * FROM sound_link WHERE linkid =$linkid");   
$check = $rows["catid"];
if ($check = 3)  
    {  
        echo '<B>..You will go to audio.php page.....................';  
    echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=AUDIO.php?linkid=$linkid'>";  
    echo mysql_error();  

        }else{  
echo '.... You will stay text.php page'; 

    }  
?>
<php include 'text.php' ;?>

我问我是否要使用标题功能而不是元刷新

请孩子们找出我在代码中犯的错误

谢谢

【问题讨论】:

  • 我重新标记了你的问题 - 你现在应该多关注一下 :)

标签: php javascript jquery redirect header


【解决方案1】:

首先,我看不到您的脚本中设置了$linkid 变量,而您在if ($check = 3) 行上出现了错误。您刚刚在那里将 $check 变量定义为 3 。用if ($check == 3) 更改那行,你在哪里设置 $rows 变量?

【讨论】:

    【解决方案2】:

    要使重定向起作用,最好的方法是通过 HTTP 重定向,这意味着您必须重新定义 HTTP 标头。

    您可以在这里获取更多信息:http://php.net/manual/en/function.header.php 另请注意,为了使标头功能正常工作,您应该在向用户输出任何 html 代码之前进行重定向,因此,这必须发生在任何“echo”或 php 结束标记之前?> 后跟任何 html 内容。

    您也不应该在此之后输出任何内容,这意味着您应该执行以下操作:

     header('Location: http://www.example.com/');
     exit; // this makes sure your script execution ends here
    

    您的问题不够清楚,但如果我理解,重定向不是您唯一的问题,您在 SQL 查询中使用 $linkid 变量而没有先定义它。

    您的 sn-p 还有一个潜在的 SQL 注入缺陷,您应该在使用 SQL 查询插入变量之前阅读它。 mysql_real_escape_string 可能会有所帮助,请在将代码投入生产之前阅读它:http://php.net/manual/en/function.mysql-real-escape-string.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-09
      • 2013-01-06
      • 1970-01-01
      • 2013-05-16
      • 2011-05-20
      • 2021-11-24
      • 1970-01-01
      • 2013-01-06
      相关资源
      最近更新 更多