我被要求建立一个"你是不是超过21岁?" 在酿酒厂的网站上弹出.我通常用PHP编写代码,团队很难获得他们网站的登录凭据.我想,当我等待时,我会在我的网站上编码,当他们让我访问时,我可以把它放到新网站上(你可以看到我的网站上的弹出窗口是什么样的).幸运的是当他们让我访问该网站时,它是使用ColdFusion构建的,我不知道如何使用.我已经做了一些关于如何使用CF的初步研究,但是我不愿意为这个项目学习一种全新的语言.我已经在下面包含了我的代码,是否有人能够1)向我展示如何在CF环境中实现PHP代码或2)帮助我将下面的代码转换为CF. 谢谢你的帮助!
此代码只是查看URL中的'over21'变量是否设置为1,或者前一个会话是否设置了'over21'变量.如果"重定向"设置为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'];
}
?>
Run Code Online (Sandbox Code Playgroud)
<?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 } ?>
Run Code Online (Sandbox Code Playgroud)
我不会为你编写代码(那里的乐趣在哪里)?这里有一些拼图:
<cfscript></cfscript>不包含代码块<?php ?>$_GET,在URL上传递的params通过URL范围引用,例如:URL.redirect;location("http://google.com")isset(),使用structKeyExists(),例如:structKeyExists(session, "over21")session 也是一个范围,所以只需对其变量使用点符号,例如: session.over21if()块的脚本语法在CFML中是相同的,包括变量赋值和布尔运算符.至于HTML位,使用CFML标签而不是脚本:
<cfif condition>
<!-- mark-up here -->
</cfif>
Run Code Online (Sandbox Code Playgroud)
该condition会主要是我按照上面,除了运营商是不同的.EQ因为==,OR为||
这可能是一个想法,然后在codereview上弹出你的代码,所以ppl可以给它一次.