PHP里的session怎么用?? 用javascript能行的话。也帮帮我了。。谢谢。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主的想法....好象跟SESSION扯不上关系吧?要想达到这种效果,不需要使用SESSION也就可以呀?取表单的所有POST值,当有的值不符合要求的时候,就返回到原表单.但将符合要求的值赋给相对应的表单的values就可以了 真的。。可是。。有人跟我说这样子弄嘛。。你能不能讲明白点。。我在线等你回答。表单POST的值怎么取? <input type=text name=a value=$a>即可。 如果一定要用 session 就要把所有的变量注册。用session_register("var"); 如果不对就unregister咯 阿里的话我明白了意思。因为那个高手也是这样跟我说的。。只是,把这个加到POST。HTM中好像格式不对样的。。 我的是:<input class=input type="text" name="p[nickname]" size="30" maxlength="15" value="{nickname}">这样的。怎么取POST的值 这不要用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> 呵。。楼上的,我开始就是这样写的。。可是。他不会判断。。所以。我后来改了。改成后来的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"); } 里判断了。。然后。返回就不会有正确值保留。。 楼主试一下我这个.写的很匆忙,但意思应该是这样的了.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><?phpecho "<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> 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>你们这样就可以。为什么我的这样就不可以。。难不成。这也男女有别。。呜 还是学到一个 value=$_GET[],呵呵。 <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]]");}这样改嘛? value="$_get[{nickname}]">这样不行的.要大写value="$_GET[{nickname}]你的判断好象没加条件.........这可能不行吧?? 唉,我反而有问题了。就是实现不了返回上一页,还是带着用户输入的数据的样子。我也不要求给我怎样删掉错误的数据,只要保存着就行了。可是用value=的形式好像不行。 <textarea class=textarea rows="7" cols="49" name="p[message]" maxlength="20000">{message}</textarea>这种的呢??怎么改?? 可不可以加一下MSN。好像还是不行。。 [email protected]拜托了。。 to 君子兰.value=的形式肯定可以,我一直都这么做.to 楼主多行文本的显示用这种方法设原来的内容存在$test内,则修正后的显示这么做echo "<textarea class=textarea rows=7 cols=49 name=p[message] maxlength=20000>";echo $test;echo '</textarea>';这样就可以出现一个有内容的多行文本框了. 对不起楼主....上班时间,可以悄悄上网,不可以上MSN 或者QQ,实在不好意思...... 哪为大哥有关于session的文章给小弟看看,郁闷一天了!~提交一个表单、判断,返回,没这么复杂吧,提交后用$_POST或$_GET取出用javascript判断再以表单的形式返回不行么action??? 怎么文本框里会显示"$_GET[]"?? to 楼主怎么文本框里会显示"$_GET[]"??**************应该是你的value那里没写对,你返回的值使value为$_GET[],再检查一下那里的引号,包括所有的单引号,双引号,在那种情况下,是比较容易出错(因为引号引起的错)请再仔细检查. {nickname}外面加{}是什么意思呢。。我十再不好意思再问了。。 {nickname}外面加{}是什么意思呢意思就是说,这里面的东西是单独的一部分,如果这里面是一个比较复杂的变量计算出来的结果,就比较不容易跟别的东西混.这么讲可能不是很清楚,你可以理解成,在{}里面的如引号,斜杠等就不会跟{}外的打架.那个功能调试出来了吗? 草月你的东东还没弄出来么?我的session已经初见成效了,加油哦~! to llclovejava(爱我所爱) 弄明白了就结帐了,...呵... 别结,我的还没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>没用。 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]>把单引号去掉就可以了.虽然不是很清楚你的问题,但我以前就是犯这个错,估计你也一样.再试试:) 毕竟返回上一个页面,并没有提交到该页面变量,怎么可能用get取得? 不加单引号会提示出错的。*******怎么可能...不会的.你再试一下我写在很上面的,两小段程序.那个里面就没加单引号.如果你不想加,也可以.找个地方使用如$a=$_GET['name'],然后再用如value=$a这样,最最不可能出错的方法吧. 毕竟返回上一个页面,并没有提交到该页面变量,怎么可能用get取得?**************header("location:b.php?test1=$_POST[t1]");请注意这一句,在返回上一个页面的情况下,可以带变量过去,在'?'的后面b.php?test=$_POST[t1]如果要带一个以上变量b.php?test1=$_POST[t1]&test2=$_POST[t2]..........可以带许多变量过去的了... 呜。。我不要做了。。可不可以嘛。。就这样了,让他全部清空就算了,全部重填得了。。************晕,....再努力一些了,写程序就是这样的了,在最难的时候努力一点,过去了,就会发现自己有了许多大的进步...建议楼主还是加油一些了...addoil 有个奇怪的现象,是关于setcookie 请各位推荐下比较好的几款自助建站、智能建站的网站地址!!! php如何运行photoshop? 大家来谈OOP 在PHP中发宋邮件提出警告,大家告诉我怎么解决!,谢谢 求个正则表达式! 登录页面问题 急!!win2003 中iis 设置问题 日期向加怎么做?2003-3-4加5个月怎么做? ftp_connect()函数的问题! 这个问题怎么解决 只会做WEB程式, 但想问问什么是PHP开发 :P
要想达到这种效果,不需要使用SESSION也就可以呀?取表单的所有POST值,当有的值不符合要求的时候,就返回到
原表单.但将符合要求的值赋给相对应的表单的values就可以了
表单POST的值怎么取?
<input class=input type="text" name="p[nickname]" size="30" maxlength="15" value="{nickname}">
这样的。怎么取POST的值
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>
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");
}
里判断了。。然后。返回就不会有正确值保留。。
//判断从表单中过来的值是否>=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>
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>你们这样就可以。为什么我的这样就不可以。。难不成。这也男女有别。。呜
这样?
然后。
if($_POST['p[nickname]'])
{
header("location:index.php?{nickname}=$_POST[p[nickname]]");
}
这样改嘛?
这样不行的.要大写value="$_GET[{nickname}]你的判断好象没加条件.........这可能不行吧??
就是实现不了返回上一页,还是带着用户输入的数据的样子。我也不要求给我怎样删掉错误的数据,只要保存着就行了。可是用value=的形式好像不行。
这种的呢??怎么改??
拜托了。。
echo "<textarea class=textarea rows=7 cols=49 name=p[message] maxlength=20000>";
echo $test;
echo '</textarea>';这样就可以出现一个有内容的多行文本框了.
不可以上MSN 或者QQ,实在不好意思......
应该是你的value那里没写对,你返回的值使value为$_GET[],
再检查一下那里的引号,包括所有的单引号,双引号,在那种情况下,
是比较容易出错(因为引号引起的错)请再仔细检查.
是一个比较复杂的变量计算出来的结果,就比较不容易跟
别的东西混.这么讲可能不是很清楚,你可以理解成,在{}里面的如引号,
斜杠等就不会跟{}外的打架.那个功能调试出来了吗?
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>
没用。
width=80%><input type=text name=username $style_row value=$_GET[username]>把单引号去掉就可以了.虽然不是很清楚你的问题,但我以前就是犯这个错,估计你也一样.再试试:)
就没加单引号.如果你不想加,也可以.找个地方使用如$a=$_GET['name'],然后再用
如value=$a这样,最最不可能出错的方法吧.
b.php?test=$_POST[t1]
如果要带一个以上变量
b.php?test1=$_POST[t1]&test2=$_POST[t2]..........可以带许多变量过去的了...
就会发现自己有了许多大的进步...建议楼主还是加油一些了...
addoil