이 페이지를 사용하여 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>
<?php=?>
에 나는 또한 테스트하고보고 추천 할 것입니다 코드에 걸쳐변경 <이 $ 에코 PHP 난;?>는 $ i와 먹으 렴 경우를 검색하는 일을 할 것입니다 그 경우 - 짧은 열린 태그가 꺼져 있다는 의혹이 정당화됩니다. – azngunit81
나는 short_open_tag를 켜고, 모든 것을 php echo $ i;?>로 바꾸려고 노력했다. 소스를 볼 때 $ i의 모든 값이 적절하게 채워진다. 내가 제출하고 var_dump ($ _ POST); 마지막 hdnLine 필드를 제외한 모든 필드가 게시되는 것을 볼 수 있습니다. – jeffreyscott
또한 'short_open_tag = On'으로 변경하면 Apache 웹 서버를 다시 시작하십시오. '페이지의 소스보기'를 붙여 주실 수 있습니까? –