【发布时间】:2014-11-12 17:09:04
【问题描述】:
在作业中,我在运行带有页面处理的 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 +
'&redirectURL=' + 'bal';" />
LOGIN.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;
}
?>
【问题讨论】:
-
代码 sn-ps 被过度使用、误用和滥用。到底是谁提出了这个想法?
-
我承认这有点矫枉过正,但我认为如果没有大量的 cmets 会问我为什么不包含相关代码。
-
代码没问题,就是(代码)sn-p按钮。
-
啊,是的,我想知道这一点。有没有办法禁用它?
-
TBH,我不能说。我必须用一个测试问题对其进行测试,以查看 Stack 是否默认添加了它。
标签: php html output echo submit-button