【问题标题】:php variables from another php file来自另一个 php 文件的 php 变量
【发布时间】:2012-07-27 15:36:43
【问题描述】:

周围有很多版本,但我无法正确...

我需要将变量从一个 php 脚本文件转移到另一个。

script1.php 有变量:

$t1 =  $_POST['t1'];
$t2 =  $_POST['t2'];

我需要在另一个脚本文件中使用这些变量 - script2.php

如何访问script2.php 文件中的这些变量?

好的。我将发布所有脚本。

script1.php 或者实际上 getImage.php 正在跟踪

<?php 
$today = date("Ymd_His"); 

$t1 =  $_POST['t1']; //mazais nosaukums
$t2 =  $_POST['t2']; //lielais nosaukums

$c1 =  $_POST['c1'];  //kjeksis
$c2 =  $_POST['c2'];  //kjeksis 
$c3 =  $_POST['c3'];  //kjeksis 
$c4 =  $_POST['c4'];  //kjeksis 

$mazais =  $_POST['mazais'];    //maza bilde atseviskji
$lielais =  $_POST['lielais'];    //maza bilde atseviskji    

$response = "";

$error_response = "error.php";
$succes_response = "nextstep.php";


$etikjete = base64_decode($_REQUEST['png']);
if ($handle1 = fopen("render/".$today.'.png', 'w+')) {
    if (!fwrite($handle1, $etikjete) === FALSE) {
        fclose($handle1);
        $response .= "Success etikjete! "; 
    } else {
        $response .=  "fwrite error etikjete! ";
        $error = true;
    }
} else {
    $response .=  "fopen error etikjete! ";
    $error = true;    
}

if($mazais){
    $etikjete = base64_decode($mazais);
    if ($handle1 = fopen("render/".$today.'_mazais.png', 'w+')) {
        if (!fwrite($handle1, $etikjete) === FALSE) {
            fclose($handle1);
            $response .= "Success mazais! "; 
        } else {
            $response .=  "fwrite error mazais! ";
            $error = true;
        }
    } else {
        $response .=  "fopen error mazais! ";
        $error = true;    
    } 
}      
if($lielais){
    $etikjete = base64_decode($lielais);
    if ($handle1 = fopen("render/".$today.'_lielais.png', 'w+')) {
        if (!fwrite($handle1, $etikjete) === FALSE) {
            fclose($handle1);
            $response .= "Success lielais! "; 
        } else {
            $response .=  "fwrite error lielais! ";
            $error = true;
        }
    } else {
        $response .=  "fopen error lielais! ";
        $error = true;    
    } 
}
if($error){
         echo $error_response;
} else {
        echo $succes_response;
}
?>

这里的script2.php被称为nextstep.php 在这个 nextstep.php 中,我需要将 getImage.php 中的变量保存到数据库中。 nextstep.php 到目前为止是这样的,但不起作用。与 db 连接没问题,如果我在 nextstep.php 上设置不同的自变量,那么它们会存储到 db 中。

<?php 

include 'getImage.php';

// Connects to your Database
mysql_connect("localhost", "user", "pass") or die(mysql_error()) ;
mysql_select_db("myDB") or die(mysql_error()) ;

//Writes the information to the database
mysql_query("INSERT INTO jos_orders (maza_bilde,liela_bilde,mazais_nosaukums,lielais_nosaukums)
VALUES ('$t1', '$c2', '$mazais', '$lielais')") ;

?>

【问题讨论】:

  • 这取决于。您如何访问script2.php
  • script2.php 或者实际上 nextstep.php 被$succes_response = "nextstep.php";访问
  • 首先,echoing 文件名不会执行文件。其次,@ARIF 的答案可能是解决您的问题的最简单方法(回顾:使用会话或将文件合并为一个)。

标签: php variables


【解决方案1】:

这些怎么样:

  1. 会话 - 将您的数据存储到会话变量中,以便可以将其检索到您网站的任何页面。当您关闭浏览器时,数据将被清除。

    session_start();

    $_SESSION['t1'] = $_POST['t1'];
    
    $_SESSION['t2'] = $_POST['t2'];
    
    1. 获取变量 = 通过 URL 传递变量

page2.php?t1=somevars&t2=somevars

$t1 = $_GET['t1'];

$t2 = $_GET['t2'];

3.$_COOKIE[] - http://www.w3schools.com/php/php_cookies.asp

【讨论】:

    【解决方案2】:

    您想从不同的脚本访问变量,因此您似乎正在重定向您的脚本,否则所有全局变量都可以从我们知道的任何脚本访问。所以解决方案可以是会话,否则如果你只是做一些插入、更新或删除操作,我建议你将它提交到同一页面并包含一个文件传递一个操作值,从包含的文件中检查它,根据该操作执行操作并重定向。另一种解决方案是构建一个小的mvc应用程序看看一些mvc应用程序的代码希望你能理解。希望这会对你有所帮助。

    【讨论】:

    • 暂时劫持这个答案并引用@Truth:请不要将 mysql_* 函数用于新代码。它们不再维护,社区已开始弃用过程。看到红框了吗?相反,您应该了解准备好的语句并使用 PDO 或 MySQLi。如果你不能决定,这篇文章将有助于选择。如果你想学习,这里有很好的 PDO 教程。
    • 是的,谢谢@Palladium!我将重写以使用 MySQLi。但在我的情况下,nextstep.php 会被执行.. 至少如果我在那里编写简单的 echo 语法,那么它会在我运行 getImage.php 后显示出来……嗯……真的卡住了……我会尝试会话
    • @raivis 我不清楚你的编码目的是不是提交数据而不是按照我的指示进行,我认为这对你来说是最好的。
    【解决方案3】:

    您可以在$_SESSION[]中创建它们

    看看这个: Storing Form Data as a Session Variable

    【讨论】:

      猜你喜欢
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 2020-02-09
      • 2020-05-21
      相关资源
      最近更新 更多