2015-04-01 59 views
0

你好,我有一个输入,生成“文本输入和一个提交输入”,我的问题是什么,我不能得到写入用户生成输入的值...这是我的代码:从生成的输入获取值

<form method="post" action=""> 
    <input type="text" name="generator"/> 
    <input type="submit" name="generatingsubmit"/> 
</form> 
<?php 
if(isset($_POST['generator'])){ 
    $generator = $_POST['generator']; 
    echo "<form method='post' action=''>"; 
    for($i = 0; $i < $generator; $i++){ 
     echo "<input type='text' name='" . $i ."'/>"; 
    } 
    echo "<input type='submit' name='submit'/>"; 
    echo "</form>"; 
} 
    echo $_POST[$i]; 
?> 
+0

什么是$ _POST ['generator']'等于?可以被视为一个字符串,也许尝试'$ generator =(int)$ _ POST ['generator'];'? – chris85 2015-04-01 18:41:00

+0

你怎么知道你没有得到它?,我没有看到它的任何检查。 – Musa 2015-04-01 18:41:33

回答

2

我与代码所做的index.php:

<form method="post" action="index.php?action=post"> 
    <input type="text" name="generator"/> 
    <input type="submit" name="generatingsubmit"/> 
    </form> 
    <?php 
    if (isset($_GET['action']) && $_GET['action']=='post') { 
    if(isset($_POST['generator'])){ 
    $generator = $_POST['generator']; 
    echo "<form method='post' action='index.php?action=get_value'>"; 
    for($i = 0; $i < $generator; $i++){ 
     echo "<input type='text' name='somename[]'/><br />"; 
    } 
    echo "<input type='submit' name='submit' />"; 
    echo "</form>"; 
    } 
    } 
    if (isset($_GET['action']) && $_GET['action']=='get_value') { 
    $somename=$_POST['somename']; 
    foreach($somename as $n) { 
     print $n; 
    } 

    } 
    ?> 

所有工作正常,生成输入然后被接收的输入值。所有在一个的index.php文件

+0

你以后在盒子里输入了什么东西,看看他们是否会回应一些东西?同样在这里;没有。 – 2015-04-01 19:39:32

+0

你的问题是你无法获得生成输入的值? – 2015-04-01 19:41:19

+0

这不是我的问题。我试图找到一个解决方案,我也有类似的解决方案,但是在生成的输入数量方面存在'foreach(post)....'问题,并且需要输入它们的值。 – 2015-04-01 19:42:25