php重定向使用js脚本无法正常工作

时间:2017-04-26 20:27:07

标签: javascript php session redirect

此代码提供以下错误:解析错误:语法错误,意外的文件结尾

?> <script language="javascript"> document.location.href='<?=$redirect?>'; </script> <? die;

如果我评论这一切看起来很好。 你能帮我吗?

编辑: 这是整个文件:

    <?php
define ('DB_USER', 'andrei');
define ('DB_PASSWORD', 'test');
define ('DB_HOST', 'localhost');
define ('DB_NAME', 'mydb');
$conn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) or die ('Could not connect: ' . mysqli_connect_error() );

$debug = false;
if (isset($_GET["preview"]) && $_GET["preview"]=="preview")
    $debug = true;
if(isset($_COOKIE["debug"]))
    $debug = true;
define('DEBUG', $debug);

if(DEBUG) { 
    ini_set("display_errors",1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL ^ E_NOTICE); 
} else { 
    ini_set("display_errors",0);
    ini_set('display_startup_errors', 0);
    error_reporting(0); 
}


define(FB_APPID,"16657567567032766");
define(FB_SECRET,"64753e7857878db1ca87be9b3f192afdd414");

require 'facebook/facebook.php';
$facebook = new Facebook(array(
  'appId'  => FB_APPID,
  'secret' => FB_SECRET,
  'cookie' => true
));

function SQLexec( $conn, $query ) {
    global $conn;
    if (DEBUG) {
        if ($r = mysqli_query( $conn, $query ))
        {

        }else{
            echo "<BR>".$query."<BR>".mysqli_error($conn).$_SERVER['PHP_SELF'];die();
            return false;
        }

    }else{

        $r = mysqli_query( $conn, $query );
    }   
    return $r;
}

function SQL2Array ( $sql) {
    $result=SQLexec($conn,$sql);
    $ret = array();
    while ($row = mysqli_fetch_assoc($result)) {
        $ret[] = $row;
    }
    return ($ret);
}

function SQLread($sql) {
    $result=SQLexec($conn,$sql);
    if ($row = mysqli_fetch_assoc($result))
    {
        return $row;
    }
    return null;
}

function pr($tablou) {
    echo "<div align='left'><pre>";
    print_r($tablou);
    echo "</pre></div>";
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////// Redirect //////////////////////////////////////////////////
function redirect($redirect=NULL,$flash=NULL,$secs=5){
    if($redirect==NULL) return false;

    if (!headers_sent())
    {
        if($flash==NULL){
            header("Location:".$redirect);die;
        }else{
            header("refresh:".$secs.";url=".$redirect);
            echo $flash.'<br />Click <a href="'.$redirect.'">here</a> to be redirected.';
            die;
        }
    }
    else
        {
            ?> <script language="javascript"> document.location.href='<?=$redirect?>'; </script> <? die;
        }
}
///////////////////////////////////////////// End of Redirect ///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////

//session_start();
?>

2 个答案:

答案 0 :(得分:1)

你试过吗

<script>
    window.location = '<?=$redirect?>';
</script>

答案 1 :(得分:1)

你的sintax错了。试试这个:

    <?php
define ('DB_USER', 'andrei');
define ('DB_PASSWORD', 'test');
define ('DB_HOST', 'localhost');
define ('DB_NAME', 'mydb');
$conn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) or die ('Could not connect: ' . mysqli_connect_error() );

$debug = false;
if (isset($_GET["preview"]) && $_GET["preview"]=="preview")
    $debug = true;
if(isset($_COOKIE["debug"]))
    $debug = true;
define('DEBUG', $debug);

if(DEBUG) { 
    ini_set("display_errors",1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL ^ E_NOTICE); 
} else { 
    ini_set("display_errors",0);
    ini_set('display_startup_errors', 0);
    error_reporting(0); 
}


define(FB_APPID,"16657567567032766");
define(FB_SECRET,"64753e7857878db1ca87be9b3f192afdd414");

require 'facebook/facebook.php';
$facebook = new Facebook(array(
  'appId'  => FB_APPID,
  'secret' => FB_SECRET,
  'cookie' => true
));

function SQLexec( $conn, $query ) {
    global $conn;
    if (DEBUG) {
        if ($r = mysqli_query( $conn, $query ))
        {

        }else{
            echo "<BR>".$query."<BR>".mysqli_error($conn).$_SERVER['PHP_SELF'];die();
            return false;
        }

    }else{

        $r = mysqli_query( $conn, $query );
    }   
    return $r;
}

function SQL2Array ( $sql) {
    $result=SQLexec($conn,$sql);
    $ret = array();
    while ($row = mysqli_fetch_assoc($result)) {
        $ret[] = $row;
    }
    return ($ret);
}

function SQLread($sql) {
    $result=SQLexec($conn,$sql);
    if ($row = mysqli_fetch_assoc($result))
    {
        return $row;
    }
    return null;
}

function pr($tablou) {
    echo "<div align='left'><pre>";
    print_r($tablou);
    echo "</pre></div>";
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////// Redirect //////////////////////////////////////////////////
function redirect($redirect=NULL,$flash=NULL,$secs=5){
    if($redirect==NULL) return false;

    if (!headers_sent())
    {
        if($flash==NULL){
            header("Location:".$redirect);die;
        }else{
            header("refresh:".$secs.";url=".$redirect);
            echo $flash.'<br />Click <a href="'.$redirect.'">here</a> to be redirected.';
            die;
        }
    }
    else
        {
          echo  "<script language='javascript'> document.location.href='<?=$redirect?>'; </script>";
        }
}
///////////////////////////////////////////// End of Redirect ///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////

//session_start();
?>