簡體   English   中英

通過.php將變量值發送到.txt文件

[英]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;
  • getElementById區分大小寫。

選項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.

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