用javascript能行的话。也帮帮我了。。谢谢。。

解决方案 »

  1.   

    楼主的想法....好象跟SESSION扯不上关系吧?
    要想达到这种效果,不需要使用SESSION也就可以呀?取表单的所有POST值,当有的值不符合要求的时候,就返回到
    原表单.但将符合要求的值赋给相对应的表单的values就可以了
      

  2.   

    真的。。可是。。有人跟我说这样子弄嘛。。你能不能讲明白点。。我在线等你回答。
    表单POST的值怎么取?
      

  3.   

    <input type=text name=a value=$a>即可。
      

  4.   

    如果一定要用 session 就要把所有的变量注册。用session_register("var"); 如果不对就unregister咯
      

  5.   

    阿里的话我明白了意思。因为那个高手也是这样跟我说的。。只是,把这个加到POST。HTM中好像格式不对样的。。
      

  6.   

    我的是:
    <input class=input type="text" name="p[nickname]" size="30" maxlength="15" value="{nickname}">
    这样的。怎么取POST的值
      

  7.   

    这不要用session直接用javascript在客户端操作就可以了一般采用这样的方式:<script language="javascript">
    function check()
    {
    if(document.form1.user_name.value.length>50)//用户名长度大于就提示错误并返回
       {alert("用户名过长");
        return false;
       }
    if(document.form1.e_mail.value.length>50)//用户邮件长度大于就提示错误并返回
       {alert("用户名过长");
        return false;
       }
    //----在此增加你对提交数据的验证方式就是他要求满足的条件,如果不行就return false;
    //如果正确的话,他会自动执行后面的,可以不用return true;进行返回
    }
    </script><form name="form1" action="#" method="post" onsubmit="return check()">
    用户名
    <input type="text" name="user_name" value=""><br>
    用户邮件
    <input type="text" name="e_mail" value=""><br>
    用户密码
    <input type="password" name="user_password" value=""><br>
    密码确认
    <input type="password" name="conf_password" value=""><br><input type="submit" name="submit" value="提交">
    </form>
      

  8.   

    呵。。楼上的,我开始就是这样写的。。可是。他不会判断。。所以。我后来改了。改成后来的PHP 
    if($p[subject]==""){
            showmessage("sorry,Title isn't empty.please back,input again.",$referer,"3");
        }
        if($p[message]==""){
            showmessage("sorry,Conten isn't empty.please back input again.",$referer,"3");
       } 
    里判断了。。然后。返回就不会有正确值保留。。
      

  9.   

    楼主试一下我这个.写的很匆忙,但意思应该是这样的了.a.php<?php
    //判断从表单中过来的值是否>=30,如条件成立则显示"条件成立",如不成立则返回输入界面
    if($_POST['t1']<30)
    {
    header("location:b.php?test2=$_POST[t2]");
    }
    elseif($_POST['t2']<30)
    {
    header("location:b.php?test1=$_POST[t1]");
    }
    else
    {
    echo '条件成立';
    }?>
    b.php<html>
    <body><form method="POST" action=a.php>
    <?php
    echo "<p><input type=text name=t1 size=20 value=$_GET[test1]>";
    echo "<p><input type=text name=t2 size=20 value=$_GET[test2]>";
    echo "<input type=submit value=提交 name=B1>";
    echo "<input type=reset value=全部重写 name=B2></p>";
    ?>
    </form></body></html>
      

  10.   

    function check(){
    if(messageinput.p[nickname].value.length<2){
    alert("sorry,nikcname length must more two bits!");
    messageinput.p[nickname].focus();
    return false; 
    }  
    if(messageinput.p[message].value==""){
    alert("sorry,content isn't empty!");
    messageinput.p[message].focus();
    return false; 
    }
    }<form method="post" name="messageinput" action="post.php{do}" onSubmit="return check()">
    <input class=input type="text" name="p[nickname]" size="30" maxlength="15" value="{nickname}">
    <textarea  class=textarea rows="7" cols="49" name="p[message]" maxlength="20000">{message}</textarea>
    </form>你们这样就可以。为什么我的这样就不可以。。难不成。这也男女有别。。呜
      

  11.   

    还是学到一个 value=$_GET[],呵呵。
      

  12.   

    <input class=input type="text" name="p[nickname]" size="30" maxlength="15" value="$_get[{nickname}]">
    这样?
    然后。
    if($_POST['p[nickname]'])
    {
    header("location:index.php?{nickname}=$_POST[p[nickname]]");
    }
    这样改嘛?
      

  13.   

    value="$_get[{nickname}]">
    这样不行的.要大写value="$_GET[{nickname}]你的判断好象没加条件.........这可能不行吧??
      

  14.   

    唉,我反而有问题了。
    就是实现不了返回上一页,还是带着用户输入的数据的样子。我也不要求给我怎样删掉错误的数据,只要保存着就行了。可是用value=的形式好像不行。
      

  15.   

    <textarea  class=textarea rows="7" cols="49" name="p[message]" maxlength="20000">{message}</textarea>
    这种的呢??怎么改??
      

  16.   

    可不可以加一下MSN。好像还是不行。。 [email protected]
    拜托了。。
      

  17.   

    to 君子兰.value=的形式肯定可以,我一直都这么做.to 楼主多行文本的显示用这种方法设原来的内容存在$test内,则修正后的显示这么做
    echo "<textarea  class=textarea rows=7 cols=49 name=p[message] maxlength=20000>";
    echo $test;
    echo '</textarea>';这样就可以出现一个有内容的多行文本框了.
      

  18.   

    对不起楼主....上班时间,可以悄悄上网,
    不可以上MSN 或者QQ,实在不好意思......
      

  19.   

    哪为大哥有关于session的文章给小弟看看,郁闷一天了!~提交一个表单、判断,返回,没这么复杂吧,提交后用$_POST或$_GET取出用javascript判断再以表单的形式返回不行么action???
      

  20.   

    怎么文本框里会显示"$_GET[]"??
      

  21.   

    to 楼主怎么文本框里会显示"$_GET[]"??**************
    应该是你的value那里没写对,你返回的值使value为$_GET[],
    再检查一下那里的引号,包括所有的单引号,双引号,在那种情况下,
    是比较容易出错(因为引号引起的错)请再仔细检查.
      

  22.   

    {nickname}外面加{}是什么意思呢。。我十再不好意思再问了。。
      

  23.   

    {nickname}外面加{}是什么意思呢意思就是说,这里面的东西是单独的一部分,如果这里面
    是一个比较复杂的变量计算出来的结果,就比较不容易跟
    别的东西混.这么讲可能不是很清楚,你可以理解成,在{}里面的如引号,
    斜杠等就不会跟{}外的打架.那个功能调试出来了吗?
      

  24.   

    草月你的东东还没弄出来么?我的session已经初见成效了,加油哦~!
      

  25.   

    to  llclovejava(爱我所爱) 弄明白了就结帐了,...呵...
      

  26.   

    别结,我的还没ok呢。
    to  lzkd(浪子快刀) :没用。www.notle.net/register.php
    其中第一行:<tr><td valign=middle  align=center width=20%>用户名:</td><td width=80%><input type=text name=username $style_row  value=$_GET['username']>(最多8个汉字或16个字母,可以使用中文英文和数字)</td></tr>
    没用。
      

  27.   

    to zairwolf(君子兰) width=80%><input type=text name=username $style_row  value=$_GET['username']>已经在""里面的get ,post ,session等就不可以用$_GET['username']的形式,改成$_GET[username]
    width=80%><input type=text name=username $style_row  value=$_GET[username]>把单引号去掉就可以了.虽然不是很清楚你的问题,但我以前就是犯这个错,估计你也一样.再试试:)
      

  28.   

    毕竟返回上一个页面,并没有提交到该页面变量,怎么可能用get取得?
      

  29.   

    不加单引号会提示出错的。*******怎么可能...不会的.你再试一下我写在很上面的,两小段程序.那个里面
    就没加单引号.如果你不想加,也可以.找个地方使用如$a=$_GET['name'],然后再用
    如value=$a这样,最最不可能出错的方法吧.
      

  30.   

    毕竟返回上一个页面,并没有提交到该页面变量,怎么可能用get取得?**************header("location:b.php?test1=$_POST[t1]");请注意这一句,在返回上一个页面的情况下,可以带变量过去,在'?'的后面
    b.php?test=$_POST[t1]
    如果要带一个以上变量
    b.php?test1=$_POST[t1]&test2=$_POST[t2]..........可以带许多变量过去的了...
      

  31.   

    呜。。我不要做了。。可不可以嘛。。就这样了,让他全部清空就算了,全部重填得了。。************晕,....再努力一些了,写程序就是这样的了,在最难的时候努力一点,过去了,
    就会发现自己有了许多大的进步...建议楼主还是加油一些了...
    addoil