-3

我在处理我一直在创建的登录表单时注意到了一些事情,并且想知道是否有其他人以前发现过这个问题/问题。在创建表单并输入 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 变量完全没有问题。任何人都可以提供关于为什么会发生这种情况或我可能出错的地方的提示或原因吗?

编辑:我已经包含代码以更清楚地了解我的情况。在第一个示例中,当我在用户名字段中输入任何给定文本并提交表单时,输出将是“您尚未登录”。而在第二个示例中,我收到“欢迎!”的替代值 提交表格后。希望这能解决我的问题。

4

2 回答 2

2

当我使用下面的 URL 时,发现 URL 重写正在删除index.cfm(因为它是默认文档):

  • <form action="/index.cfm" method="post">
  • <form action="index.cfm" method="post">

因此,我需要使用目录名称作为操作。就我而言,这段代码解决了我的问题:

    <form action="/community/" method="post"> 
于 2013-03-18T14:40:57.320 回答
1

一个明显的问题是你没有给你的输入命名。没有名称就不会提交任何内容,但是表单确实提交了,它只是不包含任何数据。

<form action="index.cfm" method="post">
    <input type="text" name="afield"></input>
    <input type="submit"></input>
</form>
于 2013-03-18T13:45:45.300 回答