0
我得到了問題,我的變量$ x沒有被重新聲明爲「english」。哪裏有問題?非常感謝:不在php中重新聲明變量
<?php
// assign language or default english
$x = $lang_detected;
$language_table = '
<form id="lang_detected" method="post"
action="' . htmlspecialchars($_SERVER["PHP_SELF"]) . '">
<input type="button" value="' . $x . '" onclick = "displayLangList()" style="width:200px;display:block;margin:auto;" />
<input type="submit" value="ok" />
</form>';
$possible_lang = mysqli_query($con,
'SELECT name2 FROM page WHERE name2 = "' . $lang_detected . '"');
if (mysqli_num_rows($possible_lang) > 0) {
echo $language_table;
} else {
$x = 'english';
echo $language_table;
}
?>
即使我做的:
if (mysqli_num_rows($possible_lang) > 0) {
$x = "bla bla";
echo $language_table;
} else {
$x = 'english';
echo $language_table;
}
$ X仍持有價值:
$x = $lang_detected;
非常感謝!
** WARNING **:當使用'mysqli'你應該使用[參數化查詢(http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和[ 'bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **不要**使用字符串插值或連接來完成此操作,因爲您創建了嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 **不要**將'$ _POST','$ _GET'或**任何**用戶數據直接放入查詢中,如果有人試圖利用您的錯誤,這可能會非常有害。 – tadman