将变量从一个 PHP 文件发送到另一个 PHP 文件,并在第三个文件中显示变量值



bookincome.php 接受几个输入和 bi.php根据从账面收入中获取的值计算总净收入.php并显示一个包含用户的所有给定值和计算的总账面收入 ($tnibeforetax( 值的表格。现在,我的 report1 中有一个表.php我想在其中显示计算$tnibeforetax值,但我无法在 report1.php 中显示该表中的值。请帮忙

账面收入的代码.php :

<?php
// start session
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title> Book Income </title>
</head>
<body>
<center>
<h2>BOOK INCOME AS PER TRIAL BALANCE ENTRY </h3>
</center>
<form name='form' action="bi.php" method='post' autocomplete='off' target="_blank" [....]>
<table cellspacing="10">
<tr>
<br>
<td align="left">Book Income as per Trial Balance: </td>
<td><input type="number" name="bi" value="<?php if(isset($_POST['bi'])) ?>"></td>
</tr>
<tr>
<br>
<td align="left">Late Adjustment 1: </td>
<td><input type="number" name="la1" value="<?php if(isset($_POST['la1'])) ?>"></td>
</tr>
<tr>
<br>
<td align="left">Late Adjustment 2: </td>
<td><input type="number" name="la2" value="<?php if(isset($_POST['la2'])) ?>"><br> </td>
</tr>
<tr>
<br>
<td align="left">Late Adjustment 3: </td>
<td><input type="number" name="la3" value="<?php if(isset($_POST['la3'])) ?>"><br> </td>
</tr>
<tr>
<br>
<td align="left">Audit Adjustment 1: </td>
<td><input type="number" name="aa1" value="<?php if(isset($_POST['aa1'])) ?>"><br> </td>
</tr>
<tr>
<br>
<td align="left">Audit Adjustment 2: </td>
<td><input type="number" name="aa2" value="<?php if(isset($_POST['aa2'])) ?>"><br> </td>
</tr>
<tr>
<br>
<td align="left">Audit Adjustment 3: </td>
<td><input type="number" name="aa3" value="<?php if(isset($_POST['aa4'])) ?>"><br> </td>
</tr>
</table>
<br>
<center> <button type="submit" value="Submit">Submit</button>
<button type="reset" value="Reset">Reset</button> </center>
</form>
</body>
</html>

以下是 bi.php 的代码:

<?php
// start session
session_start();
			$bi = $_POST['bi'];
			$la1 = $_POST['la1'];
			$la2 = $_POST['la2'];
			$la3 = $_POST['la3'];
			$aa1 = $_POST['aa1'];
			$aa2 = $_POST['aa2'];
			$aa3 = $_POST['aa3'];
			
			$tnibeforetax= $bi + $la1 + $la2 + $la3 + $aa1 + $aa2 + $aa3;
			
			$_SESSION['tnibeforetax'] = $tnibeforetax; 
				
?>
<html>
<head>
<style>
table,
th,
td {
border: 1px solid black;
border-collapse: collapse;
}
</style>
</head>
<body>
<table style="width:50%" align="center">
<tr>
<td width="70%">&nbsp;</td>
<td align="center"> Amount </td>
</tr>
<tr>
<td> Book Income as per trail Balance </td>
<td align="right">
<?php echo $bi ; ?> </td>
</tr>
<?php 
		if($la1!=0)
		{
			echo '<tr><td> Late Adjustment1 </td> ';
			echo '<td align="right">'. $la1 . '</td><tr>';
		}
	?>
<?php 
		if($la2!=0)
		{
			echo '<tr><td> Late Adjustment2 </td>';
			echo '<td align="right">'. $la2 . '</td></tr>';
		}
	?>
<?php 
		if($la3!=0)
		{
			echo '<tr><td> Late Adjustment3 </td> ';
			echo '<td align="right">'. $la3 . '</td></tr>';
		}
	?>
<?php 
		if($aa1!=0)
		{
			echo '<tr><td> Audit Adjustment1 </td> ';
			echo '<td align="right">'. $aa1 . '</td></tr>';
		}
	?>
<?php 
		if($aa2!=0)
		{
			echo '<tr><td> Audit Adjustment2 </td></tr> ';
			echo '<tr><td align="right">'. $aa2 . '</td></tr>';
		}
	?>
<?php 
		if($aa3!=0)
		{
			echo '<tr><td> Audit Adjustment3 </td>';
			echo '<td align="right">'. $aa3 . '</td></tr>';
		}
	?>
<tr>
<td> Total Net Income before tax as per Income Statement </td>
<td align="right">
<?php echo $tnibeforetax ; ?> </td>
</tr>

报告1.php的代码:

<?php
// start session
session_start();
$tnibeforetax = $_SESSION['$tnibeforetax'];
?>
<!DOCTYPE html>
<html>
<head>
<style>
	table, th, td 
	{
		border: 1px solid black;
		border-collapse: collapse;
	}
</style>
</head>
<body>
<table style="width:50%" align="center" >
	<tr>
		<td style="font-weight:bold" colspan="2" ><font color="darkgreen" > Income from Business & Proffession:</td></font>
	</tr>
	<tr>
		<td> Net Income before tax as per Income Statement </td>
		<td width="25%"> <?php echo "$" . $tnibeforetax; ?></td>
	</tr>

你只是checking不是checking and printing所以在这里和下面的所有内容中进行更改

<td><input type="number" name="bi" value="<?php $_POST['bi'] ?? '' ?>"></td>

在这里$_POST['bi'] ?? ''与 php 7 中的isset($_POST['bi']) ? $_POST['bi'] : ''相同。

bi.php添加相同的检查

$bi = $_POST['bi'] ?? 0;

它不起作用的原因是因为您将会话设置为值tnibeforetax但使用$tnibeforetax获取它,请在您的第三个文件中替换上述代码,即report1.php

<?php
// start session
session_start();
$tnibeforetax = $_SESSION['tnibeforetax'];
?>

您忘了在value属性中添加结果的输出。

<td><input type="number" name="bi" value="<?php $_POST['bi'] ?? '' ?>"></td>

<td><input type="number" name="bi" value="<?php echo isset($_POST['bi']) ? $_POST['bi'] : '' ?>"></td>

la1la2等也是如此。

使用 php.ini 文件中的short_open_tag=On,它可以只是<?= isset($_POST['bi']) ? $_POST['bi'] : '' ?>.在 PHP 7 中,它可以是<?= $_POST['bi'] ?? '' ?>.

报告1中的$tnibeforetax = $_SESSION['$tnibeforetax'];.php必须是

$tnibeforetax = $_SESSION['tnibeforetax'];

请为变量使用更易于理解的名称。变量的名称必须尽可能清楚地与存储在其中的数据匹配。例如,而不是bi使用bookIncome.

$tnibeforetax = $_SESSION['$tnibeforetax'];

值内没有$

请从 ['$tnibeforetax'] 中删除 $符号,该符号在 report1 代码部分中写为 $tnibeforetax = $_SESSION['$tnibeforetax']

最新更新