簡體   English   中英

將數據從一個php頁面傳遞到另一個頁面無法正常工作-為什么?

[英]Passing data from one php page to another is not working - why?

沮喪的PHP新手在這里...

我正在嘗試將ab.php的billto或shipto的“類型”值傳遞給abp.php。

ab.php代碼段:

<?php
echo '<a href="' . tep_href_link(FILENAME_ABP, 'edit=' . $bill_address['address_book_id'] . '&type=billto', 'SSL') . '">' . 
  tep_image_button('small_edit.gif', SMALL_IMAGE_BUTTON_EDIT) .
'</a>';
?>

確實會將&type = billto添加到網址的末尾。 看起來像這樣:www.mydomain.com/abp.php?edit=408&type=billto&id=4a6524d

abp.php代碼段:

if ($HTTP_GET_VARS['type'] == 'billto') {
  then it does a db update...

但是,if返回false(根據我的判斷),因為未執行更新。

我還嘗試了$ _GET而不是$ HTTP_GET_VARS。

因為直到用戶單擊按鈕后才執行abp.php中的代碼,所以我無法使用echos來檢查值,但是我可以在url中看到類型,因此我不確定為什么它不執行。

真的可以使用某個方向...無論是我需要更改的方向,還是只是有關如何進一步解決該問題的建議。 我現在正處於巨大的學習曲線之中。 謝謝!!!

編輯:對不起,我才意識到我沒有提到在數據庫更新后,用戶會回到ab.php。 所以整個工作流程是這樣的:

用戶轉到ab.php。 用戶單擊鏈接轉到abp.php。 用戶更改abp.php上的數據。 用戶單擊abp.php上的按鈕。 執行對db的更新,並將用戶發送回ab.php。

因為直到用戶單擊按鈕后才執行abp.php中的代碼,所以我不能使用echos來檢查值
為什么不?

 echo '<pre>Debug: $_GET=', htmlspecialchars(var_export($_GET, true)), "</pre>\\n"; echo '<pre>Debug: billto===$_GET[type] = ', 'billto'===$_GET['type'] ? 'true':'false', "</pre>\\n"; if ( 'billto'===$_GET['type'] ) { ... 

編輯:您可能也對netbeans及其php模塊感興趣:

“使用Xdebug調試PHP代碼:您可以檢查局部變量,設置監視,設置斷點並實時評估代碼。使用“轉到”快捷方式和超文本鏈接導航到聲明,類型和文件。”

嘗試這樣的事情

if ($_GET['type'] == 'billto') {
  die("got to here, type must == billto");

這將證明您的if語句是否有效,可能是更新部分無效

在if語句之前-試試

var_dump($_GET);

並確保“ billto”包含在$ _GET數組中。 當然,如果您已設置調試器,則應該能夠觀察$ _GET數組的值

或嘗試:

var_dump($_REQUEST);

檢查第二頁的URL,它的格式正確嗎? 從您發布的代碼片段中,我不知道是否會有一個? 問號后。 另外,請嘗試禁用重定向,以查看您的代碼是否正常工作。

另一件事是,您可能需要先將新的url放入變量中,然后將其放入鏈接HTML中。 它的效率較低,但是使代碼更易於閱讀和調試。

嘗試打開錯誤報告,將其放在您的php腳本的開頭

error_reporting ( E_ALL | E_STRICT)

PHP可以很好地容忍拼寫錯誤和在不存在的數組中訪問下標。 通過嚴格執行並報告所有錯誤,您將能夠發現這些情況。

如果看不到輸出,請嘗試以下操作:

function log_error($no,$msg,$file,$line)
{

    $errorMessage = "Error no $no: $msg in $file at line number $line";

    file_put_contents("errors_paypal.txt",$errorMessage."\n\n",FILE_APPEND);    
}

set_error_handler('log_error');

您可能需要為要寫入的日志文件設置一些文件許可權。

當然,您也可以獲取Netbeans及其調試模塊。

暫無
暫無

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

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