如何在PHP系统中生成菜单链接?

时间:2012-12-10 20:49:43

标签: php menu switch-statement href event-driven

我的部分计算课程要求我构建一个完整的PHP系统。我选择为一家虚构的股票经纪公司创建一家,希望客户能够通过网络系统查看他们的资产(股票和债券)。

对于菜单,我的第一个想法是使用一些简单的“hrefs”,因为菜单将被修复以显示页面链接,如“查看共享;查看债券;我的帐户等”。但是,我的老师坚持认为不得使用“hrefs”,唯一可行的方法就是使用switch语句(或者他称之为:case语句)。这是真的?应该注意到我的老师几乎没有使用PHP的经验,我们似乎在他所说的所有事情上发生冲突(他一直在谈论PHP是事件驱动的,涉及系统循环等等。我总是认为这是不真实的...... )。

那么,有人有什么建议吗?我应该坚持使用“hrefs”违背他的意愿,还是使用其他方法?

3 个答案:

答案 0 :(得分:2)

我希望你们俩之间只是沟通失败...... href是<的属性。 a>标签。这些是HTML元素,与PHP完全无关。它只是接受"链接"到页面。如果您不允许使用href,那么为了在页面之间导航,您需要AJAX或表单POST。这两个菜单都没有意义。 PHP中没有办法生成href的功能,因为PHP是服务器端脚本语言,href用于客户端导航。

答案 1 :(得分:1)

我会说你的教授是错的,是对的。我实际上正在与工程学院Web开发团队合作,我们用PHP做所有事情。我不认为他是真的正确,但因为听起来,hrefs对你正在做的事情来说是令人满意的。我们主要使用switch case语句通过AJAX将POST语句传递给自己,然后通过独立的情况处理它们。这方面的一个例子就像

if (isset($_POST['whatever'])) {
switch($_POST['whatever']) {
case "1":
//I can now do something if the POST variable passed as "whatever" was deemed '1"
break;
case "2":
//I can do something if the POST variable pass as "whatever" was deemed "2"
break;
等等......

因此,它的两个主要优点是它非常简单,因为您不必处理数百万个href站点。我确信你的应用程序可能不是什么大问题但是当你真正开始做大型项目时,每个网站彼此非常相似,很高兴知道你可以依靠php的动态框架。另一个优点是人们看不到你的代码^ _ ^如果我查看源代码并看到大量的href链接,我可能能够更多地了解你的文件树结构,这永远不会好(那里)是通过重定向和使用PHP / javascript来解决这个问题的方法,但是......)

总的来说,虽然他是你的教授,但只是为了让你知道你想要达到的目标,hrefs完全没问题。我知道像雅虎甚至Stackoverflow这样的很多专业网站都使用href来链接他们的网站(只需在相关问题的左侧查看。它们都是使用href链接的)。

你说计算机课程要你创建一个完整的PHP网络系统,只是为了让你知道计算机课程通常用于教育而不是实际的实用性。我认为你通过提问来做正确的事情,但是为了课堂,你的教授可能会鼓励你学习PHP,尽管它不是最好的方法(尽管这总是主观的)。也许你可以找到一种方法来找到一个可以用PHP开发但仍然使用hrefs的中间地带?希望这会有所帮助。

答案 2 :(得分:-1)

你的问题不是很清楚,但对我而言。所有我必须做的,使用swich菜单是这样的。

if(isset($_GET['id']) && !empty($_GET['id'])) {                     

    $id = htmlentities($_GET['id']);                    
    $id = mysql_real_escape_string($_GET['id']);


    switch($id) {


        case "about";       // About us
        echo $about;
        break;
case "timeline";        // About us
echo include('timeline.php');
break;
            case "participate";     // Rules
            echo  $participate;
            break;
case "reg_success";     // Register Success     
echo $reg_success;
break;

    default:    // Contribution
    echo err('Page not Found!');
    break;