enctype="text/plain" 时 method="post" ,PHP 接收不到表单值,改成method="get" 可以
是何原因?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body><div>
<form action="index.php" method="get" enctype="application/x-www-form-urlencoded" target="_self"  id="loginForm">
用户:<input id="Uid" name="Uid" type="text" /><br>
密码:<input id="PSW" name="PSW" type="password" />
<input type="submit" value="提交">
</form>
</div>
<?php
echo('hello,now it is '.date('H:i:s,jS F,Y').'<br />');
echo('Uid:'.$_REQUEST['Uid'].' PSW:'.$_REQUEST['PSW']);
?></body>
</html>

解决方案 »

  1.   

    法语:<form method=" 表单的传送方式">
                ............................
    </form>
    传送方式有: 
    method="get"  表单数据会被视为CGI或ASP的参数发送.用户输入的数据会附加在URL之后,由用户端直接发送至服务器,所以速度上会比post快,缺点:数据长度不能太长.没有指定method 时.get为默认值.
    method="post" 表单数据是与URL分开发送的.用户端会通知服务器来读取数据,所以没有数据长度上的限制,缺点:速度上会比get慢.
    <form action="mailto:[email protected]" name="ixox" method="post"></form>
     
    编码方式____________enctype
    语法:<form enctype="编码方式">
    .......................
    </form>
     说明表单信息提交的编码方式:
    entype值
    text/plaim ----------------以纯文本的形式传送
    application/x-www-rorm-r\urlencoded  -------------默认的编码形式
    multipart/form-data     -------------- MIME编码,上传文件的表单必须选择该项
      

  2.   

    ENCTYPE="multipart/form-data",这句话的意思是把你表单的所有信息以流方式提交,页面上的所有信息已经都转换为了文件流,为的是能让服务端得到你上传的文件的文件流。当然,你填写的一些文本信息也变成了流,用request.getParameter()方法当然得不到值了   
    用request.getInputStream()来接收流数据吧
      

  3.   

    <?php
    echo file_get_contents("php://input");
    ?>
    <form method="post" enctype="text/plain" target="_self"  id="loginForm">
    用户:<input id="Uid" name="Uid" type="text" /><br>
    密码:<input id="PSW" name="PSW" type="password" />
    <input type="submit" value="提交">
    </form>
      

  4.   

    不好意思,贴上的代码是修改发过了,我没注意 
    我的问题是 enctype="text/plain" , method="post" 时,PHP获取不到表单值
    如果坚持使用 enctype="text/plain" ,要修改为 method="get" ,想知道原因,是 PHP就这样的,还是我的 服务器设置有问题,至于这几个值的含义我知道的,
    纯文本方式传递表单值post就获取不到,不是这样的吧
      

  5.   

    3楼的 <?php
    echo file_get_contents("php://input");
    ?>  可以获取值没错但我想知道 enctype="text/plain" , method="post" 时 $_POST()为何接收不到数据
    因为我网上搜索了半天没看到有人说这是不可以的
    是不是我的服务器设置有问题
      

  6.   

    #1 已经说了
    text/plaim ----------------以纯文本的形式传送
    既然是“纯文本”,那就不能编码了。所以php就无法解析了另外你说 改成method="get" 可以 是错误的
      

  7.   

    <div>
    <form action="index.php" method="get" enctype="text/plain" target="_self"  id="loginForm">
    用户:<input id="Uid" name="Uid" type="text" /><br>
    密码:<input id="PSW" name="PSW" type="password" />
    <input type="submit" value="提交">
    </form>
    </div>
    <?phpecho('hello,now it is '.date('H:i:s,jS F,Y').'<br />');
    echo('Uid:'.$_GET['Uid'].' PSW:'.$_GET['PSW'].'<br />');?>可以,代码没测试过我不会跑这里来问的另外我用的是 PHP5.3不知是否有本版的问题
      

  8.   

    <div>
    <form action="index.php" method="post" enctype="text/plain" target="_self"  id="loginForm">
    用户:<input id="Uid" name="Uid" type="text" /><br>
    密码:<input id="PSW" name="PSW" type="password" />
    <input type="submit" value="提交">
    </form>
    </div>
    <?phpecho('hello,now it is '.date('H:i:s,jS F,Y').'<br />');
    echo('Uid:'.$_POST['Uid'].' PSW:'.$_POST['PSW'].'<br />');?>这样写不可以
      

  9.   


    text/plain 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。   
      

  10.   


    GET方法可以因为url已经存在参数所以行。
      

  11.   

    浏览器送回來的 response 都是用 application/x-www-form-urlencoded。如果你把这个指定转成你想要的text/plain..我想应该可以
      

  12.   

    method="post" enctype="text/plain"   也就是说写成这样向PHP提交数据是错误的了以为以前 写 ASP 所以有这个问题