簡體   English   中英

PHP初學者:如何將PHP變量從一個PHP代碼段傳遞到另一個PHP代碼段?

[英]PHP Beginner: How to pass PHP variable from one PHP code segment to another?

我有index.php ,它將文件上傳到服務器並設置了幾個PHP變量(例如$target_folder_and_file_name )。

index.php也有以下一行(最初是index.html ):

<script language="JavaScript" src="main.js.php"></script>

index.php返回瀏覽器之后,瀏覽器從服務器請求main.js.php (對嗎?)。

我可以通過$target_folder_and_file_name中的PHP代碼以某種方式訪問$target_folder_and_file_name嗎?

@TheJacobTaylor是正確的,會話是最好的,但是如果您不想保密“ $ target_folder_and_file_name”,也可以使用:(index.php)

<script type="text/javascript" src="main.js.php<?php echo '?target='.urlencode($target_folder_and_file_name); ?>"></script>

並在您的main.js.php中

<?php
$target_folder_and_file_name = htmlspecialchars(urldecode($_GET['target']));
...
?>

使用SESSIONS,它看起來像這樣:

在您的index.php中

<?php
session_start();
$_SESSION['target'] = $target_folder_and_file_name;

...
echo '<script type="text/javascript" src="main.js.php"></script>';
...
?>

並在您的main.js.php中:

<?php
session_start();
if( isset( $_SESSION['target'] ) )
{
    $target_folder_and_file_name = $_SESSION['target'];
}
else
{
    $target_folder_and_file_name = FALSE;
}
...
?>

最簡單的方法是將信息放入PHP會話中。 會議持續不止一次往返。 您還可以將信息添加到數據庫,緩存,外部存儲或javascript的URL。 正如我提到的,會話是最簡單的。

http://www.php.net/manual/zh/session.examples.basic.php

<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

如果您不希望所有內容都依賴於會話,則可以在獲取腳本時將參數傳遞給腳本。

index.php

<?
 //get filename in whatever manner you currently do
?>
<script language="JavaScript" src="main.js.php?t=<?= urlencode($filename); ?>"></script>

main.js.php

<?php
$filename = urldecode($_GET['t']);
//do whatever you need to with the filename
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM