<td>
字符串输入框:<input type="text" name="mes" value="" width="50px"/>
<input type="submit" name="submit" value="发送" width="50px"  onClick="dochange2()"/>
            <?php 
                function dochange2(){
$open =fopen("d:\111.txt","a");
                $content=$_POST['mes'];
fwrite($open,$content);
fclose($open);
}
            ?>
</td>代码如上,我想把文本框mes的内容写到111.txt里面去,但是发现这样写不进去,求原因

解决方案 »

  1.   

    js onClick="dochange2()"   跟你的函数没关系……
    在form表单指定action,在相应的页面调用php的dochange2函数
      

  2.   

    <input type="submit" name="submit" value="发送" width="50px" onClick="dochange2()"/>dochange2  这是个js事件,,仅在客户端,浏览器执行,,不会直接调用服务器端的php函数dochange2
    这是个表单
    <form ……method……target…… action="abc.php">……
    ……</form>那么在abc.php里,下面的代码,正常情况会将表单的数据写到D:\111.txt,前提是具备权限的
    dochange2();function dochange2(){
    $open =fopen("d:\111.txt","a");
      $content=$_POST['mes'];
    fwrite($open,$content);
    fclose($open);
    }
      

  3.   

    http://www.w3school.com.cn/php/php_forms.asp
    你的 onClick="dochange2()" 调用的是JS的函数,而JS的dochange2()函数中,却是PHP的代码。
    Javascript是浏览器上的语言,PHP是服务器上的语言。不能混淆在一起应该是用浏览器的HTML <form>表单提交数据到服务器,然后php再来接收处理,比如写入本地文件当中
      

  4.   

    你的html代码在php代码之后运行,所以在浏览器中你看不到由php定义的dochange2()函数,浏览器会提示你
    dochange2()未定义。
    你可以在后台处理: <?phpif (!empty ($_POST)) {
    $open = fopen("d:\\111.txt", "ab");
    $content = $_POST['mes'];
    fwrite($open, $content);
    fclose($open);
    }
    ?>
    <td>
      <form action="xxx.php" method="post">
       字符串输入框:<input type="text" name="mes" value="" width="50px"/>
    <input type="submit" name="submit" value="发送" width="50px"/>
      </form>
    </td>