내 웹 사이트에 하나의 선택 상자와 하나의 라디오 버튼 세트가 있습니다. radiobutton을 변경 한 후 selectbox의 값을 유지하려고합니다. 나는 선택 박스에서 값을 유지하기 위해 관리했습니다하지만 난 다른 라디오 버튼을 누를 때이 오류를두 게시물 뒤에 select 값을 유지하는 방법은 무엇입니까?
"checkGame 라인 (13)에 공지 사항 : 정의되지 않은 인덱스 : checkGame 줄에 11
공지 사항 : 정의되지 않은 인덱스"를 얻을 이 라인
if(isset($_POST['submit']) && $_POST['checkGame'] != 'Any')
{
$game = $_POST['checkGame'];
$sql="SELECT ipaddress, port FROM servers WHERE game=('$game')";
$result=mysqli_query($con,$sql);
$result=mysqli_query($con,$sql);
while ($row=mysqli_fetch_array($result)) {
array_push($serverConnectionArray, ["address" =>$row['ipaddress'], "port" =>$row['port']]);
}
}
if(isset($_POST['playersSort']))
{
if($_POST['playersSort'] == 'Players Descending')
{
uasort($serverArray, function($a, $b) {
return $b['Players'] <=> $a['Players'];
});
}
if($_POST['playersSort'] == 'Players Ascending')
{
uasort($serverArray, function($a, $b) {
return $a['Players'] <=> $b['Players'];
});
}
if($_POST['playersSort'] == 'Max Players Descending')
{
uasort($serverArray, function($a, $b) {
return $b['MaxPlayers'] <=> $a['MaxPlayers'];
});
}
if($_POST['playersSort'] == 'Max Players Ascending')
{
uasort($serverArray, function($a, $b) {
return $a['MaxPlayers'] <=> $b['MaxPlayers'];
});
}
}
<form method="post">
Game:
<select name="checkGame">
<option value="Any"<?php if (isset($game) && $game=="Any") echo "selected";?>>Any</option>
<option value="Garrys Mod"<?php if (isset($game) && $game=="Garrys Mod") echo "selected";?>>Garrys Mod</option>
<option value="Counter Strike Global Offensive"<?php if (isset($game) && $game=="Counter Strike Global Offensive") echo "selected";?>>Counter Strike Global Offensive</option>
<option value="Counter Strike Source"<?php if (isset($game) && $game=="Counter Strike Source") echo "selected";?>>Counter Strike Source</option>
<option value="Team Fortress 2"<?php if (isset($game) && $game=="Team Fortress 2") echo "selected";?>>Team Fortress 2</option>
</select>
<input type="submit" name="submit" value="Filter"/>
</form>
<form action="" method="post">
<input type="radio" name="playersSort" value="Players Descending">Players Descending
<input type="radio" name="playersSort" value="Players Ascending">Players Ascending
<input type="radio" name="playersSort" value="Max Players Descending">Max Players Descending
<input type="radio" name="playersSort" value="Max Players Ascending">Max Players Ascending
<input type="submit" name="submit" value="Sort" />
</form>
두 번째 양식은 아무런 영향을 미치지 않거나 적어도 양식을 제출할 때 처리되는 코드를 공유하지 않았습니다. 당신은 생각했을 텐데, 단지 하나의 형식 만 가질 수있었습니다! 또한 SQL은 SQL 주입에 취약합니다. – RamRaider
두 번째 양식의 코드를 추가했습니다. 두 가지 형식의 이유는 다른 위치에 코드를 갖고 싶었 기 때문에 지금 다시 생각했습니다. 나는 아마 아직도 한 가지 형태로 그것을 가질 수 있습니다 ... 감사합니다! 취약점을 해결하기 위해 수행 할 수있는 작업은 무엇입니까? – Leyer
방금 하나의 양식을 사용했을 때 모든 것이 작동했습니다. 나는 지체되었다.오전 3시에 코드를 작성하면 안됩니다. 건배! 그래도 취약점에 대해 듣고 싶습니다. – Leyer