尝试在PHP中编写JavaScript时出错

时间:2014-12-23 00:04:12

标签: javascript php

我正在尝试使用这个javascript函数进行重定向,该函数可以向用户显示重定向消息并重定向到给定的URL但是每当我尝试运行php时我都会收到错误

<?php
include 'theme.php';
/*ceklogin();*/
css();
if($_POST['wget-send'])
    {
        $dir=$_POST['dir'];
        $link=$_POST['link'];
        /*exec('cd '.$dir,$out);*/
        exec('echo '.$link.' > /tmp/wget-download-link.txt',$out);
        exec('wget -P '.$dir.' -b -i /tmp/wget-download-link.txt -o /www/wget.log -c -t 100 -w 10',$out);
        echo $out[2];
        echo "
                <script type="text/javascript">   
                function Redirect() 
                    {  
                        window.location="http://www.google.com"; 
                    } 
                document.write("You will be redirected to a new page in 5 seconds"); 
                setTimeout('Redirect()', 5000);   
                </script>
             ";
        exit();
    }
echo "<br><br><form action=wget_log.php method=\"post\">";
echo "Download directory :<br><input type=\"text\" name=\"dir\" size=\"15\" value=\"/mnt/usb/\"/><br>";
echo '<br>Download link :<br>';
echo "<textarea name=\"link\" rows=\"4\" cols=\"35\"></textarea><br><br>";
echo '<input type="submit" name="wget-send" value="Send" />';
echo "</form></div>";

foot();
echo '
</div>
</body>
</div>
</html>';
?>

错误说:

Parse error: syntax error, unexpected 'text' (T_STRING), expecting ',' or ';' in /www/wget.php on line 14

我哪里出错了?

1 个答案:

答案 0 :(得分:3)

当您在双引号内使用双引号时,您必须转义它们。这意味着你将\放在内部的前面。

echo "<script type=\"text/javascript\">";

将单引号放在单引号中时也是如此:

echo '<script type=\'text/javascript\'>';

但混合它们时,没有必要。即:

echo "<script type='text/javascript'>"; //single inside double
echo '<script type="text/javascript">'; //double inside single

但是对于像你的Javascript这样的长文本,你应该关闭PHP标签并在之后重新打开它。即:

<?php
//some php
if(whatever)
{
?>
 <script type="text/javascript"> blah blah blah </script>
<?php
}
?>

或者更好的是,尽可能将{Javascript与<script type="text/javascript" src="file.js"></script>包括在一起。