如何在PHP中链接文件?

时间:2008-10-26 05:49:25

标签: php

我有两个需要链接的PHP文件。如何使用PHP将文件链接在一起?我想要的效果是让用户单击一个按钮,在页面上执行一些信息,然后结果显示在不同的页面中,具体取决于用户单击的按钮。谢谢

3 个答案:

答案 0 :(得分:8)

听起来你可能想要一个HTML表单:

<form method="post" action="other_file.php">
    <input name="foo" type="..."... /> ...
</form>

然后$_POST["foo"]将包含other_file.php中该输入的值。

答案 1 :(得分:2)

我将你的问题与其他问题区别对待。

听起来我想要创建一个带有两个按钮的页面并执行两个现有PHP文件中的一个,具体取决于按下的按钮。

如果这是正确的,那么这是一个简单的骨架来实现这一目标。在此示例中,page_1.php和page_2.php是您现有的两个PHP文件。

注意,如果你正在做很多这样的事情,你可能想要阅读MVC(模型 - 视图 - 控制器)模式和/或尝试一些流行的PHP框架。这超出了这个问题的范围,但基本上这两个方面都将为您构建代码提供良好的基础,以便事情保持可管理性并且不会变得混乱。

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    switch ($_POST['command']) {
    case 'show_file_1':
        include 'file_1.php';
        break;
    case 'show_file_2':
        include 'file_2.php';
        break;
    }   
    exit;
}   

?>
<form method="POST">
    <button name="command" value="show_file_1">Show file 1</button>
    <button name="command" value="show_file_2">Show file 2</button>
</form>

注意:我只包含了相关的HTML和PHP来说明这一点。显然,您需要添加<html><head><body>标记,并且可能会对PHP进行一些随机播放和模块化,具体取决于您要添加的内容。

更新:我还应该补充一点,如果您现有的任何PHP文件都包含POST给自己的表单,您可能需要将include更改为重定向。那就是:

include 'file_1.php';

会变成:

header('Location: http://mysite.com/file_1.php');

如果不知道现有文件的性质,很难知道要推荐什么。

编辑:我正在以这种方式回应OP的第二篇文章,因为我没有足够的声誉来发表评论。哪个行号会出现意外的;错误?如果我不得不猜测,我会说在:和{{1}的末尾检查你是否使用了;(冒号)而不是case 'show_file_1'(分号)行。

答案 2 :(得分:0)

在PHP最基本的设置中,您可以使用两个独立的文件:一个生成表单,第二个处理响应。您还可以使用一个文件来处理此问题,该文件检查表单是否已发布。

 if (isset($_POST['foo'])) { ... }

 if ($_SERVER['REQUEST_METHOD'] == 'POST') { ... }

一旦超出这个级别,就必须有更简洁的方法来构建脚本,以便保持逻辑和界面分离,但我猜测你还没有这个问题。