【问题标题】:How do you redirect to a popup using php and not javascript?如何使用 php 而不是 javascript 重定向到弹出窗口?
【发布时间】:2013-11-26 14:22:49
【问题描述】:

我在 javascript 中找到了很多方法,但我需要在 php 脚本中间调用 smack。

<form action="" method="POST" target='popup' onsubmit="window.open('','popup','width=700,height=400,left=200,top=200,scrollbars=1')">
        Send a message  : <input type="text" name="twitmessage"><br>
        <input type="checkbox" name="twitter" value="My Posting Text">Would you like to send to Twitter?<br>
        <input type="checkbox" name="facebook" value="Stuff to Post to facebook">Would you like to post to Facebook?<br>
        <input type="submit" name="submit_cycle" value="Submit">
</form>
<?php
session_start();
// store session data
$_SESSION['twitmessage'] = $_POST['twitmessage'];

if(isset($_POST['submit_cycle'])) {
        if($_POST['twitter']){
                header("location: ../index.php?p=members");
        }
        if($_POST['facebook']){
                header("location: ../index.php?p=paybill");
        }else{
                echo "Something bad happened";
        }
}
?>

【问题讨论】:

  • “重定向到弹出窗口”是什么意思?
  • 需要更好地解释您的问题...目前没有一点意义

标签: javascript php html api twitter


【解决方案1】:

另一种方法。也许我没有理解你的意图。

要在不同的窗口中打开 twitter 对话框,您只需将 target=_blank 添加到表单中即可。

其余的应该和上面一样。

要创建一个大小合适的窗口,请创建一个新的命名窗口。然后缩放它并将窗体的目标设置为窗口的名称。

【讨论】:

  • 我编辑了代码,上面几乎是完美的。如果有人选择 2 个选项,关于如何获得 2 个(一,两个)弹出窗口的任何想法?我可以得到一个就好了,第二个难倒我。
  • 绑定一个 javascript 并为每个选项循环调用 window.open 的选项?将窗口实例存储在变量中以访问它们
【解决方案2】:

你不能。

打开一个窗口是一个客户端操作,不能使用 PHP 来执行。这是原则上的。

您可以生成JS,它将在客户端打开一个新窗口。

<script>
    window.open('<?php echo htmlentities($url); ?>')
</script>

【讨论】:

  • 谢谢。这似乎是最好也是唯一的方法。
  • 请记住,使用 window.open 将打开一个“经典”弹出窗口,默认情况下所有现代浏览器通常会阻止该弹出窗口,而使用 javascript 的覆盖层并向服务器发出 AJAX 请求一边不会
猜你喜欢
  • 2013-04-02
  • 2019-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 2011-06-30
相关资源
最近更新 更多