0

このページを開くと、下のテキストボックスにレコードの内容が表示されます。

ここに画像の説明を入力

テキストを編集し、[前のメモを現在のものに置き換える] をクリックした後:

ここに画像の説明を入力

レコードは、次のコードを使用してデータベースに正常に保存されますModifyNoteScript.php:

$comment_update = mssql_query("UPDATE pmp_property__unit
    SET  
    comments = '$NOTE'
    WHERE 
    communityidy='$COMID' and
    unit='$UNIT'") 
             or die ("Changes to Record could not be Saved."); 

    if (!$comment_update)
    {
        $success=2;
    }
    else
    {
        $success=1;
    }


    header ('Location:ModifyNote.php?unit=' . $UNIT . '&COMID=' . $COMID . '&success=' . $success); 

これによりheader、ユーザーが同じページにリダイレクトされ、次のメモが表示されます。

ここに画像の説明を入力

私が経験している問題は次のとおりです。

  1. 元のメモがテキスト ボックスに表示されなくなり、上記のようにテキスト ボックスが空白になります。
  2. replace previous note with current AGAINをクリックすると、上記と同じ結果が得られ、#1さらに、テキストボックスにあるものはデータベースに保存されません。

テキストボックスのあるページのコードは次のとおりです(メモを編集または削除します):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="../nav/occupancypop.css" rel="stylesheet" type="text/css"></link>
<script type='text/JavaScript' src='../scw.js'></script></head>
<script type="text/javascript">
<!--
function closewindow() {
parent.location = "occupancy2.php"
}

//-->
</script>

<body>
<div id="maincontentform">
<?php 

include '../Check.php';

  $success = $_GET['success'];
  if($success == 1)
  {
  echo '<span class="style4">*The note has been saved!</span><br />
    <br />'; 
  }
  elseif ($success==2)
  {
    echo '<span class="style4">*There was an error updating the note!</span><br />
    <br />';
  }



//GET the unit and community id
$UNIT = $_GET['unit'];
$COMID = $_GET['comid'];

include '../KiscoCustomConnect.php';

//Get the commnet
$Comment_Query = mssql_query("select top 1 comments from pmp_property__unit where communityidy='$COMID' and unit='$UNIT'");
if (mssql_num_rows($Comment_Query)>0)
{
$Comment=mssql_result($Comment_Query,0,'comments');
}
else
{
$Comment='';
}
?>

<span class="MainTitle">
 Edit or Delete the Note</span>
  <p><br />
  <table width="596" border="0" cellspacing="0" cellpadding="0" id="maintable">
    <tr class="odd">
      <td width="164"><div class="pickform">
        <ul>
          <li> 
            <div align="center">
              <p><strong><img src="../media/_space.gif" alt="" width="135" height="1" /><br />
                Update Notes</strong><br />
  <?php  echo 'for unit ' . $UNIT ?>
            </div>
          </li>
        </ul>
  </div></td>
      <td width="431">
        <form action="ModifyNoteScript.php" method="post"  />
        <input name="Comment" type="hidden" value="<?php echo $Comment; ?>" />
        <input name="UNIT" type="hidden" value="<?php echo $UNIT; ?>" />
        <input name="COMID" type="hidden" value="<?php echo $COMID; ?>" />
        <textarea name="Comment" cols="55" rows="6" class="text1" id="Comment"><?php echo $Comment; ?></textarea>
        <br />
        <input type="submit" name="sendnotify" class="formbutton" id="Submit" value="Replace previous note with current" />
      </form></td>
    </tr>


  </table>
  <blockquote>
    <p><br />

<?php      
  if($success == 3)
  {
 echo '<input type="button" name="Cancel3" class="formbutton2" id="Cancel3" value="Close" onclick="closewindow2();" />';
}
else
{
 echo '<input type="button" name="Cancel3" class="formbutton2" id="Cancel3" value="Close" onclick="closewindow();" />';
}
?>      <br />
      <br />
    </p>
  </blockquote>
</div>
</body>
</html>

私は何を間違っていますか?私はそれが何かであるとheader思いますか?

4

3 に答える 3

1

私が見ていることから、あなたはelseケースに設定しているということです

else
{
   $Comment='';
}

else ケースに入る理由は次のとおりです。

$_GET['comid']にアクセスするには小文字を使用しますが、大文字を設定すると&COMID=になります。私は次のことを試しました:

$arr['a'] = 'a';
echo $arr['A']; //echoes blank (false)

あなたのケースで:

$_GET['COMID'] = 'test';
var_dump($_GET['comid']); // results in undefined index comid

そのため、値を取得しようとするときに comid を大文字に変更します。

于 2013-03-05T23:08:28.677 に答える
1

mssql_num_rows が 0 行を返すタイミングがわかるように、$Comment='Test' にテキストを追加してみてください。

于 2013-03-05T23:11:46.500 に答える
1
 $comment_update = mssql_query("UPDATE pmp_property__unit
    SET  
    comments = '$NOTE'
    WHERE 
    communityidy=$COMID and
    unit='$UNIT'") 
             or die ("Changes to Record could not be Saved."); 
于 2013-03-06T00:01:36.587 に答える