2015-05-19 31 views
-2

我有一個php腳本,用於獲取外部文件中某些標記之間的值並回顯標記值。我的基本目標是將變量與輸入表單中輸入的值進行比較,如果值不正確,則執行一個函數。將輸入與變量進行比較 - PHP

PHP:

function innerh($string, $start, $end){ 
    $string = " ".$string; 
    $ini = strpos($string,$start); 
    if ($ini == 0) return ""; 
    $ini += strlen($start); 
    $len = strpos($string,$end,$ini) - $ini; 
    return substr($string,$ini,$len); 
} 

$fp = fopen("tags.text", "r"); 

if ($fp) { 
while (!feof($fp)) { 
    $line = fgets($fp); 

    $parsed = innerh($line, "<tag>", "</tag>"); 
    echo $parsed; 


    } 
} 

HTML:

<form name="form" action="function();" method="get"> 
    <input type="text" name="subject" id="subject" value="tags.text"> 
</form> 

的細節是,我想在$fp = fopen("tags.text", "r");(tags.text)的值與根據輸入的值替換表單。

然後,如果表單的值與有效文件的值不匹配,它將執行一個函數。 ?

警告,如果我更換一個的tags.text _GET,我得到這個錯誤: enter image description here

注:我是新來的PHP

+0

你想說「的形式輸入給任何文字/文件名在表單提交時用在你的PHP'fopen()'中? – Makesh

+0

@Makesh是的,這就是全部 – ScriptKitty

回答

0

試試這個:

HTML:

<form name="form" method="get" action="your_file_open.php"> 
    <input type="text" name="subject" id="subject" value="tags.text"> 
    <input type="submit"> 
</form> 

PHP: your_file_open.php]

$file_name = $_GET['subject']; 
$fp = fopen($file_name, "r"); 

做基本的錯誤處理的$ _GET []

更多:http://www.w3schools.com/php/php_forms.asp

+0

我得到這個錯誤:'警告:fopen():文件名不能在第51行的/home/name/public_html/name.php中爲空' – ScriptKitty

+0

echo $ file_name。它是空的嗎? – Makesh

+0

現在好了,忘了把php放在一個外部文件中,所以當它從外部文件中的php執行的時候它正常工作 – ScriptKitty

相關問題