❶ php 同时提交多条记录
多个提交和一个提交的道理是相同的,只是一些细节上要注意。
提交一个你懂了,我还是提一下,表单是:
<form>
<input type=text name=name>
<input type=text name=sex>
<input type=text name=age>
<input type=text name=address>
</form>
PHP存数据库的语句是:
$sql="insert into tab(...) values ($_POST[...])";//省略字段和值
那么多个提交的方法一,表单是:
<form>
<input type=text name=name1><input type=text name=sex1><input type=text name=age1><input type=text name=address1>
<input type=text name=name2><input type=text name=sex2><input type=text name=age2><input type=text name=address2>
</form>
PHP存数据库语句是:
$sql="insert into tab(...) values ($_POST[...1])";//省略字段和值
mysql_query($sql);
$sql="insert into tab(...) values ($_POST[...2])";//省略字段和值
mysql_query($sql);
上面方法一写的例子是两条,多条的方法相同,技巧就是输出表单使用JS的循环,存盘的PHP代码也可以循环,并且能够判断为空的就不提交,比如表单20条,只填了5条,就只存5条到数据库。
方法二是使用数组,表单:
<form>
<input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address>
<input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address>
<input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address>
</form>
PHP代码是:
for ($i=0;$i<count($_POST["name"]);$i++)
if ($_POST["name"][$i]!='')
{
$sql="insert into tab(...) values ($_POST[...][$i])";//省略字段和值
mysql_query($sql);
}
这样表单可以写任意多行,PHP里面是数组,能够自动获取有多少数据。
❷ 姹备竴娈祊hp涓娄紶浠绘剰鏂囦欢镄勪唬镰
PHP 鏂囦欢涓娄紶 鏄阃氲繃 PHP锛屽彲浠ユ妸鏂囦欢涓娄紶鍒版湇锷″櫒銆
1棣栧厛鍒涘缓涓涓鏂囦欢涓娄紶琛ㄥ崟
鍏佽哥敤鎴蜂粠琛ㄥ崟涓娄紶鏂囦欢鏄闱炲父链夌敤镄勚
璇风湅涓嬮溃杩欎釜渚涗笂浼犳枃浠剁殑 HTML 琛ㄥ崟锛
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
璇风暀镒忓备笅链夊叧姝よ〃鍗旷殑淇℃伅锛
<form> 镙囩剧殑 enctype 灞炴ц勫畾浜嗗湪鎻愪氦琛ㄥ崟镞惰佷娇鐢ㄥ摢绉嶅唴瀹圭被鍨嬨傚湪琛ㄥ崟闇瑕佷簩杩涘埗鏁版嵁镞讹纴姣斿傛枃浠剁僵姣曞厗鍐呭癸纴璇蜂娇鐢 "multipart/form-data"銆
<input> 镙囩剧殑 type="file" 灞炴ц勫畾浜嗗簲璇ユ妸杈揿叆浣滀负鏂囦欢𨱒ュ勭悊銆备妇渚嬫潵璇达纴褰揿湪娴忚埚櫒涓棰勮堟椂锛屼细鐪嫔埌杈揿叆妗嗘梺杈规湁涓涓娴忚堟寜阍銆
娉ㄩ喷锛氩厑璁哥敤鎴蜂笂浼犳枃浠舵槸涓涓宸ㄥぇ镄勫畨鍏ㄩ庨橹銆傝蜂粎浠呭厑璁稿彲淇$殑鐢ㄦ埛镓ц屾枃浠朵笂浼犳搷浣溿
2锛氩垱寤轰笂浼犺剼链
"upload_file.php" 鏂囦欢钖链変緵涓娄紶鏂囦欢镄勪唬镰侊细
<?php
if ($_FILES["file"]["error"鏁版梾] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
阃氲繃浣跨敤 PHP 镄勫叏灞鏁扮粍 $_FILES锛屼綘鍙浠ヤ粠瀹㈡埛璁$畻链哄悜杩灭▼链嶅姟鍣ㄤ笂浼犳枃浠躲
绗涓涓鍙傛暟鏄琛ㄥ崟镄 input name锛岀浜屼釜涓嬫爣鍙浠ユ槸 "name", "type", "鐗╃焥ize", "tmp_name" 鎴 "error"銆傚氨镀忚繖镙凤细
$_FILES["file"]["name"] - 琚涓娄紶鏂囦欢镄勫悕绉
$_FILES["file"]["type"] - 琚涓娄紶鏂囦欢镄勭被鍨
$_FILES["file"]["size"] - 琚涓娄紶鏂囦欢镄勫ぇ灏忥纴浠ュ瓧鑺傝
$_FILES["file"]["tmp_name"] - 瀛桦偍鍦ㄦ湇锷″櫒镄勬枃浠剁殑涓存椂鍓链镄勫悕绉
$_FILES["file"]["error"] - 鐢辨枃浠朵笂浼犲艰嚧镄勯敊璇浠g爜
杩欐槸涓绉嶉潪甯哥亩鍗曟枃浠朵笂浼犳柟寮忋备笉闇瑕佽冭槛鏂囦欢镄勪笂浼犳牸寮忋
❸ 求实现php文件上传代码
PHP上传文件非常简单,你需要一个上传的HTML文件(<FORM>),一个保存文件的PHP文件(保存),一个查询上传文件清单的工具。
真正实现完整功能的上传和管理需要使用数据库,我的网站俱乐部里面上传文件一开放很快就传了几万个文件。
最简单的方法不用数据库,可以用一个PHP文件实现,这个文件列出指定目录下的所有文件,然后提供一个上传的FORM,最后检测是否提交了FORM数据,是就保存文件到指定位置。
PHP手册第39章有关于处理这些问题的说明,我复制粘贴如下:
上一页V.特点下一页
--------------------------------------------------------------------------------
第39章文件上传处理
目录
POST方法上传
错误信息说明
常见缺陷
上传多个文件
对PUT方法的支持
POST方法上传
本特性可以使用户上传文本和二进制文件。用PHP的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。
PHP能够接受任何来自符合RFC-1867标准的浏览器(包括NetscapeNavigator3及更高版本,打了补丁的MicrosoftInternetExplorer3或者更高版本)上传的文件。
相关的设置:请参阅php.ini的file_uploads,upload_max_filesize,upload_tmp_dirpost_max_size以及max_input_time设置选项。
请注意PHP也支持PUT方法的文件上传,NetscapeComposer和W3C的Amaya客户端使用这种方法。请参阅对PUT方法的支持以获取更多信息。
例39.1.文件上传表单
可以如下建立一个特殊的表单来支持文件上传:<!--Thedataencodingtype,enctype,MUSTbespecifiedasbelow-->
<formenctype="multipart/form-data"action="__URL__"method="POST">
<!--MAX_FILE_-->
<inputtype="hidden"name="MAX_FILE_SIZE"value="30000"/>
<!--$_FILESarray-->
Sendthisfile:<inputname="userfile"type="file"/>
<inputtype="submit"value="SendFile"/>
</form>
以上范例中的__URL__应该被换掉,指向一个真实的PHP文件。
MAX_FILE_SIZE隐藏字段(单位为字节)必须放在文件输入字段之前,其值为接收文件的最大尺寸。这是对浏览器的一个建议,PHP也会检查此项。在浏览器端可以简单绕过此设置,因此不要指望用此特性来阻挡大文件。实际上,PHP设置中的上传文件最大值是不会失效的。但是最好还是在表单中加上此项目,因为它可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。
注意:要确保文件上传表单的属性是enctype="multipart/form-data",否则文件上传不了。
全局变量$_FILES自PHP4.1.0起存在(在更早的版本中用$HTTP_POST_FILES替代)。此数组包含有所有上传的文件信息。
以上范例中$_FILES数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为userfile。名称可随意命名。
$_FILES['userfile']['name']
客户端机器文件的原名称。
$_FILES['userfile']['type']
文件的MIME类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此MIME类型在PHP端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size']
已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']
和该文件上传相关的错误代码。此项目是在PHP4.2.0版本中增加的。
文件被上传后,默认地会被储存到服务端的默认临时目录中,除非php.ini中的upload_tmp_dir设置为其它的路径。服务端的默认临时目录可以通过更改PHP运行环境的环境变量TMPDIR来重新设置,但是在PHP脚本内部通过运行putenv()函数来设置是不起作用的。该环境变量也可以用来确认其它的操作也是在上传的文件上进行的。
例39.2.使文件上传生效
请查阅函数is_uploaded_file()和move_uploaded_file()以获取进一步的信息。以下范例处理由表单提供的文件上传。
<?php
//InPHPversionsearlierthan4.1.0,$HTTP_POST_FILESshouldbeusedinstead
//of$_FILES.
$uploaddir='/var/www/uploads/';
$uploadfile=$uploaddir.basename($_FILES['userfile']['name']);
echo'<pre>';
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)){
echo"Fileisvalid,andwassuccessfullyuploaded.\n";
}else{
echo"Possiblefileuploadattack!\n";
}
echo'Hereissomemoredebugginginfo:';
print_r($_FILES);
print"</pre>";
?>
接受上传文件的PHP脚本为了决定接下来要对该文件进行哪些操作,应该实现任何逻辑上必要的检查。例如可以用$_FILES['userfile']['size']变量来排除过大或过小的文件,也可以通过$_FILES['userfile']['type']变量来排除文件类型和某种标准不相符合的文件,但只把这个当作一系列检查中的第一步,因为此值完全由客户端控制而在PHP端并不检查。自PHP4.2.0起,还可以通过$_FILES['userfile']['error']变量来根据不同的错误代码来计划下一步如何处理。不管怎样,要么将该文件从临时目录中删除,要么将其移动到其它的地方。
如果表单中没有选择上传的文件,则PHP变量$_FILES['userfile']['size']的值将为0,$_FILES['userfile']['tmp_name']将为空。
如果该文件没有被移动到其它地方也没有被改名,则该文件将在表单请求结束时被删除。
例39.3.上传一组文件
PHP的HTML数组特性甚至支持文件类型。
<formaction=""method="post"enctype="multipart/form-data">
<p>Pictures:
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="submit"value="Send"/>
</p>
</form>
<?php
foreach($_FILES["pictures"]["error"]as$key=>$error){
if($error==UPLOAD_ERR_OK){
$tmp_name=$_FILES["pictures"]["tmp_name"][$key];
$name=$_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name,"data/$name");
}
}
?>
--------------------------------------------------------------------------------
上一页上一级下一页
38.处理XForms起始页错误信息说明
❹ php表单怎样提交到当前页面,并用$_POST获取其值
<?php
$username=$_POST['username'];
?>
<form action="" ><input type="text" name="username"><input type="submit" name="submit" value="提交"></form>
form的action属性留空的话就直接提交到当前页面了 后台直接$_POST获取前台传过来的表单域啊
❺ php怎么实现form提交表单并跳转到action页面
<formaction="a.php"method="post"name="theForm"onsubmit="returnvalidate();">
<tablewidth="90%"id="general-table">
<tr>
<tdclass="narrow-label">{$lang.title}</td>
<td><inputtype="text"name="title"size="40"maxlength="60"value="{$article.title|escape}"/>{$lang.require_field}</td>
</tr>
<inputtype="submit"value="提交"class="button"/>
</form>
上述代码就可以做到执行了,既可以放在html里面做提交,也可以直接放在PHP里面做提交,当action没有指向文件的时候,默认是提交到本页面。