Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
Javascript 在其他选项卡中打开链接_Javascript_Php - Fatal编程技术网

Javascript 在其他选项卡中打开链接

Javascript 在其他选项卡中打开链接,javascript,php,Javascript,Php,我有一个按钮,允许从twitter进行身份验证,一切正常,但唯一的问题是我希望在另一个选项卡上打开login-twitter.php页面,我尝试使用window.open代替header,但没有成功。有人能告诉我怎么做吗 <?php ob_start(); session_start(); if (isset($_SESSION['id'])) { header("location: u_tasks.php"); } if (array_key_exists("login",

我有一个按钮,允许从twitter进行身份验证,一切正常,但唯一的问题是我希望在另一个选项卡上打开login-twitter.php页面,我尝试使用window.open代替header,但没有成功。有人能告诉我怎么做吗

<?php 
ob_start();
session_start(); 
if (isset($_SESSION['id'])) {
    header("location: u_tasks.php");
}

if (array_key_exists("login", $_GET)) 
    {
        $oauth_provider = $_GET['oauth_provider'];
            if ($oauth_provider == 'twitter') 
                {
                    header("Location: login-twitter.php");
                } 
    }
?>
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<?
    echo "<div class='col-md-9'>";
        echo "<a href='?login&oauth_provider=twitter'><button style='background-color:#1dcaff; border-color:#1dcaff; color:white; height:30px; border-radius:10px;'>Go To Twitter</button></a>";
    echo "</div>";
?>
</body>
</html>


我认为这对你有帮助。

<a href='?login&oauth_provider=twitter' target="_blank"><button style='background-color:#1dcaff; border-color:#1dcaff; color:white; height:30px; border-radius:10px;'>Go To Twitter</button></a>

使用
标题(“位置:…”只能执行重定向。据我所知,为了达到你的目标,你必须使用一些javascript或html。另一个问题是浏览器喜欢阻止自动打开的弹出窗口,因为99%的时间自动弹出窗口只被垃圾邮件发送者使用。但是,我将向您展示一种尝试这样做的方法:

<?php
$usingTwitter=0;
ob_start();
session_start(); 
if (isset($_SESSION['id'])) {
    header("location: u_tasks.php");
}

if (array_key_exists("login", $_GET)) 
    {
        $oauth_provider = $_GET['oauth_provider'];
            if ($oauth_provider == 'twitter') 
                {
                    $usingTwitter=1;
                } 
    }
?>
<!DOCTYPE html>
<html lang="en">
<head>
<script>
    <?php
        if($usingTwitter){
            echo "window.open('login-twitter.php');";
        }
    ?>
<script>
</head>
<body>
<?
    echo "<div class='col-md-9'>";
        echo "<a href='?login&oauth_provider=twitter'><button style='background-color:#1dcaff; border-color:#1dcaff; color:white; height:30px; border-radius:10px;'>Go To Twitter</button></a>";
    echo "</div>";
?>
</body>
</html>


只是一个建议:如果您只是执行GET或POST请求,并根据返回执行某些操作,而不是重定向,那么您的代码可能会工作得更好。