2
<code> 
<form action="" method="get">
<table cellspacing="0">
<tbody>
<tr>
<th>Check</th>
<th>Country</th>
<th>Check</th>
</tr>
<?
while($row = mysql_fetch_array($result))
{ ?>
<tr>
<td>
<input type='checkbox' onclick="check()" name='allowed' value='1' <?
$reflex=mysql_query("select distinct * from geocity where isAllowed='1' AND 
country='" . $row['Code'] . "'"); $count = mysql_num_rows($reflex); if ($count ==
1{echo 'checked';}else{echo '';} ?>>
</td>
<td><? echo $row['CountryName']; ?></td>
<td>
<input type='checkbox' id="check1" name='countryname' value="<?echo $row['Code'];?>"
<? $reflex = mysql_query("select distinct * from geocity where isAllowed='1' AND 
country='" . $row['Code'] . "'"); $count = mysql_num_rows($reflex); if ($count == 1)
{echo 'checked';}else{echo '';} ?>>
</td>
</tr>
<?
};
?>
</tbody>
</table>
<input type="submit" class='button' value="Save">
</form>
</code>

ここに私のコードがありますが、問題が発生するために送信すると、URL "%0A" でこれが発生するため、この %0A を URL から削除するにはどうすればよいですか。URL は次のようになります。 example.com/test.php?allowed=1&countryname=AF%0A

4

3 に答える 3

5

%0AURL エンコードされた文字です。
PHP でそれらを削除するには、urldecode()関数を使用します。

[ADD]
スペースの追加を削除したい場合 (ここにいくつかあります: value="AF " )、処理trim()で関数を使用しますecho

データベースの内容を確認して、次のよう にTRIMでスペースを削除します。

UPDATE countries set countryname = TRIM(countryname);
于 2013-03-26T17:55:24.490 に答える
0

Code私には、データベースのフィールドをきれいにして 2 文字に制限する必要があるようです。DB でこれを実行して、データをクリーンアップします。

UPDATE geocity
SET Code = SUBSTRING(Code, 1, 2);

もちろん、これは、各レコードのそのフィールドの最初の 2 文字が 2 つの正しいフィールドであり、データに存在する改行文字がそれらの後に来ることを前提としています。

また、データベース アクセス パターンが大幅に改善される可能性があることにも注意してください。ループ内で同じクエリを 2 回実行しています。また、これが何百もの国コードのループである場合、必要な DB クエリが 1 つだけの場合でも、何百もの DB クエリを作成することになります。

于 2013-03-26T18:01:26.920 に答える