Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 忘记变量值_Php_Echo - Fatal编程技术网

Php 忘记变量值

Php 忘记变量值,php,echo,Php,Echo,我目前正在为一个客户准备一个小项目。 因为客户端的web主机不支持PHP,所以我不得不从另一个主机对表单进行iframe。这并不理想,但这正是我目前必须处理的问题 通常情况下,我不会对表单有太大的问题,除非这个表单是多页的。 它还需要PHP,因为它包含API键 下面是代码的主要部分 <?php echo file_get_contents("make.html"); if (isset($_POST['devicemake'])) { $deviceMake = $_POS

我目前正在为一个客户准备一个小项目。 因为客户端的web主机不支持PHP,所以我不得不从另一个主机对表单进行iframe。这并不理想,但这正是我目前必须处理的问题

通常情况下,我不会对表单有太大的问题,除非这个表单是多页的。 它还需要PHP,因为它包含API键

下面是代码的主要部分

<?php

echo file_get_contents("make.html");

if (isset($_POST['devicemake']))
  {
    $deviceMake = $_POST['devicemake'];
    echo "<script type='text/javascript'>\n";
    echo "document.body.innerHTML = ''";
    echo "</script>";
    echo $deviceMake;
    echo file_get_contents("model.html");
 }

 if (isset($_POST['devicemodel']))
  {
    $deviceModel = $_POST['devicemodel'];
    echo "<script type='text/javascript'>\n";
    echo "document.body.innerHTML = ''";
    echo "</script>";
    echo $deviceMake . $deviceModel;
    echo file_get_contents("description.html");
 }

 ?>

您的第二篇帖子将重置传递的变量。您可以切换到GET并连接变量,也可以第二次将
$deviceMake
作为隐藏变量发布。

PHP是服务器端语言,因此即使您每次都不重新加载整个页面,当您向PHP脚本发送新的post请求时,它将仅将其视为独立请求,不会记住以前请求中的任何值

您需要做的是,您应该将较早的值保存在一个文件中

比如说,, 如果要在第一个请求中保存
$\u POST['devicemake']
值,并在第二个请求中保存
$\u POST['devicemodel']
。可以使用以下代码存储第一个值

session_start();
if (isset($_POST['devicemake']))
  {
    $_SESSION['deviceMake'] = $_POST['devicemake'];
    echo "<script type='text/javascript'>\n";
    echo "document.body.innerHTML = ''";
    echo "</script>";
    echo $_SESSION['deviceMake'];
    echo file_get_contents("model.html");
 }
session_start();
如果(isset($_POST['devicemake']))
{
$_会话['deviceMake']=$_POST['deviceMake'];
回音“\n”;
echo“document.body.innerHTML=”;
回声“;
echo$_会话['deviceMake'];
echo文件获取内容(“model.html”);
}

在下一个请求中,您可以使用
$\u会话['deviceMake']

来获得它,我会尝试一下,干杯。我花了一段时间使用GET,但是如果不使用子iframe或在每次提交后重新加载PHP文件,就很难做到这一点。刚意识到我不小心把它贴在了这里,而不是这样。来详细说明一个好的答案。确保
session\u start()
位于php代码的最开头。