2014-03-19 2 views
1

이 페이지를 사용하여 MSSQL 테이블을 업데이트하려고합니다. 내 숨겨진 필드 인 hdnLine (코드의 두 번째 줄부터 마지막 ​​줄까지)은 제출 될 때 양식에 게시되기 전에 값으로 채워지지만 게시시 게시되지 않습니다. 나는 페이지를 작동 시켰고, 제출하려고 할 때 갑자기 계속 "Notice : Undefined index : hdnLine in C : \ inetpub \ wwwroot \ clientadmin \ agent-edit.php 11 행"을 계속 사용합니다. 나는 하루 종일 디버깅 등을 시도하면서 그 일을 망쳤으며 운이 없었습니다. 나는 종류의 구문 오류가 있다고 가정하고 있지만 그것을 알아낼 수는 없다. 어떤 도움이라도 기꺼이 감사 할 것입니다. 이 코드는 DB 커넥티비티를 포함하는 것보다 약간 아래에 있습니다. 관련된 모든 질문에 최선을 다할 수 있도록 최선을 다할 것입니다.하나의 입력이 PHP/MSSQL을 게시하지 않습니다

<?php 
if($_GET["Action"]=="Save"){ 

    for($i=1;$i<=$_POST["hdnLine"];$i++) 
    { 
     $strSQL = "UPDATE RENTAGNT SET "; 
     $strSQL .="SPIFF = '".$_POST["txtSPIFF$i"]."' "; 
     $strSQL .=",PROMO = '".$_POST["txtPROMO$i"]."' "; 
     $strSQL .=",SPIFFVAL = '".$_POST["txtSPIFFVAL$i"]."' "; 
     $strSQL .=",AGNTLVL = '".$_POST["txtAGNTLVL$i"]."' "; 
     $strSQL .=",SPIFFDAYS = '".$_POST["txtSPIFFDAYS$i"]."' "; 
     $strSQL .=",MASTAGNTID = '".$_POST["txtMASTAGNTID$i"]."' "; 
     $strSQL .="WHERE RENTAGNTID = '".$_POST["hdnRENTAGNTID$i"]."' "; 
      $stmt = $conn->query($strSQL); 
    } 
    //exit(); 
} 

$strSQL="SELECT RENTAGNTID, RENTAGNT.AGENTCODE, NAME, AGNTLVL,SPIFF, SPIFFVAL, PROMO, SPIFFDAYS,INACTIVE, MASTAGNTID FROM RENTAGNT WHERE INACTIVE='0' GROUP BY MASTAGNTID, RENTAGNT.AGENTCODE, RENTAGNT.NAME, RENTAGNTID, SPIFF, SPIFFVAL, SPIFFDAYS, AGNTLVL, INACTIVE, PROMO"; 

      $stmt = $conn->query($strSQL); 
?> 

     <form name="frmMain" method="POST" action="?Action=Save" > 

<table id="res-list-table" class="tablesorter" width="90%" border="1" background="#fff"> 
<thead> <tr> 
    <th width="10%"> <div align="center">Rental Agent ID</div></th> 
    <th width="20%"> <div align="center">Agent Code </div></th> 
    <th width="35%"> <div align="center">Name </div></th> 
    <th width="5%"> <div align="center">1 Free</div></th> 
    <th width="5%"> <div align="center">Spiff Yes/No</div></th> 
    <th width="5%"> <div align="center">Spiff Amount </div></th> 
    <th width="5%"> <div align="center">Days Req. <br/> for Spiff</div></th> 
    <th width="5%"> <div align="center">Master Agent</div></th> 
    <th width="5%"> <div align="center">Agent Level</div></th> 
    </tr> 
    </thead><tbody> 


<?php 
$i = 1; 
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){ 
    $i++; 
?> 

    <tr> 
    <td><div align="center"> 
    <?php echo $row["RENTAGNTID"]; ?> 
    </div></td> 
     <td><div align="center"> 
    <?php echo $row["AGENTCODE"]; ?> 
    </div></td> 
    <td><div align="center"> 
    <?php echo $row["NAME"]; ?> 
    </div></td> 

    <td> 

     <input type="hidden" name="hdnRENTAGNTID<?=$i;?>" size="6" value="<?=$row["RENTAGNTID"];?>"/> 

    <select name="txtPROMO<?=$i;?>">  
<option value="0" <?php if($row["PROMO"]=="0") { echo "selected='selected'"; } ?> >No</option> 
<option value="1" <?php if($row["PROMO"]=="1") { echo "selected='selected'"; } ?> >Yes</option> 

</select></td> 
<td> 
    <select name="txtSPIFF<?=$i;?>">  
<option value="0" <?php if($row["SPIFF"]=="0") { echo "selected='selected'"; } ?> >No</option> 
<option value="1" <?php if($row["SPIFF"]=="1") { echo "selected='selected'"; }?> >Yes</option> 
</select></td> 


    <td><input type="text" name="txtSPIFFVAL<?=$i;?>" size="5" style="width:75px;" value="<?=$row["SPIFFVAL"];?>" /></td> 
    <td><input type="text" name="txtSPIFFDAYS<?=$i;?>" size="5" style="width:75px;" value="<?=$row["SPIFFDAYS"];?>" /></td> 
    <td><input type="text" name="txtMASTAGNTID<?=$i;?>" size="5" style="width:75px;" value="<?=$row["MASTAGNTID"];?>" /></td> 
<td> 
    <select name="txtAGNTLVL<?=$i;?>">  
<option value="1" <?php if($row["AGNTLVL"]==1) { echo "selected='selected'"; }?> >Agent</option> 
<option value="2" <?php if($row["AGNTLVL"]==2) { echo "selected='selected'"; }?> >Master Agent</option> 
<option value="3" <?php if($row["AGNTLVL"]==3) { echo "selected='selected'"; }?> >Admin</option> 
</select> 

</td> 

    </tr> 

<?php 
} 

?> 
</tbody> 
</table> 
    <input type="submit" name="submit" value="submit1" /> 
    <input type="hidden" name="hdnLine" value="<?=$i;?>"/> 

    </form> 

답변

3

<input type="hidden" name="hdnLine" value="<?=$i;?>"/>의 값을 할당하는 데 사용되는 짧은 태그와 같습니다. php.ini에 short_open_tag = On이 있습니까? on으로 변경되지 않은 경우.

또는 경우 <?=?>

+1

<?php=?>에 나는 또한 테스트하고보고 추천 할 것입니다 코드에 걸쳐

변경 <이 $ 에코 PHP 난;?>는 $ i와 먹으 렴 경우를 검색하는 일을 할 것입니다 그 경우 - 짧은 열린 태그가 꺼져 있다는 의혹이 정당화됩니다. – azngunit81

+0

나는 short_open_tag를 켜고, 모든 것을 로 바꾸려고 노력했다. 소스를 볼 때 $ i의 모든 값이 적절하게 채워진다. 내가 제출하고 var_dump ($ _ POST); 마지막 hdnLine 필드를 제외한 모든 필드가 게시되는 것을 볼 수 있습니다. – jeffreyscott

+0

또한 'short_open_tag = On'으로 변경하면 Apache 웹 서버를 다시 시작하십시오. '페이지의 소스보기'를 붙여 주실 수 있습니까? –

관련 문제