我们刚刚在CS课程中获得了第一个主要的Perl CGI作业.我们的任务是创建一个mp3共享站点,允许用户创建帐户,登录,共享mp3.必须显示当前用户的统计信息,可用的mp3等.必须将所有操作写入日志文件.我们的代码必须安全.
到目前为止,我已将这些操作分别实现为自己的CGI脚本.例如,我有一个脚本可以绘制登录表单,注册表单,允许mp3上传的脚本,以及另一个执行mp3服务的脚本.我还创建了一个模块,每当我调用它的实例时,它都会将相关信息发布到日志文件中.但是,每个脚本都是单独的,但登录屏幕除外,它会绘制一个表单,然后发布到login.cgi.帐户生成的工作原理相同.但是,在大多数情况下,每个人都独立行事.
我的问题:如何将这些链接在一起,以便除非用户登录,否则不允许任何操作?我假设我应该使用登录脚本(接收post动作的脚本)来驱动一切,但我该怎么做?我真的很茫然.我想有一个用户登录,主页是用选项绘制的(添加mp3,听mp3,显示统计等).我最好是绘制某种形式并将动作设置为不同的脚本吗?如何处理这些脚本的返回?饼干会以某种方式帮助吗?
其他相关信息:到目前为止,我使用本网站上的ovid教程和Lincoln Stein的书完成了CGI.pm的大部分工作.
下面的代码几乎完美无缺,但是9,7的孩子直接挂了而不是作为左孩子.我怎么能纠正这个?
\usepackage{tikz}
\usepackage{xytree}
\begin{tikzpicture}[level/.style={sibling distance=60mm/#1}]
\node [circle,draw] {4}
child {
node [circle,draw] {2}
child {node [circle,draw] {1}
}
child {
node [circle,draw]{3}
}
}
child {node [circle,draw] {6}
child {node [circle,draw] {5}
}
child {node [circle,draw] {9}
child {node [circle, draw] {7}}
}
};
\end{tikzpicture}}
Run Code Online (Sandbox Code Playgroud)
谢谢,CB
在这种情况下哪种是最佳做法?我想要一个与原始类型和长度相同的未初始化数组.
public static <AnyType extends Comparable<? super AnyType>> void someFunction(AnyType[] someArray) {
AnyType[] anotherArray = (AnyType[]) new Comparable[someArray.length];
...or...
AnyType[] anotherArray = (AnyType[]) new Object[someArray.length];
...some other code...
}
Run Code Online (Sandbox Code Playgroud)
谢谢,CB