로그인 할 때 사용자에게 발생하는 임의의 이벤트 시스템을 프로그래밍 중이며 아래 코드를 내 포함 파일에 넣습니다.if 문이 내 조건을 무시하는 이유는 무엇입니까?
$tehchance = mt_rand(1,15);
if ($tehchance == "1"){
$thewin = 10;
mysql_query("UPDATE members SET Points = Points + $thewin WHERE Handle = '$members[Handle]'");
}
나는 또한 다른 이벤트에 대해이 있습니다
:
if ($tehchance == "2"){
$thekhwin = 5;
$thexpwin = 10;
mysql_query("UPDATE members SET Points = Points - $thekhwin WHERE Handle = '$members[Handle]'");
mysql_query("UPDATE members SET XP = XP + $thexpwin WHERE Handle = '$members[Handle]'");
}
$ tehchance 1 또는 2 이외의 다른 것을 같은 경우 코드는, 그냥 내 조건을 무시하는 것입니다하지만 때로는 작동합니다
및 if 문을 만족시키지 않고 구성원 테이블을 업데이트하십시오. 테스트에서 무작위로 포인트를 추가하거나 포인트를 뺍니다. $ tehchance에서 난수를 출력했는데 1이나 2가 아닌 경우에도 점을 추가합니다. 그런 다음 가끔씩 멤버 테이블에 아무 것도하지 않습니다. 정말 혼란스러워.
아이디어가 있으십니까?
먼저 생성 된 임의의 정수를 문자열 값과 비교합니다. – js1568
... 그러면 뭔가 다른 점이 있습니다. –
'if ($ tehchance == 2) {echo 'it is 2';}와 같은 조건부 블록 안에 디버그 에코를 추가하십시오./* 나머지 코드 ... * /}'. 아마도'$ tehchance'를 두 번 이상 수정하거나, 스크립트를 두 번 이상 실행하거나, 다른 곳에서 관련없는 업데이트를하는 것보다 더 많이 할 수 있습니다. – erisco