提问者:小点点

function.php中的表单输入


我有两个php文件insert.php和function.php。

在insert.php中

<form action="<?php echo htmlspecialchars( $_SERVER['PHP_SELF'] ); ?>" 
method="post">
<input type="hidden" name="Entry" value="<?php print $data; ?>"/>
<hr>
<h3>Entry your new entry</h3>

<?php 
include('function.php');
$query_start = "SHOW COLUMNS FROM $data";
$result = mysqli_query( $conn, $query_start );

while($row = mysqli_fetch_array($result)){?>
   <label for="<?php echo "$row[0]";?>"><?php display_text($row[0]);?></label> 
   <br>
   <?php display_value($row[0]);
 } ?>
 <input class="btn btn-primary" type="submit" name="add" value="Add Entry">
 </form>

和function.php中

<?php
function display_value($row){?>
<input class='form-control' type='text' placeholder='".$row."' name='".$row."'>
}?>

但我不会在网页上得到表格。


共2个答案

匿名用户

首先,您需要添加一个

标记

<?php 
  include('function.php');
  $query_start = "SHOW COLUMNS FROM $data";
  $result = mysqli_query( $conn, $query_start );
  while($row = mysqli_fetch_array($result)){
    $data = display_value($row[0]);
    echo $data;
  }
?>

您只是调用那个函数,为了打印函数内部的值,您需要从函数返回数据,并存储或打印正在调用的数据。 $data=display_value($row[0]);这里的变量$data将存储输出,还需要从函数返回结果

<?php
  function display_value($row) {

  $data = '<input class="form-control" type="text" placeholder="'. $row .'" name="'. $row .'"><br /><br />';

  return $data; //this return will be printed on another page

} ?>

匿名用户

>

  • 我猜他说的“form”指的是字段,而不是form标记。

    @罗希特·萨胡回答错了。。 您不需要传递带有返回的输出。 你做这件事的方式不是一个美好的方式。 但它甚至是以这种方式工作的。

    您确定您的Mysql查询给出了结果吗?

    示例代码:

    <?php
    // functions.php
    function display_value($row) { ?>
            <input class='form-control' type="text" placeholder="<?php echo $row;?>" name="<?php echo "$row";?>"><br><br>
    <?php } ?>
    
    // insert.php
    <form action="....">
    <?php
    $arr = array(1,2,3,4);
    foreach($arr as $row) {
            display_value($row);
    }?>
    </form>
    

    输出:

    <form action="....">
            <input class='form-control' type="text" placeholder="1" name="1"><br><br>
            <input class='form-control' type="text" placeholder="2" name="2"><br><br>
            <input class='form-control' type="text" placeholder="3" name="3"><br><br>
            <input class='form-control' type="text" placeholder="4" name="4"><br><br>
    </form>
    

    结果:工作正常。 您应该更好地发布所有代码,以了解您的错误在哪里。 可能是文件中的一些空格,也可能是MySQL没有结果。 有很多选择。 很难这样说。