私が作成しているログインフォームで作業しているときに何かに気づき、他の誰かが以前にこの問題/問題を発見したことがあるかどうか疑問に思いました。フォームを作成してaction属性の値を入力すると、index.cfmページを除くすべてのページで正常に機能します。以下は、私の問題を理解するためのサンプルコードです。
<form action="index.cfm" method="post">
<input type="text" name="username"></input>
<input type="password" name="password"></input>
<input type="submit" value="Login"></input>
</form>
<cfif IsDefined("form.username")>
<p>Welcome!</p>
<cfelse>
<p>You have not been logged in.</p>
</cfif>
上記の例は機能しませんが、以下の例は機能します。
<form method="post">
<input type="text" name="username"></input>
<input type="password" name="password"></input>
<input type="submit" value="Login"></input>
</form>
<cfif IsDefined("form.username")>
<p>Welcome!</p>
<cfelse>
<p>You have not been logged in.</p>
</cfif>
この問題は、インデックスページでのみ発生します。他のすべてのページでは、ファイル名と必要なURL変数を入力しても、まったく問題なく機能します。誰かがこれが起こっている理由や私が間違っているかもしれない場所についてのヒントや理由を提供できますか?
編集:自分の状況をより明確に把握するためのコードを含めました。最初の例では、ユーザー名フィールドに任意のテキストを入力してフォームを送信すると、「ログインしていません」という出力になります。一方、2番目の例では、「ようこそ!」という代替値を受け取ります。フォームを送信すると。これで私の問題が解決することを願っています。