然后显示Form中的PHP数组


PHP Array from Form then display

我正在尝试构建一种方法,允许用户在表单文本字段中输入姓名,并用逗号分隔,当他们按下submit时,将其放入一个数组中,然后打开一个页面,将这些人分成x组(也由用户选择)。我已经用一个硬编码的静态数组构建了这样的代码。但我对PHP Post和Get还很陌生,所以不确定如何完成这一部分。有人能帮忙吗?这就是我到目前为止所拥有的。

<div data-role="page" id="pg_teambuilder">
    <div data-role="header" class="center">
        <span>Team Builder</span>
    </div>
    <div data-role="tabs" id="tabs">
        <div data-role="navbar">
            <ul>
                <li><a href="#input" data-ajax="false">Input Values</a></li>
                <li><a href="#random" data-ajax="false">Randomizer</a></li>
            </ul>
        </div>
        <div id="input" class="ui-body-d ui-content">
            <form>
                <ul data-role="listview" data-inset="true">
                    <li class="ui-field-contain">
                        <label for="csplayers">Players (Separate by commas):</label>
                        <textarea cols="40" rows="8" name="csplayers" id="csplayers"></textarea>
                    </li>
                    <li class="ui-body ui-body-b">
                        <fieldset class="ui-grid-a">
                            <div class="ui-block-a"><button type="submit" class="ui-btn ui-corner-all ui-btn-a">Cancel</button></div>
                            <div class="ui-block-b"><button type="submit" class="ui-btn ui-corner-all ui-btn-a">Submit</button></div>
                        </fieldset>
                    </li>
                </ul>
            </form>
        </div>
<?php
$string = $_POST["csplayers"];
$players = explode(',', $string);
/*$players = array("Bob","Blake","Jake","Jourdan","Jason","Tate");*/
$team_size = 3;
shuffle($players);
$players_chunk = array_chunk($players,$team_size);
foreach($players_chunk as $ul) {
    echo "<div id='random' data-role='content'>
        <div style='text-align:center; font-size:22px; line-height:100%; font-weight:bold; word-wrap:break-word'>Team</div><br>";
    echo "<ul data-role='listview' data-inset='true'>";
    foreach($ul as $li) {
        echo "<li>$li</li>";
    }
    echo "</ul></div></div>";
}
?>
</div>

这应该适用于您:

(有关超全局变量(例如$_GET$_POST)的更多信息,请参阅手册:http://php.net/manual/en/language.variables.superglobals.php)

<!-- normal form with method post-->
<form action="" method="post">
    <input type="text" name="names">
    <input type="submit" name="submit">
</form>
<div data-role="page" id="pg_teambuilder">
<div data-role="header" class="center">
    <span>Team Builder</span>
</div>
<?php
    //Check if user submitted the form
    if(isset($_POST["submit"])) {
        //explode the names by commas
        $players = explode(",", $_POST["names"]);
        $team_size = 3;
        shuffle($players);
        $players_chunk = array_chunk($players,$team_size);
        foreach($players_chunk as $ul) {
            echo "<div data-role='content'>
                <div style='text-align:center; font-size:22px; line-height:100%; font-weight:bold; word-wrap:break-word'>Team</div><br>";
            echo "<ul data-role='listview'>";
            foreach($ul as $li) {
                echo "<li>$li</li>";
            }
            echo "</ul></div>";
        }
    }
?>

这里有一个简单的示例

<?php if(isset($_POST['submit']))
  {
  $string = $_POST['input']; //here $string = "Bob,Blake,Jake,Jourdan,Jason,Tate";
  $array = explode(',', $string);
  foreach ($array as $players) {
    echo $players."<br/>";
   }
}?>
<form action="" method="post">
  <input type="text" name="input">
  <input type="submit" name="submit" value="submit"> <!--if u submit form with names separated by commas like Bob,Blake,Jake,Jourdan,Jason,Tate -->
</form>

输出:

  Bob
  Blake
  Jake
  Jourdan
  Jason
  Tate