2010-01-06 4 views
1

PHP 페이지에서 일부 Ajax 유효성 검사 (작동 중)를 수행하는 양식이 있습니다.이 PHP 코드에서 양식 변수를 사용할 수없는 이유는 무엇입니까?

<php ? 
if(trim($VendorTAG) == '') 
    { 
     die('Vendor TAG cannot be blank'); 
    } 
    else if(trim($ContactName) == '') 
    { 
     die('Contact Name cannot be blank'); 
    } 
?> 

(다시, 더있다 : 내가 제출 버튼을 클릭하면 여기에 코드 조각의

<form name="form" onSubmit="return validate_form();" action="submitform.php" method="post"> 
     <table border="0" cellpadding="5" bgcolor="#000000"> 
     <tr> 
      <td width="175"> 
       <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Requested Vendor TAG:</b> </font></div> 
      </td> 
      <td> 
       <input type="text" name="VendorTAG" onblur="checktag();" maxlength="8"> <div id="vendtag"></div> 
      </td> 
     </tr> 
     <tr> 
      <td width="175"> 
       <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Contact Name: </b> </font></div> 
      </td> 
      <td> 
       <input type="text" name="ContactName" maxlength="50"> 
      </td> 
     </tr> 

(라이브 형식이보다 더 많은 필드가 있습니다),이 코드를로드 같은,하지만 이것은 요점을 보여줍니다)

이 모든 것은 완벽하게 잘 때까지 내 hoster 언젠가는 크리스마스를 통해 언젠가는 양식이 작동을 멈췄습니다 g -하지만 이유를 찾는 데 어려움을 겪고 있습니다.

서버가 현재 PHP 5.2.11을 실행 중입니다. 근본적으로 잘못되었거나 어리석은 일을하고 있습니까?

+0

우리는 HTML/AJAX에 관해 묻지 않는 한 'PHP'코드가 필요합니다. –

+0

PHP 코드가 없습니다. PHP 업그레이드? 무엇에서 업그레이드 되었습니까? 전에 register_globals에 의지 했습니까? – fennec

+0

예, 죄송합니다 - 코드가 편집 페이지에 있었지만 표시 형식이 올바르지 않습니다. 지금 거기에 있어야합니다 ... – TheoJones

답변

5

PHP 5.2에서 그들은 register_globals을 없앴습니다. 그것은 보안상의 악몽이며 사용해서는 안됩니다.

대신 양식 요소에 액세스하려면 $_POST을 사용하십시오.

현재 register_globals에 대한 자세한 찾을 수 있습니다 http://us.php.net/manual/en/security.globals.php

+0

그게 그런 것 같아요,하지만 마법의 잠금을 해제하려면 올바른 Google foo를 찾을 수 없습니다;) – TheoJones

+0

이 답변은 6,666 명을 .... 나를 밀었 어 muhuhahahaha! –

2

POST의 바르가 같은 액세스를 : $_POST["varname"] 아니라이 맘 : $varname. 또는 $_REQUEST을 통해 액세스 할 수도 있지만 궁극적으로 귀하에게 달려 있습니다.

관련 문제