2015-09-01 32 views
-1

我正在嘗試創建一個簡單的網站,其中包含用戶輸入對話框以填充將在shell命令中使用的變量。從網站上的用戶輸入寫入文本文件以填充變量

我知道最簡單的方法是使用HTML表單,然後調用php文件寫入文件。我發現了一些類似的代碼,但我怎樣才能使用輸入來填充變量?示例如下。

我希望最終結果如下所示。

testapp -d -p -e MySQL_dbname = $變量1 -e MySQL_dbuser = $變量2 -e MySQL_server = $ variable3 -e MySQL_pass = $ variable3

這是我已經找到的代碼

<form action="myprocessingscript.php" method="POST"> 
    <input name="field1" type="text" /> 
    <input name="field2" type="text" /> 
    <input type="submit" name="submit" value="Save Data"> 
</form> 

<?php 
    if(isset($_POST['field1']) && isset($_POST['field2'])) { 
     $data = $_POST['field1'] . '-' . $_POST['field2'] . "\n"; 
     $ret = file_put_contents('/tmp/mydata.txt', $data, FILE_APPEND | LOCK_EX); 
     if($ret === false) { 
    die('There was an error writing this file'); 
} 
else { 
    echo "$ret bytes written to file"; 
} 
} 
else { 
die('no post data to process'); 
} 
+4

它有什麼問題嗎? –

+0

請不要讓我測試這個,並把水壺稱爲黑色。 –

+0

它確實寫入文件,但我無法弄清楚如何將它們填充到shell命令中的變量中。 – DigitalAnimal

回答

0

雖然每個變量都打印到一個新行,但我能夠通過使用連接來獲取輸出。任何想法如何讓它在同一行上輸出所有內容?

<?php 
if(isset($_POST['field1']) && isset($_POST['field2']) && isset($_POST['field3']) && isset($_POST['field4']) && isset($_POST['field5'])) { 
    $containername = $_POST['field1'] . "\n"; 
    $WPhost = $_POST['field2'] . "\n"; 
    $WPuser = $_POST['field3'] . "\n"; 
    $WPpass = $_POST['field4'] . "\n"; 
    $WPname = $_POST['field5'] . "\n"; 
    $WPapp = 'testapp run -d --name'; 
    $WPdbhost = '-e WORDPRESS_DB_HOST='; 
    $WPdbuser = '-e WORDPRESS_DB_USER='; 
    $WPdbpass = 'WORDPRESS_DB_PASSWORD='; 
    $WPdbname = '-e WORDPRESS_DB_NAME='; 
    $ret = file_put_contents('/tmp/mydata.txt', $WPapp . ' ' . $WPhost . $WPdbhost . $WPuser . $WPdbuser . $WPpass . $WPdbname . $WPname, FILE_APPEND | LOCK_EX); 
    if($ret === false) { 
die('There was an error writing this file'); 
} 
else { 
echo "$ret bytes written to file"; 
} 
} 
else { 
die('no post data to process'); 
} 
+0

只需要從每個中刪除「\ n」。 – DigitalAnimal