小编Ami*_*mir的帖子

有没有一种优雅的方法可以根据列表的值动态生成查询?

我已经创建了这个代码打击工作,并做了我想要它做的事情,但我想知道是否有更好的更聪明的方法来做到这一点.这是代码:

<cfset myList = ValueList(qSeminarWisReg.SeminarWisTitle,",")>

<cfif ListLen(myList,",") lte 1>
  <cfquery datasource="#APPLICATION.dataSource#" name="qSeminarWisRegTwo">
  SELECT * FROM SeminarWis
  WHERE SeminarWisID = <cfqueryparam value="#myList#" cfsqltype="cf_sql_integer">
  </cfquery>
<cfelse>
  <cfquery datasource="#APPLICATION.dataSource#" name="qSeminarWisRegTwo">
  SELECT * FROM SeminarWis
  WHERE 0 = 0
    AND (SeminarWisID  = <cfqueryparam value="100000000" cfsqltype="cf_sql_integer">
    <cfloop index = "x" list = "#myList#" delimiters = ","> OR SeminarWisID  = #x#</cfloop>)
  </cfquery>
</cfif>
Run Code Online (Sandbox Code Playgroud)

基本上我有一个动态生成的列表,其中包含数字,用逗号分隔.现在这些数字对应于表中的唯一键,因此我只是动态地抓取用户想要的所有行.

就像我说的,这有效,但如果有人有任何关于如何使这更好的提示让我知道!困扰我的部分是我必须使用"1000000"值(一个不存在的值)才能进入OR语句.

coldfusion loops

3
推荐指数
1
解决办法
92
查看次数

黑客可以欺骗或注入表单字段吗?

我正在通过我的应用程序试图尽可能地保护它,它让我思考.我总是验证我的用户的输入,我总是擦除输入,所以例如,如果我有一个"生日"字段,我确保它是一个有效的日期,然后将其放入数据库.但我的数据库中也有"passwordresettoken"字段,如果用户请求,我的代码会生成此字段.

现在在我的普通用户个人资料页面上,我显然没有名为"passwordresettoken"的字段,所以我不验证或擦除它,因为它不应该存在于将要传递的表单中.事实上,它永远不应该被传递,因为它不是用户会输入的东西.

所以我的问题是,是否可以欺骗输入字段?他们可以编辑我页面上的HTML以包含一个passwordresettoken字段,然后在表单传递时做一些损坏吗?

forms sql-server security

3
推荐指数
1
解决办法
170
查看次数

如何在cfif语句中放置多个NOT条件?

这是我的代码:

<cfif (CFFILE.FileSize GT (4194304))>
Delete File
<cfelseif CFFILE.serverFileExt neq "png"  >
Delete File
<cfelse>
It's ok
</cfif>
Run Code Online (Sandbox Code Playgroud)

我想添加"jpg"和"jpeg"作为允许的文件类型.我试过了,这个没有成功.

<cfif (CFFILE.FileSize GT (4194304))>
Delete File
<cfelseif ( ( CFFILE.serverFileExt neq "png" ) OR ( CFFILE.serverFileExt neq "jpg" ) OR ( CFFILE.serverFileExt neq "jpeg" ) ) >
Delete File
<cfelse>
It's ok
</cfif>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

解:

我的OR语句需要是一个AND,谢谢Miguel-F,并且随着Busches的改进,这是最终的结果:

<cfif (CFFILE.FileSize GT (4194304))>
    Delete File
<cfelseif NOT ListFindNoCase("jpg,jpeg,png", CFFILE.serverFileExt)>
    Delete File
<cfelse>
    It's ok
</cfif>
Run Code Online (Sandbox Code Playgroud)

多谢你们!

coldfusion logic cfml

2
推荐指数
1
解决办法
1574
查看次数

如何在ColdFusion中获取变量NAME而不是变量的VALUE?

基本的想法是这样的:我有一个动态生成表单字段的表单,所以假设有5个人可以注册(它们都花费10美元)然后将显示这5个evens.像这样:

          <tr>
            <th><label>#SeminarWisTitle#</label></th>
            <td>
            <label><input type="checkbox" name="#SeminarWisID#" value="10.00" onclick="CheckChoice(this);" onfocus="startCalc();" onblur="stopCalc();" class="checkbox" /> Individual Webinar ($119)</label>
            </tr>
          </cfoutput>
Run Code Online (Sandbox Code Playgroud)

现在因为Javascript,所有这些事件的值都是10.00,但表单字段的名称将是唯一的,这就是我实际上想要存储在数据库中的内容.

这是我写的代码:

<cfparam name="seminarBulkSignUp_List" default="">
            <cfoutput query="qSeminarWisTwo">
                <cfparam name="FORM.#SeminarWisID#" default="">

                <cfif #FORM[#SeminarWisID#]# neq "">
                    <cfset seminarBulkSignUp_List = ListAppend(seminarBulkSignUp_List, #FORM[#SeminarWisID#]#)>
                </cfif>
            </cfoutput>

            <cfset FORM.SeminarWisTitle = #seminarBulkSignUp_List#>
Run Code Online (Sandbox Code Playgroud)

因此,使用此代码,我对所有可能的事件运行查询,然后只检查已提交的表单,以查看哪些是"空白",如未选中,以及我想要添加的选择要存储在数据库中的列表.

现在这可以让我知道哪些事件被选中,哪些没有,但我希望列表编译实际的FORM FIELD名称而不是他们拥有的值.我该怎么办?

variables coldfusion

1
推荐指数
1
解决办法
131
查看次数

使用parseFloat时,类型'number'的参数不能分配给'string'类型的参数

我得到一个类型'数字'的参数不可分配...当我在我的代码中使用parseFloat时出错.我尝试键入differenceBetweenDates as string | number和as any,以及unitDateValue as string | numberany,但错误仍然存​​在.

这特别令人困惑,因为错误说不能分配,并且当我没有在代码中设置变量时,给我变量differenceBetweenDates.differenceBetweenDates下划线为错误,但我实际上是在分配unitDateValue ;

这是有问题的功能:

export default function processDate(): void {
  let endDateValue: any = 10;
  let startDateValue: any = 20  
  let unitDateValue: any;
  let unit = 'day';  
  let differenceBetweenDates: any;

  // diff() will return a number
  differenceBetweenDates = endDateValue.diff(startDateValue);
  if(differenceBetweenDates > 0) {
    switch (unit) {
      case 'day': {

        // ERROR: Argument of type 'number' is not assignable to parameter of type 'string'; …
Run Code Online (Sandbox Code Playgroud)

typescript

0
推荐指数
1
解决办法
4942
查看次数

标签 统计

coldfusion ×3

cfml ×1

forms ×1

logic ×1

loops ×1

security ×1

sql-server ×1

typescript ×1

variables ×1