本文目录一览:
- 1、php后台商品添加,需要两个表单,一个用于提交上传图片,一个用于提交商品数据到数据库。
- 2、php一个页面怎么实现两个form
- 3、php同个页面有多个form表单,怎么让多个form表单各不影响,就是提交后面的时候之前echo出来的信息不会没
- 4、php,如果单个页面上有多个form,提交时,如何区分啊。
- 5、PHP页面跳转的问题,两个前台form表单数据,一个是判断页面,一个是注册页面,判断才可以跳转到注册。
php后台商品添加,需要两个表单,一个用于提交上传图片,一个用于提交商品数据到数据库。
看你图片上的表单设计,你都有“上传”按钮了,这就是等于已经把图片上传上去了(而此时表单的其他数据还没有提交)
一般来说,PHP做商品添加,表单的其他数据和图片的上传都是一起来提交的,而如果你要检查图片是否上传成功来决定是否提交其他表单数据的话,可以这样设计:
一、你现在的这个表单不用改,只需要在最下面的那个“确定”按钮上加个JS判断,判断一下上面的图片是否上传成功(如果图片上传这里成功上传了图片,你返回一个图片的保存路径及图片名称到一个隐藏的文本框里面,然后在“确定”按钮的JS代码里去取这个隐藏的文本框的值,如果有值就可以判定这个图片是上传成功的了,否则失败则整个表单的数据都不能提交)
二、图片上传框这里,确实因为表单不能嵌套,所以这个位置你就要采用一个iframe来加载另一个上传图片的页面(这个上传图片的页面代码很简单,就是那个图片上传框(当然你得加一些权限判断不然就会是一个上传漏洞了),然后写相应的上传代码把图片上传上去最后返回上传后的图片路径及文件名等信息,使用
parent.表单名.隐藏文本框名.value='xxxx.jpg'
这个JS语句来实现把你上传的图片信息保存到你的隐藏文本框里。
上面这句parent...语句的详解如下:
a.由于你的图片上传页面是放在iframe里的,因此你要把iframe里的页面的内容保存到上一层页面(即你这个添加商品的页面,也就是这个加了iframe代码的页面)
举例个吧:
你添加商品的页面文件名是a.php,在a.php的表单里你加了一个iframe src="b.php"/iframe
这里面的b.php就是你的上传图片的页面(在b.php中就是你正常的上传图片的表单),另外你接收上传及处理上传的程序都是在这个iframe里面完成的。。
这样应该明白了吧。既然你的上传后的返回值是在iframe里的页面中的,那要想把它保存到a.php这个页面的一个隐藏文本框里,就要使用parent了。。。
所以上面那个js语句是:parent.表单名....
b.这个js语句parent.表单名.隐藏文本框名.value='xxx'中的“表单名”、“隐藏文本框名”,是指的a.php这个页面的表单名哦。
比如你a.php的表单是form name="addpro_form" method="post",那么这个JS语句中的表单名也就是addpro_form。隐藏文本框同理。
这样,你明白了吧?
我写个简单的实例你看看:
a.php的代码:
form name="addpro_form" method="post" action="a.php?act=save"
商品名称:input type="text" name="pro_name" /br /
商品价格:input type="text" name="pro_price" /br /
商品图片:input type="hidden" name="pro_img" /
iframe width="500" height="50" src="b.php"/iframebr /
商品说明:textarea name="pro_intro"/textareabr /
input type="submit" value="确定" /
/form
以上是a.php的代表,也就是整个表单,其中表单名是addpro_form,隐藏文本框名是pro_img。
接着写b.php的:
form name="upfile_form" method="post" action="upload.php" enctype="multipart/form-data"
input type="file" name="upimages"input type="submit" value="上传"
/form
b.php的页面很简单就是一个上传表单而已
然后upload.php是用来接收上传的图片并返回值的:
?php
//以下是PHP上传图片的代码(我就不写了)
......
//假设上传后得到图片名称
$imgname="111.jpg";
?
script type="text/javascript"
window.onload=parent.addpro_form.pro_img.value='?php echo $imgname; ?';
/script
好了,upload.php的代码也写完了,上面一段php代码是上传图片最后得到上传后的图片名称,接着用一段js代码把图片名称返回到上一页去。
php一个页面怎么实现两个form
两个form肯定有两个不同的按钮
因为两个按钮不能同时按
所以提交后你可以根据按钮不同的名字来判断是哪个表单提交的
php同个页面有多个form表单,怎么让多个form表单各不影响,就是提交后面的时候之前echo出来的信息不会没
多个form怎么了?每个form是独立的,而且表单中action=""指向是不一样的!
比方这种类型的!实际上action的指向都是指向不同的操作或者控制器!互不影响!
php,如果单个页面上有多个form,提交时,如何区分啊。
...如果需要提交所有表单的话,为什么不写成一个表单... =w=... 还这么麻烦干嘛..
==================================================
好吧..可能有某种需求需要这样....时间有限,给你解决思路
不用ajax....用javascript就行..
==================================================
假设页面有form1, form2,form3 三个表单..
form1下的输入框 name属性都以 form1_ 开头
form2下的输入框 name属性都以 form2_ 开头
form3下的输入框 name属性都以 form3_ 开头
form2有一个按钮 name属性为 form2_submit_all
解决过程:为form2_submit_all添加onclick事件,当点击它时,把其他表单的下的所有标签全部移动到form2里..然后通过javascript提交form2表单.
==============================================
非得用ajax的话,有点麻烦..
==============================================
当点击一个按钮时,将3个表单的input键值对分别设置成数组..
fom1: array(form1的表单项);
form2:array(form2的表单项);
form3:array(form3的表单项);
将他们设置为ajax的传递参数....
然后ajax返回action处理后的值..
你再用javascript将返回值显示到页面上.....
PHP页面跳转的问题,两个前台form表单数据,一个是判断页面,一个是注册页面,判断才可以跳转到注册。
通过 Cookie 传递就行,或者 SESSION,SESSION 更简单,更安全,Cookie 可以被自动注册机一类的程序进行自动化注册,如果你这个推荐是有奖励的,建议用 SESSION,确保你们不受损失。
if_form.php 里面获取推荐人及编码:
// 页面头部尽量靠近开始处
session_start ();
// 你的处理代码
$refer_man = $_POST ['ref'];
$refer_code = $_POST ['ref_code'];
然后存入 SESSION
$_SESSION ['ref_info'] = "$refer_man,$refer_code";
zhuce_form.php 里面获取推荐信息 SESSION,
// 页面头部尽量靠近开始处
session_start ();
// 检测推荐SESSION是否存在
$refer_info = null;
if (! empty ( $_SESSION ['ref_info'] )) {
$refer_info = explode ( ',', $_SESSION ['ref_info'] ); // [0] = 推荐人 [1] = 推荐码
} else {
// 在这里把非法访问此页面的家伙打发走
header ( 'Location: if.php' );
exit ();
}
写入数据库之前再次检测
if ($refer_info != null) {
// 写入数据库代码
}
// 最后销毁 SESSION
session_destroy ();