我试图制作一个页面,当他们离开我的网站时会警告他们,我似乎无法正确识别标点符号。这是代码:
<?php
$link = (string) $_GET['link'];
echo 'Are you sure you want to leave this site?<br />';
echo 'Destination: <strong>'.$link.'</strong><br />';
echo '<table border="0" cellspacing="15" width="100%">';
echo '<tr>';
echo '<td bgcolor="grey" onclick="location.href='".$link."'">';
echo '<font color="white" size="5">Movies</font>';
echo '</td>';
echo '</tr>';
echo '</table>';
?>
此代码已经证明适用于像这样的常规链接
echo '<a href="'.$link.'">Proceed</a>';
作为参考,我的错误消息说明了这一点:
Parse error: syntax error, unexpected '"', expecting ',' or ';' in X:\path\to\file\index.php on line 9
此外,如果您需要知道,我使用这样的链接指示我的退出页面:
<a href="/link/to/exit/page/?link=http://www.example.com">
然而,我似乎无法让标点符号在我的桌子上工作。有谁知道我如何格式化,以便它可以在我的表中工作?
答案 0 :(得分:1)
正如您在颜色编码中看到的那样,它并不完全正确。
echo '<td bgcolor="grey" onclick="location.href=\''.$link.'\';">';
应该这样做 - 注意这里的颜色编码?
顺便说一句,不允许任意输入被转储。我能做到:
/link/to/exit/page?link=<script type="text/javascript">alert('lol I just haxed you');</script>
答案 1 :(得分:0)
echo '<td bgcolor="grey" onclick="location.href='".$link."'">';
应该是
echo '<td bgcolor="grey" onclick="location.href='.$link.'">';
不需要另一组引号。
答案 2 :(得分:-1)
echo '<td bgcolor="grey" onclick="location.href='".$link."'">';
应该是
echo '<td bgcolor="grey" onclick="location.href=\''.$link.'\'">';