2012-02-24 80 views
0

我试图从HTML Web表单(通过输入文本字段)获取并传输信息,然后将该信息存储到PHP变量中的另一个文件中。正如你在下面看到的,我创建了一个字符串来搜索($ str_to_find)并手动使用'脚本'作为字符串,但我想要做的是用另一个文件中的Web表单动态地填充这个区域。在PHP中动态存储字符串

我知道这可能是一个普遍的问题,但我不知道从哪里开始。

function check_files($this_file) { 
$str_to_find='script'; // the string(code/text) to search for 
//I want to fill the 'string' above with info from another file's web form, if possible. 
+0

你可能会想使用类似的file_get_contents' ()'(这里是该文档的页面:http://php.net/manual/en/function.file-get-contents.php)中间有一些例子页面,应该可以帮助你开始......至少就文件部分而言! – summea 2012-02-24 05:43:41

+0

好的....这是有道理的。我想我的问题是,如果来自Web表单内的文本字段,我将如何使用这些代码来完成该操作?我认为我很困惑将它写入程序语言 – 2012-02-24 05:46:51

+0

你的方法或使用数据库是否更复杂,但是可以使用简单的[SQLite数据库](http:// www。 php.net/manual/en/intro.sqlite.php)?如果您的PHP 5或更高版本,默认情况下启用SQLite,并且您可以读取和写入存储在磁盘上的单个文件中的sqlite数据库中的值。 *也许你可以澄清你的表单和数据存储/检索的最终目标吗?* – drew010 2012-02-24 05:48:47

回答

1

这听起来像你只是想使用GET或POST数据。这里是基本的样本。一个人将在form.html上填写表格并点击提交。然后您将通过属性名称从此表单收集POST数据。在这种情况下,process.php脚本仅打印出“Hello <firstname> <lastname>”,但也可以根据需要显示它。

form.html

<form action="process.php" method="post"> 
    <input name="fname" type="text" /> 
    <input name="lname" type="text" /> 
    <input type="submit" /> 
</form> 

process.php

$fname = $_POST['fname']; 
$lname = $_POST['lname']; 
echo "Hello $fname $lname" 
... 

如果你想这显示在同一页面上的信息,您可以使用AJAX。示例请参阅http://api.jquery.com/jQuery.ajax/。我已经包含了一个如下:

form.html

... 
<head> 
... 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript"> 
    // when document is ready do this 
    $(document).ready(function() { 

     // listen to when users click on the send button 
     $('#send-ajax').click(function() { 

      // get input data 
      $fname = $('#fname').val(); 
      $lname = $('#lname').val(); 

      // result container 
      $result = $('#result-ajax'); 

      // create ajax request to process and store 
      // result in the div container above the form 
      $.ajax({ 
       url: 'process.php', 
       type: 'POST', 
       dataType: 'HTML', 
       data: { 
        fname: $fname, 
        lname: $lname 
       }, 
       success: function($html) { 
        $result.html($html); 
       }, 
       error: function() { 
        $result.html('<b>Request Failed</b>'); 
       } 
      }); 
     }); 
    }); 
</script> 
</head> 
<body> 
    <div id="result-ajax"></div> 
    <input id="fname"​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ /> 
    <input id="lname" /> 
    <button id="send-ajax" value="send">Send</button>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 
</body> 
... 

process.php

同上

+0

谢谢Prowla,你的答案做到了。非常实用的谢谢你。如果您仍在论坛中,您是否知道如何将数据发布到iframe中的process.php中?我运行脚本,并在新的浏览器窗口中打开process.php。我只想将结果显示在同一页面上的iframe内部。那是我需要使用AJAX的地方吗? – 2012-02-24 17:29:28

+0

我不会理解为什么但不使用iframe。我会更新我的答案以包含AJAX请求 – Kurt 2012-02-24 22:02:59