2015-05-19 15 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

相关问题