[英]Send variable value to .txt file through .php
我有一個帶變量的腳本,這個變量我傳遞給.php腳本,然后從.php腳本傳遞到.txt文件,然后存儲變量中的數值,唯一的問題是當我將變量傳遞給.txt文件,而不是傳遞變量的數量,它只傳遞它的名稱。
這是我的腳本:
PHP:
<?php
$variableToPass= $_POST['variableToPass'];
$filename = "textFilePass.txt";
$content = file_get_contents($filename);
$content .= $variableToPass. PHP_EOL;
file_put_contents($filename, $content);
?>
HTML:
<form id="payment-form" action="chargeCard.php" method="POST" name="payment-form">
<input type="text" name="amount" id="amount" />
<input type="hidden" id="variableToPass" name="variableToPass" value="variableToPass"/>
<input type="image" src="butImg.png" id="Button" value="but" alt="but"/>
</form>
<script type="text/javascript">
var variableToPass= 1;
document.getElementById("variableToPass").innerHTML = variableToPass;
document.getElementByID("variableToPass").value = variableToPass;
</script>
你有一個拼寫錯誤:
document.getElementByID("variableToPass").value = variableToPass;
^
將其更改為:
document.getElementById("variableToPass").value = variableToPass;
該值不會更改並保持默認值,即variableToPass
,它與PHP變量名稱一致。
此外,您不需要更改innerHTML - 它是輸入,它有其價值。
“這是因為我想保存變量以便能夠向網站上的所有用戶顯示它,所以為了做到這一點,我有默認值1,然后我有一個文本輸入,只允許數字是變量+ 1所以我們假設默認值為1,然后我將2放入輸入,然后.php文件將獲得2的輸入並將其保存到.txt文件中,之后javascript中的變量將獲得這個變量在.txt文件中,並將新值轉換為變量。有點復雜但基本上只是為所有用戶而不是本地保存變量。“
好的,我很清楚你想在這里做什么。
重要的旁注:請仔細和完整地回答我的回答; 我可能沒有完全掌握你想要達到的目標,所以我的答案有兩種選擇。
這是你需要做的:
首先使用is_numeric()
檢查輸入是否為數字。
然后分配變量並使用$_POST['variableToPass']
數組添加POST量。
PHP
<?php
if(isset($_POST['amount']) && is_numeric($_POST['amount']) ){
$amount = $_POST['amount'];
}
else{
echo "It is not numeric. Please click back and enter an integer.";
exit;
}
$variableToPass1 = $_POST['variableToPass'];
$variableToPass = $variableToPass1 + $amount;
$filename = "textFilePass.txt"; // make sure this file exists before executing
$content = file_get_contents($filename);
$content .= $variableToPass. PHP_EOL;
file_put_contents($filename, $content);
HTML表單
<form id="payment-form" action="chargeCard.php" method="POST" name="payment-form">
<input type="text" name="amount" id="amount" />
<input type="hidden" id="variableToPass" name="variableToPass" value="variableToPass"/>
<input type="submit" name="submit" value="Submit"/>
</form>
<script type="text/javascript">
var variableToPass= 1;
document.getElementById("variableToPass").innerHTML = variableToPass;
document.getElementById("variableToPass").value = variableToPass;
</script>
但是,使用此方法將繼續添加/附加到文件。 如果這不是所需的結果,則需要刪除以下點:
$content .= $variableToPass. PHP_EOL;
^
讀作:
$content = $variableToPass. PHP_EOL;
另外,如前所述; 這一行:
document.getElementByID("variableToPass").value = variableToPass;
應該讀作:
document.getElementById("variableToPass").value = variableToPass;
選項2使用“amount”輸入中的數字寫入文件。
這將從輸入中寫入任何數字並將其寫入文件,而不是附加到文件。
如果未插入數字且僅通過單擊提交按鈕,將寫入您在var variableToPass= 1;
定義的數字var variableToPass= 1;
<?php
if(isset($_POST['amount']) && is_numeric($_POST['amount']) ){
$variableToPass = $_POST['amount'];
}
else{
$variableToPass = $_POST['variableToPass'];
}
$filename = "textFilePass.txt";
$content = file_get_contents($filename);
$content = $variableToPass. PHP_EOL;
file_put_contents($filename, $content);
腳注:
試試這個:
$var_str = var_export($text, true);
$var = "<?php\n\n\$$text = $var_str;\n\n?>";
file_put_contents('filename.php', $var);
<input type="hidden" id="variableToPass" name="variableToPass" value="variableToPass"/>
這將始終發送值(value =“variableToPass”)嘗試將其更改為(value =“1”)這應該返回1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.