php多个商品,点击任意一个进入详情页面怎么做?

php多个商品,点击任意一个进入详情页面怎么做?,第1张

要实现多个商品列表,并且点击进入任意一个商品详情页面,需要用到后端编程语言 PHP 和数据库。下面是大致的步骤:

在数据库中创建两个表,一个是商品表,另一个是商品详情表。商品表包括商品的 ID、名称、价格、图片等基本信息,商品详情表包括商品的 ID、详细描述等信息。

在 PHP 页面中,使用 SQL 语句从商品表中获取商品的基本信息,并展示在页面上。可以使用循环语句来遍历商品列表,使得每个商品都可以显示在页面上。

给每个商品添加一个链接,链接到对应的商品详情页面。链接中可以包含商品的 ID,用于在详情页面中查询该商品的详细信息。

在详情页面中,使用获取到的商品 ID,从商品详情表中查询该商品的详细信息,并展示在页面上。

需要注意的是,为了防止 SQL 注入等安全问题,需要对输入的参数进行过滤和验证,例如使用预处理语句来避免 SQL 注入攻击。

看你图片上的表单设计,你都有“上传”按钮了,这就是等于已经把图片上传上去了(而此时表单的其他数据还没有提交)

一般来说,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"></iframe><br />

商品说明:<textarea name="pro_intro"></textarea><br />

<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代码把图片名称返回到上一页去。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11348504.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存