1

SQL データソースに新しい行を挿入するためのフォームが cfm ページにあります。cfm ページはフォームをホストし、サブミットされると -action.cfm ページがデータを挿入し、ユーザーを新しい情報をリストするページに再配置します。私が得ている問題は、取得しているフォームを送信するときです:: 要素 NEWUSERID は FORM で定義されていません。

insertScores.cfm ページのフォーム:

<form method="post" action="insertScores-action.cfm">
<table>
  <tr>
    <td>User ID</td>
    <td><input name="newUserID" type = "text" size = "50"></td>
  </tr>

  <tr>
    <td>First Name</td>
    <td><input name="newFirstName" type="text" size="50"></td>
  </tr>
  <tr>
    <td>Last Name</td>
    <td><input name="newLastName" type="text" size="50"></td>
  </tr>
  <tr>
    <td>Email</td>
    <td><input name="newEmailAdd" type="text" size="50"></td>
  </tr>
  <tr>
    <td>Score</td>
    <td><input name="newScore" type="text" size="50"></td>
  </tr>
  <tr>
    <td>Pass Date</td>
    <td><input name="newPassDate" type="text" size="50" value="dd/mm/yyyy"></td>
  </tr>
  <tr>
    <td>Level</td>
    <td><input name="newLevel" type="text" size="50"></td>
  </tr>
  <tr>
    <td><input type="submit" value="Insert Scores"></td>
 </tr>
 </table>

insertScores-action.cfm ページ

<cfquery name="insertScores" datasource="staffwrite">
INSERT INTO protinfo_scores (
  userID
  , first_name
  , last_name
  , email
  , curr_score
  , curr_score_date
  , level
  )
VALUES (
    '#form.newUserID#'
  , '#form.newFirstName#'
  , '#form.newLastName#'
  , '#form.newEmailAdd#'
  , '#form.newScore#'
  , '#form.newPassDate#'
  , '#form.newLevel#'
  )
</cfquery>


<cfquery name = "queryScore" datasource="staff">
  SELECT userid, level
  FROM protinfo_scores
  WHERE userid LIKE '#form.newUserid#'
  AND level = '#form.newLevel#'
</cfquery>

<cflocation URL="newScore.cfm?userid=#url.userid#&level=#url.level#">

newScore.cfm

<center>
  <h2>Your ammendments have been made.</h2><hr>
</center>

<cfquery name = "queryScore" datasource="staff">
  SELECT first_name, last_name, email, curr_score, curr_score_date, userid, level
  FROM protinfo_scores
  WHERE userid LIKE '#URL.userid#'
  AND level = #URL.level#
</cfquery>


<cfoutput query="queryScore">

<table>
  <tr bgcolor=beige>
    <td>Name</td>
    <td width="40">#queryScore.first_name# #queryScore.last_name#</td>
  </tr>
  <tr>
    <td>Email</td>
    <td width="40">#queryScore.email#</td>
  </tr>
  <tr bgcolor=beige>
    <td>Username</td>
    <td width="100">#queryScore.userid#</td>
  </tr>
 <tr>
    <td>Level</td>
    <td width="100">#queryScore.level#</td>
  </tr>
  <tr bgcolor=beige>
    <td>Current Score</td>
    <td width="40">#queryScore.curr_score#</td>
  </tr>
  <tr>
    <td>Date Passed</td>
    <td width="40">#queryScore.curr_Score_date#</td>
  </tr>
</table>
</cfoutput>
4

2 に答える 2

1

-action.cfm ページが送信されると、データが挿入され、新しい情報がリストされたページにユーザーが移動します。

これが望ましい効果なのか実際の効果なのか、言葉遣いからはわかりません。それが実際の効果である場合newScore.cfm、フォームスコープ内のデータがの後に保持されず、出力テーブルの後cflocationに使用しようとしているため、エラーが発生しています..form.newUserID

これが望ましい効果であり、実際の効果ではない場合...

  1. ダンが言ったように、あなたは 2 つの異なるファイルを見ています。からのコードを表示しますinsertScores-application.cfmが、アクションは を指していますinsertScores-action.cfm
  2. 質問のコードは、正確なコピー/貼り付けではなく、すべてのコードでもありません(</form>控えめに言ってもタグがありません)。この場合、実際のコードとエラー メッセージを表示することをお勧めします。何度も目にしますelement XXX is undefined in FROM(同じものを何時間も見つめていると見落としがちな、FORM ではなく FROM と書かれていることに注意してください)。エラーメッセージは、エラーが発生している行番号を示します。行番号は実際に投稿したコードの中にありますか?
于 2013-03-14T10:54:22.437 に答える
0

私は<form></form>aに変更しましたが<cfform></cfform>、すべてがスムーズに機能するようになりました。これは何の違いもないという印象を受けましたが、明らかに違います。

于 2013-03-15T12:34:08.777 に答える