2012-09-05 97 views
-1

我的PHP脚本指向一个URL取决于哪个提交按钮被按下。然而,当我运行测试时,我收到一个错误,说第4行包含一个意想不到的“:”,但我的第4行是我的标题脚本与网址?语法错误 - 意外“:”

我很困惑,因为我有类似的其他脚本,他们不给我那个错误。任何人都可以告诉我我错过了什么,可能很简单,我之前被抓过简单。

<?php 
if ($_REQUEST['Dish1'] == 'Dish1') 
{ 
header(“Location: http://blahblah”.urlencode($_POST[‘uid’])); 
} 
else if ($_REQUEST['Dish1'] == 'Dish2') 
{ 
header(“Location: http://blahblah2”.urlencode($_POST[‘uid’])); 
} 
else if ($_REQUEST['Dish1'] == 'Dish3') 
{ 
header(“Location: http://blahblah3”.urlencode($_POST[‘uid’])); 
} 
etc..... 
?> 

回答

4

您正在使用卷曲的引号。

分别将所有“ ”‘ ’分别替换为"'

+0

+1 - 我只是在问题中进行编辑时,我注意到了! – andrewsi

+0

告诉你我可能很简单,有时候会认为当我从记事本中复制某些东西时,引号发生了变化,并且在再次复制之前不记得更改它们。谢谢大家 –

+0

任何人都可以请解释为什么微软使用这些不可思议的字符????? – scottyseus

2

您正在使用错误的引号...使用“”而不是“”。 Refer to Wikipedia,你必须使用打字机报价,而不是卷曲或引号。

PD:PHP Parse error: syntax error, unexpected '.' on line 15; )

0

替换您如下

<?php 

if ($_REQUEST['Dish1'] == 'Dish1') 
{ 
header("Location: http://blahblah.urlencode".($_POST['uid'])); 
} 
else if ($_REQUEST['Dish1'] == 'Dish2') 
{ 
header("Location: http://blahblah2".urlencode($_POST['uid'])); 
} 
else if ($_REQUEST['Dish1'] == 'Dish3') 
{ 
header("Location: http://blahblah3".urlencode($_POST['uid'])); 
} 

?> 
0

代码岂不是更容易编写:

$lookup = array('Dish1' = > 'http://blba1', 'Dish2' = > 'http://blba2'); 

if(isset($lookup[$_REQUEST['Dish1']])) 
    header("Location: " . $lookup[$_REQUEST['Dish1']]);