Как перенаправить пользователя, если linkid принадлежит определенному Catid - PullRequest
0 голосов
/ 22 декабря 2011

Я написал этот скрипт, но без перенаправления, так в чем проблема, помогите мне как можно скорее

<?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' ;?>

и я спрашиваю, хочу ли я использовать функцию заголовка вместо meta refresh

пожалуйста, постарайтесь найти ошибку, которую я сделал в коде

THANKS

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Чтобы перенаправление работало, лучше всего использовать HTTP Redirect, что означает, что вам нужно переопределить заголовок HTTP.

Вы можете получить больше информации здесь: http://php.net/manual/en/function.header.php Также обратите внимание, что для беспроблемной работы функции заголовка вы должны выполнить перенаправление ПЕРЕД тем, как вы выводите какой-либо html-код пользователю, поэтому это ДОЛЖНО произойти до любого тега «echo» или php end?>, За которым следует любой html-контент.

Вы также не должны выводить контент после этого, что означает, что вы должны сделать следующее:

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

Ваш вопрос недостаточно ясен, но если я понял, перенаправление не единственная ваша проблема, вы используете переменную $ linkid внутри запроса SQL, не задавая ее сначала.

В вашем фрагменте также есть потенциальный недостаток SQL-инъекции, вы должны прочитать об этом, прежде чем интерполировать переменные с запросами SQL. Может быть полезна mysql_real_escape_string, пожалуйста, прочитайте ее, прежде чем запускать свой код в производство: http://php.net/manual/en/function.mysql-real-escape-string.php

1 голос
/ 24 декабря 2011

Прежде всего, я не вижу переменную $linkid, установленную в вашем скрипте, и вы получили ошибку в строке if ($check = 3). вы только что определили переменную $ check как 3. измените эту строку на if ($check == 3) и где вы установили переменную $ row?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...