【问题标题】:How to find the name of php script that posted the data to another php script?如何找到将数据发布到另一个 php 脚本的 php 脚本的名称?
【发布时间】:2016-02-12 19:56:31
【问题描述】:

如何找到将数据发布到当前 php 脚本的名称 php 脚本。 我分别有两个脚本 X.php 和 Y.php。这些脚本可以将数据发布到 php 脚本 process.php。在 process.php 中如何找到哪个脚本(来自 X.php 或 Y.php)已将数据发布到 process.php

【问题讨论】:

  • 这一切都发生在服务器端还是通过浏览器发布实际表单数据(http://<site>/X.php 表单 POST 到 http://<site>/process.php

标签: php


【解决方案1】:

如果您的 X.phpY.php 通过 HTML 表单提交数据,那么一种快速简便的方法是为提交按钮指定不同的名称:

X.php:

<form action="process.php" method="POST">
    ...
    <input type="submit" name="X" value="submit">
</form>

Y.php:

<form action="process.php" method="POST">
    ...
    <input type="submit" name="Y" value="submit">
</form>

process.php

<?php
if (isset($_POST['X'])) {
    // the request came from X.php
}
if (isset($_POST['Y'])) {
    // the request came from Y.php
}
?>

如果您通过 AJAX 调用 process.php,然后像上面描述的那样为您的请求数据添加一个键,例如(使用 jQuery)在 X.php 中:

$.post({
    url: 'process.php',
    data: { ......., X: 1}
});

【讨论】:

    【解决方案2】:

    试试这个:

    $previous = $_SERVER['HTTP_REFERER'];
    

    【讨论】:

    • 不幸的是,这不是很可靠。有些浏览器会一直返回一个空结果,有些会在 3xx 响应中携带原始 URL,有些只是简单的损坏。
    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    相关资源
    最近更新 更多