走投无路啦,关于表单的两步提交传递数组的问题
本帖最后由 kiseki_m 于 2012-11-09 16:11:45 编辑
小弟做了一个图片上传功能,首页面通过checkbox可以选择多个用户,选择后点击上传进入第二个上传页面,可以批量给多个用户目录上传图片,但现在问题出现了,第一个页面通过checkbox传递的用户ID 数组到了第二个上传图片的页面,一开始还是存在的,但点击“上传”按钮后,也就是提交第二个页面后,则会提示foreach错误,也就是说这个数组就不存在了……用session好像也不获取不到……球大家帮帮忙……
第二个页面,关键页面代码:
<?php<br /> session_start();<br /> require_once('pic_fns.php');<br /> include("upload.class.php");<br /> <br /> <br /> $edit_me = $_POST['edit_me']; //checkbox选中的数据储存在 edit_me数组中<br /> $valid_user = $_SESSION['valid_user']; //检测是否登录<br /> <br /> do_html_header("上传图片广告 Upload pic for machine"); <br /> try{<br /> check_valid_user(); //检测是否登录<br /> }catch(Exception $e){<br /> echo $e->getMessage();<br /> do_html_url('login_admin.php','返回');<br /> do_html_footer();<br /> exit;<br /> }<br /> <br /> foreach ($edit_me as $k){ //循环上传图片,提交后显示WARNING foreach的数据为空<br /> <br /> if($_POST['submit']){ //图片上传部分<br /> $image = new upload_image();<br /> $image->get_file_dir("pic/".$k."/"); //文件存放目录<br /> $image->get_upload_name($_FILES['file']['name']);<br /> $image->get_upload_size($_FILES['file']['size']);<br /> $image->get_upload_type($_FILES['file']['type']);<br /> $image->get_upload_tamp($_FILES['file']['tmp_name']);<br /> <br /> $image->upload();<br /> display_user_menu();<br /> do_html_footer;<br /> }<br /> }<br /> <br /> ?><br /> <form action="" method="post" enctype="multipart/form-data"><br /> <table align="center"><br /> 图片来源:<input type="file" name="file"><br /> <input type="hidden" name="hidden" value="a"><br /> <input type="submit" name="submit" value="上传"><br /> </table><br /> </form><br /><br /> <br /> <?php<br /> <br /> display_user_menu(); <br /> do_html_footer;<br /> <br /> ?>
如果在这个页面开头创建一个新的数组,是可以循环上传图片的,但传递过来的数组不知道为什么不行,请帮帮我吧……
------最佳解决方案--------------------

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Atom editor mac version download
The most popular open source editor

Notepad++7.3.1
Easy-to-use and free code editor
