将变量从“ if”块中传递到另一个PHP文件

时间:2019-01-02 15:04:24

标签: php

此处是完整的PHP noobe。 我试图将我的观点和模型分开。当我尝试从模型中的数据库中读取并调用将结果保存在视图中的变量(使用include()函数)时,得到的变量要么是未定义的错误,要么是空值。 因此,View.php类似于:

View.php

<?php include("Model.php")?> 
<p id="p1"><?php echo $var ?> </p>

Model.php (无需在“ if”块之外声明$ var):

if (isset($_POST['submit'])){
    // reading from database
    $var = result of the query

}

**此选项产生错误$ var。

Model.php ($ var在“ if”块之外声明和初始化):

$var = "";

if (isset($_POST['submit'])){
    // reading from database
    $var = result of the query

}

**此选项产生回显空白页。

Model.php (将$ var声明为“ if”块之外的全局变量):     :

global $var;

if (isset($_POST['submit'])){
    // reading from database
    $var = result of the query

}

**此选项也产生回显空白页。

编辑 发送请求的表单位于View.php中(因此,我希望在表单所在的同一页面上接收结果...)

<form action="Model.php", method="post">

编辑2 表单位于 view.php 中(这也是我希望显示结果的地方)

<form action="Model.php" method="post">
<input type="text" name="entername">
<input type="submit" name="submit">

我设法使其工作的唯一方法是将两个文件合并为一个,然后我可以在文件的“模型”部分和“视图”部分之间自由调用变量。

对于能解决此问题的任何见解,我将深表感谢。

1 个答案:

答案 0 :(得分:2)

View.php中更改您的操作网址,

<form action="View.php" method="post">

由于您的Model.php已包含在include("Model.php")中的View.php