每个$u帖子的PHP
对不起,我有点困了 我有下面的HTML表单。表单可以被尽可能多地克隆每个$u帖子的PHP,php,post,for-loop,foreach,Php,Post,For Loop,Foreach,对不起,我有点困了 我有下面的HTML表单。表单可以被尽可能多地克隆 <div class="form"> <input type="text" name="user_name_1" > <input type="email" name="user_email_1" > </div> <div class="form"> <input type="text"
<div class="form">
<input type="text" name="user_name_1" >
<input type="email" name="user_email_1" >
</div>
<div class="form">
<input type="text" name="user_name_2" >
<input type="email" name="user_email_2" >
</div>
<div id="submit-form">
<input type='hidden' name='user_email'>
<input type="submit" value="Submit" />
<input type="button" class="button" id="cloneForm" value="Clone" />
</div>
每次单击“克隆”按钮时,“名称”字段都会增加。在PHP中,如何使用$\u POST循环遍历字段,为每个表单div创建唯一的帐户
示例PHP
for ($i=0; $i < 5; $i++) {
$name = $_POST['user_name_'+$i];
$mail = $_POST['user_email_'+$i];
}
for($i=0;$i<5;$i++){
$name=$\u POST['user\u name\'+$i];
$mail=$\u POST['user\u email'+$i];
}
使用html:
name=“user\u email[]”
现在,$\u POST['user\u email']
将成为一个数组。但缺点是无法控制数组的索引
因此,要在阵列中循环:
foreach ($_POST['user_email'] as $email) {
print $email
}
或者获取第一项:$\u POST['user\u email'][0]
您的快速代码修复:
但代码中的错误不是HTML,而是php:
要在php中将/concat字符串组合在一起,请使用
,而不是+
for ($i=0; $i < 5; $i++) {
$name = $_POST['user_name_'.$i];
$mail = $_POST['user_email_'.$i];
}
for($i=0;$i<5;$i++){
$name=$\u POST['user\u name.$i];
$mail=$\u POST['user\u email.$i];
}
供参考:
name=“user\u email[]”
现在,$\u POST['user\u email']
将成为一个数组。但缺点是无法控制数组的索引
因此,要在阵列中循环:
foreach ($_POST['user_email'] as $email) {
print $email
}
或者获取第一项:$\u POST['user\u email'][0]
您的快速代码修复:
但代码中的错误不是HTML,而是php:
要在php中将/concat字符串组合在一起,请使用
,而不是+
for ($i=0; $i < 5; $i++) {
$name = $_POST['user_name_'.$i];
$mail = $_POST['user_email_'.$i];
}
for($i=0;$i<5;$i++){
$name=$\u POST['user\u name.$i];
$mail=$\u POST['user\u email.$i];
}
供参考:
$\u POST
数组中循环,并查找以用户名开头的键
请尝试使用foreach。。。作为
:
foreach ($_POST as $key => value) {
// Is this a user name?
if (strpos($key, 'user_name_') === 0) {
// Get the index part
$index = substr($key, 10);
// Get the expected POST key for email address
$emailKey = "user_email_$index";
// TODO: read $value and $_POST[$emailKey]
// TODO: stuff...
}
}
因为您以前不知道条目数,所以需要在运行时检查此项。在
$\u POST
数组中循环,并查找以用户名开头的键
请尝试使用foreach。。。作为
:
foreach ($_POST as $key => value) {
// Is this a user name?
if (strpos($key, 'user_name_') === 0) {
// Get the index part
$index = substr($key, 10);
// Get the expected POST key for email address
$emailKey = "user_email_$index";
// TODO: read $value and $_POST[$emailKey]
// TODO: stuff...
}
}
试试这个:
<div class="form">
<input type="text" name="user_name[]" >
<input type="email" name="user_email[]" >
</div>
<div class="form">
<input type="text" name="user_name[]" >
<input type="email" name="user_email[]" >
试试这个:
<div class="form">
<input type="text" name="user_name[]" >
<input type="email" name="user_email[]" >
</div>
<div class="form">
<input type="text" name="user_name[]" >
<input type="email" name="user_email[]" >
如果您坚持使用这样的名称(“user_name[]”更好),并且不删除行, 以下是访问它们的方式:
for ($i=0; $i < 100; $i++) {
if(!isset($_POST['user_name_'+$i])){
break;// stop the cycle when there are no more rows
}
$name = $_POST['user_name_'+$i];
$mail = $_POST['user_email_'+$i];
}
($i=0;$i<100;$i++)的{
if(!isset($\u POST['user\u name+$i])){
break;//当没有更多行时停止循环
}
$name=$\u POST['user\u name\'+$i];
$mail=$\u POST['user\u email'+$i];
}
如果您坚持使用这样的名称(“用户名[]”更好),并且不删除行,
以下是访问它们的方式:
for ($i=0; $i < 100; $i++) {
if(!isset($_POST['user_name_'+$i])){
break;// stop the cycle when there are no more rows
}
$name = $_POST['user_name_'+$i];
$mail = $_POST['user_email_'+$i];
}
($i=0;$i<100;$i++)的{
if(!isset($\u POST['user\u name+$i])){
break;//当没有更多行时停止循环
}
$name=$\u POST['user\u name\'+$i];
$mail=$\u POST['user\u email'+$i];
}
+
->
连接字符串+
->
连接字符串string@user123 ... 这是最好的办法。只要你有完全相同的user\u name
/user\u email
组合,你就会成功。可能值得一提的是,他应该为for循环计算数组。@sark9012如果他在新创建的user\u email
上使用foreach
,并且user\u name
数组不需要只要它们的长度完全相同。在这些之前检查长度可能是明智的,但很可能是不必要的。w3schools不是一个参考网站。请不要访问它,也不要链接到它!真正的参考资料在这里:@atornbladw3schools在大多数情况下都足以参考。它们给出了一个非常基本的概述,并被多次用于获得基本的理解。要进行更广泛的搜索,他们可能会遇到php.net以获得更广泛的解释。@user123。。。这是最好的办法。只要你有完全相同的user\u name
/user\u email
组合,你就会成功。可能值得一提的是,他应该为for循环计算数组。@sark9012如果他在新创建的user\u email
上使用foreach
,并且user\u name
数组不需要只要它们的长度完全相同。在这些之前检查长度可能是明智的,但很可能是不必要的。w3schools不是一个参考网站。请不要访问它,也不要链接到它!真正的参考资料在这里:@atornbladw3schools在大多数情况下都足以参考。它们给出了一个非常基本的概述,并被多次用于获得基本的理解。对于更广泛的搜索,他们可能会在php.net上找到一个扩展的解释。。实际上,您不应该像现在这样包含$key=>$value
,而是应该是$key
,这样,如果您选择这样做,您可以在这个循环中使用关键字$value
,避免浪费未使用的变量。在这种情况下,您使用与$value
相同的$val1[$key]
,并且永远不要使用(或计划使用)$value
,尽管“浪费”变量并不是什么大问题,但它仍然是不必要的,可能会造成混淆。“那个变量去哪里了?”我用一种非常简单的方式编写代码,并为用户标记,因为用户可以使用任何一个变量。调查问卷看起来像是初学者。所以我把代码放进去了。这让使用foreach
时很困惑。。实际上,您不应该像现在这样包含$key=>$value
,而是应该是$key
,这样,如果您选择这样做,您可以在这个循环中使用关键字$value
,避免浪费未使用的v