无非有三种:
表单,url,Session

解决方案 »

  1.   

    我是说不用表单POST数据阿。要是这么简单我还问来干嘛.
      

  2.   

    直接写在url后面,http://localhost?x1='a'
      

  3.   

    那就放到cookie或者是session中,要不写到文件中,这到没试过
      

  4.   

    还可以用隐藏按钮,将值都跟在url后面。
      

  5.   

    按理说来是不行的。除非你不用PHP,用其它的应用直接用 POST 命令发送
      

  6.   

    1:直接写在url后面那种是GET的方法啦,传送的数据不能大于1K.
    2:放session或者cookie中是另一种方法啦,不过要是我想把一篇文章这么大的用来传送呢?显然用这个就比较那个了,
    3:隐藏按钮是什么意思呢?是不是<input type=hidden>这样不是要用表单了吗?我的一个想法,就是用socket或者用header函数,通过HTTP协议模拟一个POST的过程。大家对这个有什么想法?研究研究~
      

  7.   

    不明白你为什么一定要绕过 form
      

  8.   

    不知楼主是要的是客户端传过来的数据,还是服务器端脚本之间数据的传递.
    服务器端的相互传值你可以用写文件的方式解决掉.
    是从前端传来的呢?.
    即然是前端传来的,那么session和cookie是否应该排除掉呢.
    应为他都是后台脚本往服务器端或前端写数据的方法,那它们第一次的数据从那来?
    再者,header是由后往前传的你要他干麻?
    socket这个东东倒没用过,不过用他来拿网页中的值是否夸张点.
    socket只是建立一个ip及端口级的连接,至于再怎么跟HTTP和POST联系起来还真摸不到风.......
      

  9.   

    也不是一定要这样做啦,只是突发奇想找些新东西研究研究而已.偶尔试试新的东西不也是挺好吗?为啥一点要有用才去做呢.
    其实说到用途也肯定有用.
    举个例子,有这么几个文件.
    INPUT.PHP,用来输入一些信息.
    PROCESS.PHP,用来处理INPUT.php输入的信息并且要利用OUTPUT.PHP输出反馈信息(假设这些反馈信息将会大于1K).
    OUTPUT.PHP,用来显示处理并且显示反馈信息.在这种三部分的结构里面(不要说没必要,有这样的结构的存在就有他的必要性,而且写网页程序多的人也肯定知道为啥要这样做,因为太多人喜欢乱按F5了),如果PROCESS.PHP要给OUTPUT.PHP传递信息,只有用GET,SESSION,或者用文件的方法传递反馈信息.用GET方法,显然不符合要求,因为反馈信息大于1k.用文件,显然在不同线程的用户就要给不同的文件名,不然就肯定出问题.而且在输出数据后,这个文件必须删除.如果在运行过程中出现什么意外的错误,这个文件将会被保留下来,浪费服务器空间.而如果再加一些语句去删除多余的文件又会浪费CPU时间,当然这些资源的消耗的量有多少先不讨论.那么这样看用session是最好的方法了.但是第一SESSION不一定每个用户都能用;第二,在OUTPUT.PHP里面,我们应该把储存这段反馈信息的那个session变量删除,不然就会很浪费资源(因为一段这样的信息就>1K,如果不即时删除,那么每运行一个页面这段信息就会被读取一次...).那么如果在OUTPUT.PHP里面马上删除这个session变量呢,又会出现另一个问题,就是如果用户重复按几次F5...反馈信息就没了.所以用session也是会有问题的.如果可以在PROCESS.PHP里面POST数据给OUTPUT.PHP,那么就问题就简单很多了.right?另外我提出这个问题,其实是看了在算法版的一条题目有感而来.
    http://www.csdn.net/expert/topic/931/931488.xml?temp=.9010126
    我觉得这个区有讨论的时候太少了,大多都是一些人问问题,而另一些人回答...而且来来去去都是那些老问题...
    我觉得应该时不时给出一点大家都不会的问题出来大家讨论解决方法,这样才有论坛的气氛.而且大家才能进步更快.
    希望大家可以一起讨论一下啦,有什么灵感都可以提出来嘛.反正这个东西我就觉得没多少人会(may be none even).
      

  10.   

    不管怎样都是服务器端不同页面传数据吧,
    (用socket更耗资源……开个出去的,还要开个回来的……更重要的是,
    没法对客户端重定向……)
    其实session就是为不同页面中间进行数据传输的,
    只不过是由script解释器负责而不用自己编码了。
    session有内存保存方式,也有文件保存方式。
    这种数据保存的代价是由http的无状态保留链接决定的。
    除非使用持续链接……那就不是http了。
      

  11.   

    “如果PROCESS.PHP要给OUTPUT.PHP传递信息,只有用GET,SESSION,或者用文件的方法传递反馈信息.”——你应该对 javascript 有个最起码的了解……即使造你假设的最极端的情况(三个页面),传统的 post 方式依然是最佳方法……
      

  12.   

    在PROCESS.PHP中这样写:
    <?php
    <form name="dataform" active="OUTPUT.PHP">
    <input hidden="text" name="filedata" value="<?php echo $session["filedata"];unset(session["filedata"]);?>">
    </from>
    </html>
    <script>
    document.dataform.submit();
    </script>
    ?>
    不过这样似呼跟直接从input.php=>output.php没甚么两样实际上我所写的PROCESS.PHP也以经到拉前端.就不是纯后台脚本啦.各位继续........
      

  13.   

    更正一下在PROCESS.PHP中这样写:
    <form name="dataform" active="OUTPUT.PHP">
    <input type="hidden" name="filedata" value="<?php echo $session["filedata"];unset(session["filedata"]);?>">
    </from>
    </html>
    <script>
    document.dataform.submit();
    </script>
      

  14.   

    原理上来说,用socket连接,发送http信息是可以的,但好像没这么做的必要
      

  15.   

    to白金:不明白js和这个有什么关系...另外你最后说post是最好的方法...我真的看糊涂了 @_@笨猫说的也是个方法...也许是没办法之中的办法吧.我想如果要真正实现这点先要明白POST的过程吧?有人能够解释一下吗?
    昨天我看过RFC1945,说HTTP协议的,但是好像里面提及POST的部分好像和这里的POST无关...不知道是不是应该看其他的文档.