2009-08-21 4 views
0

휴대 전화 전용 웹 앱을 개발 중이며 문제가 생겼습니다. 설치 한 Blackberry 에뮬레이터에서 모든 것이 정상적으로 작동합니다. 그러나 Openwave 또는 Nokia N60 에뮬레이터를 실행할 때 더 이상 내 응용 프로그램에 로그인 할 수 없습니다. 로그를 확인할 때, 이유는 $ _POST 변수가 모두 비어 있음을 알게되었습니다.휴대 전화 에뮬레이터에서 POST 변수가 손실되는 이유는 무엇입니까?

나는 그것이 문제가 될 것이라고 생각할 수있는 모든 것을 다 실행했으며, 여전히 고생했습니다. Wikipedia가 나열한 DOCTYPE 세 가지를 모두 시도했는데, 그게 다름 아닌 다른 종류의 모든 헤더를 보내려고했습니다. 그리고 난 그냥 난처한 것입니다.

마지막으로 생각한 것은 내 양식 코드 자체가 잘못되었을 가능성이 있습니까? 내 양식에 표를 동봉하고, 내가 본 모든 예는 양식과 단락을 묶습니다.

e.e. 예제에서 나는 참조 :

<form> 
    <p> 
     ... stuff ... 
    </p> 
</form> 

그리고 내가 가진 :

<form action="/" method="POST" class="formic"> 
    <table class="mobile-form"> 
     <tr> 
      <td colspan="2" class="label required">Email address</td> 
     </tr> 
     <tr> 
      <td colspan="2" class="data"><input type="text" name="email" class="text" /></td> 
     </tr> 
     <tr> 
      <td colspan="2" class="label required">Password</td> 
     </tr> 
     <tr> 
      <td><img src="/images/exclamation.png" class="error_icon" value="/images/exclamation.png" /></td> 
      <td class="data"><input type="password" name="password" class="text" /></td> 
     </tr> 
     <tr> 
      <td colspan="2" class="data field-error">You must enter a password.</td> 
     </tr> 
     <tr> 
      <td colspan="2" class="label required">Sign in to:</td> 
     </tr> 
     <tr> 
      <td colspan="2" class="data"> 
       <select name="aspect"> 
        <option value="web">Web interface</option> 
        <option selected="selected" value="mobile">Mobile interface</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <input type="hidden" name="saved_aspect" value="0" /> 
       <label> 
        <input type="checkbox" name="saved_aspect" checked="checked" value="1" /> 
        Save interface choice on this computer. 
       </label> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2" class="submit"><input type="submit" name="" class="submit" value="Log in" /></td> 
     </tr> 
    </table> 
</form> 

는 그것을 할 수 있을까요? 어디에서 이것을 증명할 문서/사양을 찾을 수 있습니까?

답변

1

입력 버튼 (및 일반 양식)에 대한 코드를 표시하십시오. 나는 전에이 문제가 있었고 버튼은 'submit'(또는 다른 아주 어리석은 실수)이 아니 었습니다.

+0

전체 형식 코드가 추가되었습니다. –

+0

젠장. 나는 도움을 좀 바란다. –

0

사이트의 루트가 아닌 페이지에 게시하면 동작이 변경됩니까?

+0

슬프게도, 아니오. 원래이 페이지는 실수로/login/index에 결과를 보냈지 만, 이는 올바른 컨트롤러 경로이지만/기본적으로 /로 라우팅됩니다. 사이트의 루트를 목표로 수동으로 수정했고 여전히 주사위가 없습니다. 파이어 폭스와 블랙 베리에서 작동하기 때문에 Openwave와 노키아의 오퍼링에서 더 엄격한 파서 또는 무언가와 관련이 있다고 생각합니까? –

3

노키아 Symbian 9 'servies'브라우저에는 대부분의 HTML 양식 요소와 관련된 POST 변수가 서버로 전송되지 않도록하는 주요 (IMO) 버그가 있습니다. 사용자는 라디오 버튼과 확인란을 선택한 것처럼 보지만 양식을 제출하면 브라우저가 POST 데이터를 보내지 못합니다. N70, N71 및 기타 일반 Symbian 9 핸드셋에서보고하는 것과 동일한 문제가 발생했습니다.

이전 Nokia Symbian 9 핸드셋에는 '서비스'와 '웹'의 두 가지 브라우저가 있습니다. 가장 큰 차이점은 Webkit 기반 브라우저에는 당시 주요 모바일 마크 업 언어 인 WML에 대한 지원이 포함되어 있지 않아 '서비스'브라우저가 WAP 브라우징에 사용된다는 것입니다. '서비스'브라우저는 많은 핸드셋에서 기본 브라우저로 설정되었지만 변경된시기는 알 수 없지만 N95의 출시시기는 언제인지 모릅니다. 사용자가 Webkit 기반의 '미니 맵'브라우저를 사용할 때 아무런 문제가 없지만 '서비스'브라우저가 POST 데이터를 잃어 버립니다.

사용자가 SMS 또는 MMS 메시지의 링크를 통해 페이지에 액세스하면 핸드셋 기본 브라우저를 사용하게됩니다. 나는 버그를 고칠 수있는 방법을 모르고 있으며 Forum Nokia 나 다른 사이트에 관한 정보는 거의 없다. 내 제작 사이트에서는 가능하면 POST 양식을 외면했습니다.