亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ajax請求后PHP中的變量丟失

ajax請求后PHP中的變量丟失

PHP
當年話下 2022-07-29 16:51:00
我的目標 - 通過條帶或貝寶付款,一旦完成,向客戶提供表格以上傳文件以通過電子郵件發送給我。我的表單處于引導模式。我正在努力確保除非付款,否則無法提交表格??蛻舢斍案犊?,由 ajax 完成。這可以正常工作,并且會顯示一個付款 ID。但是,當我向同一個 php 文檔發送另一個 ajax 請求以完成電子郵件發送時,使用$send_form = $_POST["email_form"];,該變量$payment_made已丟失其值。<?php$send_form = $_POST["email_form"]; //this is sent by ajax. Will be 'yes' if the form to send has been submitted.switch ($action){  case 'stripe':    //do stripe transaction    //set a variable to indicate payment is complete using transaction ID    $payment_made = $transaction->id;  break;  case 'paypal':    //do paypal transaction    //set a variable to indicate payment is complete using transaction ID    $payment_made = $transaction->id;  break;}function sendmail() {  //usual php mail function (works fine)}if ($send_form = 'yes' && $payment_made != '') {  sendmail();}?>我的問題:如何使用$payment_made變量來驗證付款是否已完成,以防止未經授權使用電子郵件表單?除非有要求,否則我不會上傳 ajax 或 html 代碼,因為只要我$payment_made在使用phpmail().
查看完整描述

1 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

我使用 PHP 會話來存儲然后刪除變量。


<?php

session_start();

$send_form = $_POST["email_form"]; //this is sent by ajax. Will be 'yes' if the form to send has been submitted.


switch ($action){

  case 'stripe':

    //do stripe transaction

    //set a variable to indicate payment is complete using transaction ID

    $_SESSION["payment_made"] = $transaction->id;

  break;

  case 'paypal':

    //do paypal transaction

    //set a variable to indicate payment is complete using transaction ID

    $_SESSION["payment_made"] = $transaction->id;

  break;

}


function sendmail() {

  //usual php mail function (works fine)

  session_unset();

  session_destroy();

  mail();

}


if ($send_form = 'yes' && $_SESSION["payment_made"] != '') {

  sendmail(); 

}

?>


查看完整回答
反對 回復 2022-07-29
  • 1 回答
  • 0 關注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號