Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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 - Fatal编程技术网

PHP在同一页面上的两个脚本之间传递数据

PHP在同一页面上的两个脚本之间传递数据,php,Php,如何将数据从HTML上方的PHP代码传递到HTML下方的PHP代码?我需要HTML下面的PHP代码,因为正在运行的代码不会在HTML之前运行 顶级PHP: <?php $_SESSION['amount'] = null; if(isset($_POST['moneyBTN'])){ $pack = $_POST['package']; if($pack == "1"){ $_SESSION['amount'] = 600;

如何将数据从HTML上方的PHP代码传递到HTML下方的PHP代码?我需要HTML下面的PHP代码,因为正在运行的代码不会在HTML之前运行

顶级PHP:

<?php
    $_SESSION['amount'] = null;


    if(isset($_POST['moneyBTN'])){

    $pack = $_POST['package'];
      if($pack == "1"){
        $_SESSION['amount'] = 600;

        $data_amount = 600;
        $data_name = "Example1";
      }
       if($pack == "2"){
        $_SESSION['amount'] = 1000;

        $data_amount = 1000;
        $data_name = "Example2";
      }
       if($pack == "3"){
        $_SESSION['amount'] = 1300;

        $data_amount = 1300;
        $data_name ="Example3"; 
      }

    }
    ?>

HTML下面的PHP:

<div class="card-block">
        <h4 class="card-title">Title</h4>
        <p class="card-text">Desc</p>

        <iframe width="0" height="0" border="0px solid white" 
style="display:none" name="target1" id="target1"></iframe>

          <form action="shop.php" method="post" target="target1" >

        <div class="form-group input" >

                <select name="package" class="form-control" id="select">

                  <option>1</option>
                  <option>2</option>
                  <option>3</option>


                </select>
              </div>
        <input type="submit" class="btn btn-primary" name="moneyBTN" 
    value="Continue">
        <div>
         </form>
        <div  ">
          <form action="shop.php" method="post">
          <script
          src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="pk_test_xxxxxxxxxxxxxxxxxx"
          data-amount=<?php echo $data_amount;?>
          data-name=<?php echo $data_name;?>
          data-description="Buy"
          data-
image="https://stripe.com/img/documentation/checkout/marketplace.png"
          data-locale="auto">
          </script>
        </form>
        </div>
        </div>

      </div>
    </div>

标题

说明

1. 2. 3.
如果两个代码都在同一个页面上(即,在同一个PHP文件中),那么变量应该能够在许多PHP代码块上使用,因为大多数PHP变量具有相同的作用域

参考:


如果我们看到完整版本的代码,这将有助于找到问题的原因。

根据您的输入,我编写了此脚本

<?php
session_start();

$_SESSION['amount'] = null;
$data_amount = null;
$data_name = null;

if(isset($_POST['moneyBTN'])){
    $pack = $_POST['package'];
    if($pack == 1){
       $_SESSION['amount'] = 600;
       $data_amount = 600;
       $data_name = "Example1";
    }
    if($pack == 2){
       $_SESSION['amount'] = 1000;
       $data_amount = 1000;
       $data_name = "Example2";
    }
    if($pack == 3){
       $_SESSION['amount'] = 1300;
       $data_amount = 1300;
       $data_name ="Example3"; 
    }
}

?>
<html>
    <head>
        <title>Testing</title>
    </head>
    <body>

        <div class="card-block">
            <h4 class="card-title">Title</h4>
            <p class="card-text">Desc</p>            
            <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
                <div class="form-group input" >
                    <select name="package" class="form-control" id="package">
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                    </select>
                </div>
                <input type="submit" class="btn btn-primary" id="moneyBTN" name="moneyBTN" value="Continue">
            </form>
            <iframe width="150px" height="50px" style="border:solid 1px #fff;" name="target1" id="target1">
                <?php echo $_SESSION['amount']." ".$data_amount." ".$data_name;?>
            </iframe>
        </div>
        <div>
            <?php echo $_SESSION['amount']." ".$data_amount." ".$data_name; ?>
            <form action="shop.php" method="post">
                <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
                    data-key="pk_test_xxxxxxxxxxxxxxxxxx"
                    data-amount=<?php echo $data_amount;?>
                    data-name=<?php echo $data_name;?>
                    data-description="Buy"
                    data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
                    data-locale="auto">
                </script>
            </form>
        </div>
    </body>
</html>





<?php   
$amount = $_SESSION['amount'];
require_once('vendor/autoload.php');
\Stripe\Stripe::setApiKey("sk_testxxxxxxxxxxxxxxxxx");
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create(array(
    "amount" => $amount,
    "currency" => "usd",
    "description" => "Buy",
    "source" => $token,
));
?>

测试
标题
描述
数据描述=“购买”
数据图像=”https://stripe.com/img/documentation/checkout/marketplace.png"
数据区域设置=“自动”>

请用html部分粘贴整个代码。@meta我已经添加了code@apaul:检查它是否对您有效。它仍然没有帮助-我们不知道您所说的低于/高于php是什么意思。它在一个文件中吗?你这是什么意思?嗨,迪维扬,谢谢你的帮助。我已经更新了我的问题以添加更多代码。
<?php
session_start();

$_SESSION['amount'] = null;
$data_amount = null;
$data_name = null;

if(isset($_POST['moneyBTN'])){
    $pack = $_POST['package'];
    if($pack == 1){
       $_SESSION['amount'] = 600;
       $data_amount = 600;
       $data_name = "Example1";
    }
    if($pack == 2){
       $_SESSION['amount'] = 1000;
       $data_amount = 1000;
       $data_name = "Example2";
    }
    if($pack == 3){
       $_SESSION['amount'] = 1300;
       $data_amount = 1300;
       $data_name ="Example3"; 
    }
}

?>
<html>
    <head>
        <title>Testing</title>
    </head>
    <body>

        <div class="card-block">
            <h4 class="card-title">Title</h4>
            <p class="card-text">Desc</p>            
            <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
                <div class="form-group input" >
                    <select name="package" class="form-control" id="package">
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                    </select>
                </div>
                <input type="submit" class="btn btn-primary" id="moneyBTN" name="moneyBTN" value="Continue">
            </form>
            <iframe width="150px" height="50px" style="border:solid 1px #fff;" name="target1" id="target1">
                <?php echo $_SESSION['amount']." ".$data_amount." ".$data_name;?>
            </iframe>
        </div>
        <div>
            <?php echo $_SESSION['amount']." ".$data_amount." ".$data_name; ?>
            <form action="shop.php" method="post">
                <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
                    data-key="pk_test_xxxxxxxxxxxxxxxxxx"
                    data-amount=<?php echo $data_amount;?>
                    data-name=<?php echo $data_name;?>
                    data-description="Buy"
                    data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
                    data-locale="auto">
                </script>
            </form>
        </div>
    </body>
</html>





<?php   
$amount = $_SESSION['amount'];
require_once('vendor/autoload.php');
\Stripe\Stripe::setApiKey("sk_testxxxxxxxxxxxxxxxxx");
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create(array(
    "amount" => $amount,
    "currency" => "usd",
    "description" => "Buy",
    "source" => $token,
));
?>