如何从另一个页面调用PHP函数?

时间:2014-03-11 18:25:13

标签: php

我目前正在使用php的项目中工作。

我有这个按钮

<form method="post" action="">
    <div class="profile" id="u118" style="left: 46px; top: 281px; width: 342px; height: 34px;">
    <input name="newOrder" type="submit" value="VIEW FULL COMPANY DETAILS" class="profile" id="profbutton" style="width: 342px; height: 34px;">
    </div>
</form>

我想从其他文件testDisplayCompanyDetails.php

调用php代码

<?php
if(isset($_GET[$_SESSION['id']]))
{
        $id = $_SESSION['id'];
        $sql="Select * from company where CompanyID = :id";
        $res=$db->prepare($sql);
        $res->execute(array('id'=> $id));   
        while($row = $res->fetch(PDO::FETCH_ASSOC)){
            echo $row['Name'];
            echo "</br>";
            echo $row['Address'];
            echo "</br>";
            echo $row['Telephone1'];
            echo "</br>";
            echo $row['Telephone2'];
            echo "</br>";
            echo $row['BusinessWebsite'];
            echo "</br>";
            echo $row['BusinessEmail'];
            echo "</br>";
            echo $row['BusinessPermit'];
            echo "</br>";
            echo $row['BusinessPermitValidTill'];
            echo "</br>";
            echo $row['DTIPermit'];
            echo "</br>";
            echo $row['DTIPermitValidTill'];
            echo "</br>";
            echo $row['BankName'];
            echo "</br>";
            echo $row['BankAccountNumber'];
            echo "</br>";
        }   

}     ?&GT;

我该怎么做?我复制了错误的代码。遗憾

2 个答案:

答案 0 :(得分:0)

在表单中,操作需要指向您的文件。

<form action="/path/to/your/script.php" method="post">

此外,您的method="post"表示您需要使用$_POST代替$_GET - 而您输入的name必须与密钥相同$ _POST:

<?php
include 'dbconnection.php';

    if(isset($_POST['newOrder']))
    {
    $id = $_POST['newOrder'];
    $sqlLoader="Select Name from validpersonnel where PersonnelID = :id";
    $resLoader=$db->prepare($sqlLoader);
    $resLoader->execute(array('id' => $id));
    $row = $resLoader->fetch();
    echo $row['Name'];
    }

除非您告诉PHP文件输出更多内容,否则它将是一个值为$row的白色屏幕。

此外,您需要<input type="submit"/>才能告诉浏览器以输入形式发送数据 - 否则,您需要一个javascript处理程序。

如果输出不应过于密集,您将需要查看ajax - 这将允许发送数据 - 并允许您处理响应而无需重定向或重新加载页面。

此外,您可以通过验证服务器端的$ _​​POST输入来了解如何防止注入。

filter_var作为开始 -

代表数字: filter_var($_POST['newOrder'], FILTER_VALIDATE_INT);应该足够了 - 其他任何东西,它有点棘手 - 但我通常使用: filter_var($_POST['newOrder'], FILTER_SANITIZE_STRING); - 这将涵盖基本需求。

答案 1 :(得分:-1)

尝试action="displanamev1.php"并将displanamev1.php中的$_GET更改为$_POST(或将method="post"更改为method="get"