簡體   English   中英

PHP回顯打印語言構造

[英]PHP echo printing language construct

在一項作業中,我無法通過頁面處理來運行php腳本。 當通過另一個php頁面提交時,它會輸出實際的php代碼,但可以正常工作。

我有一個html登錄頁面 ,它通過提交按鈕而不是表單提交提交[要求]。 這將提交給login.php 另外,我有testBalance.php ,它檢查服務器上的balance.txt文件,該文件的數量僅為(1000)。 testBalance.php在getBalance.php中調用一個函數以在此處返回金額。

問題是當我自己運行testBalance.php時 ,它工作得很好。 顯示“帳戶余額:1000.00”,但是當我嘗試將(在login.php中testBalance.php設置為重定向URL時,該頁面從字面上顯示了我的testBalance.php頁面中的代碼:“帳戶余額:”); printf(“%01.2f”,$ returnValue); 回聲(“”); ?>“我知道它是復雜的,這是Web prog。類的php部分的簡介。我猜想它與傳遞給頁面的值對有關。有人可以幫忙嗎?

LOGIN.HTML代碼段


  <input type="button" name="sub_but" id="bal" value="check balance" onclick="location.href = 'login.php' + '?' + 'name='+ document.forms[0].username.value + '&amp;redirectURL=' + 'bal';" /> 

登錄PHP


 <?php $NAME=$_GET["name"]; $PAGE=$_GET["redirectURL"]; $DESTINATION=""; if ($NAME == ''){ /* HANDLES NAME ERRORS */ echo "PLEASE RETURN AND ENTER A NAME."; } elseif (ctype_alpha(str_replace(' ', '', $NAME)) === false) { echo "$NAME is not a valid name. Name must contain letters and spaces only"; } else{ if($PAGE=='with'){ $DESTINATION = "withdraw.html"; } elseif($PAGE=='bal'){ //$DESTINATION = "balance.html"; $DESTINATION = "testBalance.php"; } elseif($PAGE=='depos'){ $DESTINATION = "deposit.html"; } elseif($PAGE=='weath'){ $DESTINATION = "weather.html"; } elseif($PAGE=='xchang'){ $DESTINATION = "currency.html"; } /*echo("$DESTINATION\\r\\n");*/ header("Content-Length: " . strlen(file_get_contents($DESTINATION))); header("Cache-Control: no-cache"); readfile($DESTINATION); } ?> 

testBalance.php身體片段


  <?php include 'getBalance.php'; $returnValue = readBalance(); echo "<p>Account balance: "; printf( "%01.2f", $returnValue ); echo "</p>"; ?> 

getBalance.php


  <?php function readBalance(){ $file = "balance.txt"; $fp = fopen($file, "r"); if (!$fp){ echo "<p>Could not open the data file.</p>"; $balance = 0; } else{ $balance = fgets($fp); fclose ($fp); } return $balance; } ?> 

readfile()不執行任何讀取的內容。 從字面上看,它只是讀取文件的字節,然后將其吐給客戶端。 基本上在做

echo file_get_contents(...);

如果要執行其他文件,則需要include()require() 或者,您可以嘗試eval() ,但您確實不想走那條路。 eval()是邪惡且危險的。

暫無
暫無

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

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