从php链接回复某些文本

时间:2012-02-17 18:56:20

标签: php

我有:

<a href="index.php?mypage=one">one</a>

<a href="index.php?mypage=two">two</a>

PHP页面:

<?php
if mypage=one then 
echo "my stuff text........one";

if mypage=two then
echo "my stuff text........two";
?>

我想分别从同一个php页面获取每个链接的文本

2 个答案:

答案 0 :(得分:2)

嗯,那个php甚至不是远程有效的代码。你想要一个switch statement

<?php
$mypage = isset($_GET['mypage']) ? $_GET['mypage'] : '';
switch ($mypage) {
case 'one':
    echo "my stuff text........one";
    break;
case 'two':
    echo "my stuff text........two";
    break;
default:
    header('HTTP/1.0 404 Not Found');
    echo 'This page does not exist';
}

答案 1 :(得分:2)

首先,如果那么构造在PHP中不可用,那么你的代码在语法上是错误的。建议使用开关是一个很好的方法。但是,对于您的问题,您应该使用$ _GET ['mypage']而不是$ _POST ['mypage']。看来你正在开始PHP。一旦掌握了一些好的基础知识,您可能会使用include()和require()等函数。确保初学者不会犯错误:

<?php
if (isset($_GET['mypage'])
{
    @include($_GET['mypage']);
}
?>

上面的代码工作起来很简单,但它有一个非常危险的实现,允许恶意用户执行称为文件包含攻击的攻击。因此,您应该尝试使用switch语句,例如:

<?php
$mypage = $_GET['mypage']; //also you might want to cleanup $mypage variable
switch($mypage)
{
    case "one":
        @include("one.php");
        break;

    case "two":
        @include("two.php");
        break;

    default:
        @include("404.php");
}
?>