我被要求建立一个"你是不是超过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 } ?>
答案 0 :(得分:6)
我不会为你编写代码(那里的乐趣在哪里)?这里有一些难题:
<cfscript></cfscript>
而不是<?php ?>
$_GET
,通过URL范围引用在URL上传递的参数,例如:URL.redirect
; location("http://google.com")
isset()
,请使用structKeyExists()
,例如:structKeyExists(session, "over21")
session
也是范围,因此只需对其变量使用点符号,例如:session.over21
if()
块的其余部分的脚本语法在CFML中是相同的,包括变量赋值和布尔运算符。对于HTML位,请使用CFML标记而不是脚本:
<cfif condition>
<!-- mark-up here -->
</cfif>
除了运营商不同之外,我condition
大部分都是如上所述。 EQ
为==
,OR
为||
这可能是一个想法,然后在codereview上弹出你的代码,所以ppl可以给它一次。