我不明白为什么我在php Array中将此错误转换为字符串转换

时间:2013-11-14 18:58:42

标签: php arrays forms cookies setcookie

继续下去,我想创建一个多语言网站数组到字符串转换错误:注意:数组到字符串转换在C:\ wamp \ www \ select language \ language.php第12行

<form action="language_switcher.php" method="post">
<select name="lang">
    <option value="en"<?php if( $_COOKIE["language"] == "en" ) { echo " selected"; } ?>>English</option>
    <option value="fr"<?php if( $_COOKIE["language"] == "fr" ) { echo " selected"; } ?>>Français</option>
    <option value="de"<?php if( $_COOKIE["language"] == "de" ) { echo " selected"; } ?>>Deutsch</option>
    <option value="it"<?php if( $_COOKIE["language"] == "it" ) { echo " selected"; } ?>>Italiano</option>

</select>
<input type="submit" value="Select Language">
</form>

<p>Language: <?php if( isset( $_COOKIE['language'] ) ) { echo $_COOKIE['language']; } else { echo "<em>not set</em>"; } ?></p>

1 个答案:

答案 0 :(得分:0)

很可能是你的

$_COOKIE["language"]

不是像“en”这样的字符串,而是像数组一样的数组($ code =&gt;“en”,$ name =&gt;“english”)。你需要先检查这个值。 echo it,print_r it或var_dump it。

添加

<?php var_dump($_COOKIE["language"]); ?> 

到页面顶部或任何地方。