2012-01-14 126 views
-3

我有就当饼干中的cookie文本的一个问题,我得到一个错误:“解析错误:语法错误,意想不到的T_VARIABLE,期待”关于 if $_COOKIE['style'] == 'styles2'PHP:饼干解析错误

<?php 
    if (!isset($_COOKIE['style'])) 
     echo "<option value='styles' selected>Style 1</option> 
       <option value='styles2'>Style 2</option>"; 
    else{ 
     if $_COOKIE['style'] == 'styles2' 
      echo "<option value='styles'>Style 1</option> 
        <option value='styles2' selected>Style 2</option>"; 
     else 
      echo "<option value='styles' selected>Style 1</option> 
        <option value='styles2'>Style 2</option>"; 
    } 
?> 
+1

您错过了包含'if'内容的括号。 – 2012-01-14 11:40:43

+0

不具建设性。 – 2012-01-14 11:51:15

+0

是的,我用几种语言编程,我没有看到我的错误,但我知道我是白痴! – Guillaume 2012-01-14 13:59:25

回答

0

不要重复自己。

<?php 
$style = ''; 
if (isset($_COOKIE['style'])) $style = $_COOKIE['style']; 
?> 
<option value='styles'>Style 1</option> 
<option value='styles2'<?php if ($style == 'styles2') { ?> selected<?php } ?>>Style 2</option> 
+0

请不要这样做,除非您在白名单中检查$ _COOKIE ['style']'。 XSS等待发生。 – Wrikken 2012-01-14 15:07:02

+0

它已被选中 – 2012-01-14 18:12:20

+0

选中或取消选中并不重要。或者这个问题的要点。 – Wrikken 2012-01-14 18:13:38

1

你需要围绕表达式的括号:

if ($_COOKIE['style'] == 'styles2')