在ColdFusion中使用PHP:如何转换或实现

时间:2014-04-20 18:28:16

标签: php coldfusion

我被要求建立一个"你是不是超过21?"在酿酒厂的网站上弹出。我通常用PHP编写代码,团队很难获得他们网站的登录凭据。我想,当我等待时,我会在我的网站上编码,当他们让我访问时,我可以将它放到新网站上(你可以看到弹出窗口的样子on my site)。幸运的是当他们让我访问该网站时,它是使用ColdFusion构建的,我不知道如何使用。我已经做过一些关于如何使用CF的初步研究,但是我不愿意为这个项目学习一种全新的语言。我已经在下面包含了我的代码,是否有人能够1)向我展示如何在CF环境中实现PHP代码或2)帮助我将下面的代码转换为CF.谢谢你的帮助!

在标题中:

此代码只是想看看' over21'在URL中将变量设置为1,或者如果上一个会话设置了“超过21”。变量。如果'重定向'设置为1,然后发送到google.com。

<?php if($_GET['redirect'] == 1){
    header("Location: http://google.com");
}?>

<?php
session_start();

if(!isset($_SESSION['over21']) || (isset($_GET['over21']))){
    if($_GET['over21']==1){
        $_SESSION['over21'] = 1;
    } elseif($_GET['over21']!=1){
        $_SESSION['over21']=0;
    } else {
        $_SESSION['over21']=0;
    }
} elseif($_GET['over21']){
    $_SESSION['over21'] = $_GET['over21'];
}
?>

在体内:

<?php if(!isset($_SESSION['over21']) || ($_SESSION['over21']==0)){?>
    <div class="splash">
        <div class="splash-bg">
            <form method="get">
                <button class="yes-button" type="submit" name="over21" value="1" />
                <button class="no-button" type="submit" name="redirect" value="1" onclick="alert('Please come back and visit us when you are 21.')" />
            </form>
        </div>
    </div>
<?php } ?>

1 个答案:

答案 0 :(得分:6)

我不会为你编写代码(那里的乐趣在哪里)?这里有一些难题:

  • <cfscript></cfscript>而不是<?php ?>
  • 的代码块括起来
  • 而不是$_GET,通过URL范围引用在URL上传递的参数,例如:URL.redirect;
  • 无需将HTTP标头设置为重定位到其他URL;使用location("http://google.com")
  • 不需要关联数组表示法;只需点符号通常有效(按照以前的说法)
  • 而不是isset(),请使用structKeyExists(),例如:structKeyExists(session, "over21")
  • session也是范围,因此只需对其变量使用点符号,例如:session.over21
  • if()块的其余部分的脚本语法在CFML中是相同的,包括变量赋值和布尔运算符。
  • 一个人无法开始这样的会议;它需要配置@应用程序级别(我相信PHP仍然没有使用的概念)。您是否在祖先目录中的此目录中有Application.cfc(或旧学校:Application.cfm)?如果是这样......呃...好好阅读the docs on Application.cfc。这里没有重复它们。

对于HTML位,请使用CFML标记而不是脚本:

<cfif condition>
    <!-- mark-up here -->
</cfif>

除了运营商不同之外,我condition大部分都是如上所述。 EQ==OR||

这可能是一个想法,然后在codereview上弹出你的代码,所以ppl可以给它一次。