簡體   English   中英

如何使用 php 重定向和 javascript 打開新的 window

[英]How to open new window using a php redirect and javascript

作為我碩士論文的一部分,我正在使用 thinglink.com 和谷歌 forms 為英語學習者制作一個數字逃生室,我需要學生用正確的答案/代碼填寫谷歌表格,然后他們才能 go 到下一個“房間”或場景。 這被證明是困難的,因為表格在 thinglink 應用程序上的一個小插圖 window 中打開,所以當我將指向下一個場景的鏈接放在最終成功頁面上時,學生只有在正確完成表格后才能看到,鏈接在相同的小 window 表單位於其中,而不是新的 window 或標簽。

我不能在鏈接中放置target"_blank" ,因為你將它寫成文本,而不是谷歌 forms 上的 html,它會自動解析,所以我想我可以使用 php 和 javascript window.open()繞過它

有 4 個不同的場景顯示加那利群島的環境問題,所以我寫了一個小頁面,我可以在我的服務器上托管,該頁面將根據參數重定向到一個場景。

示例鏈接為:http://proyectoclil.islaidiomas.com/thinglink.php?t=2&p=yes

它對我不起作用......我不確定為什么。 我收到 HTTP 錯誤 500。

2 號的 thinglink 場景是這個: https://www.thinglink.com/video/1383584341203877890

谷歌 forms 打開箭頭圖標。 問題的答案是:1a。 化石燃料,1b。 50-100 年,2. 堆肥,3. 可生物降解,4. 343615。(小寫單詞)

這是我的代碼:

<?php

$_GET[$t];

if ($t='2') {$m='1383584341203877890';} // Granadilla
elseif ($t='3') {$m='1384238142592122882';} // Los Gigantes
elseif ($t='4') {$m='1384298132874985474';} // Teide
else ($m='1383032295832682498'); // Vilaflor
  
$thinglink = 'https://www.thinglink.com/mediacard/' . $m . '?p=yes';

?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Thinglink Escape Room</title>

<?php

if( isset($_GET['p']) {
echo 'window.open("' . $thinglink . '")';
}
   
?>
</head>

<body>
This page should redirect you. Please <a href="<?php echo $thinglink; ?>" target="_blank">CLICK HERE</a> if it doesn't.
</body>
</html>

在此先感謝您的幫助!

科斯蒂

腳本有一些錯誤

Parse error: syntax error, unexpected '{' on line 22

PHP error display 應該在開發過程中開啟,參見How do I get PHP errors to display?

變量t可以這樣設置$t = $_GET["t"]

window.open 調用應被<script>標記包圍,以便作為 JavaScript 執行。

<script><?php echo "window.open('$thinglink')"; ?></script>

但是,此函數會打開一個彈出窗口 window。許多瀏覽器會阻止彈出窗口。 我建議使用<meta http-equiv="Refresh" ,參見https://www.w3docs.com/snippets/html/how-to-redirect-a-web-page-in-html.html

一個工作建議:

<?php

$t = $_GET["t"];

if ($t='2') {$m='1383584341203877890';} // Granadilla
elseif ($t='3') {$m='1384238142592122882';} // Los Gigantes
elseif ($t='4') {$m='1384298132874985474';} // Teide
else ($m='1383032295832682498'); // Vilaflor

$thinglink = 'https://www.thinglink.com/mediacard/' . $m . '?p=yes';

?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Thinglink Escape Room</title>



<?php if (isset($_GET['p'])) {?>
    <meta http-equiv="Refresh" content="0; url='<?php echo $thinglink; ?>'" />
<?php } ?>


</head>

<body>
This page should redirect you. Please <a href="<?php echo $thinglink; ?>" target="_blank">CLICK HERE</a> if it doesn't.
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM