首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP表单处理

PHP表单处理
EN

Stack Overflow用户
提问于 2013-07-25 10:53:38
回答 4查看 108关注 0票数 0

我有一个html表单,它有两个文本框和一个文本区域。我正在使用php代码从表单中获取数据,并将其显示在另一个页面上。

html表单代码:

代码语言:javascript
复制
    <html>

<form name="addsg" method="POST" action="validate.php">

<div class="label">name</div>
<div class="response"><span><textarea class="textarea" name="name"></textarea></span></div>


<div class="label">age</div>
<div class="response"><span><input class="textbox" name="age" type="text" size="5" maxlength="5" value="" /></span></div>


<div class="label">place</div>
<div class="response"><span><input class="textbox" name="place" type="text" value="" /></span></div>

<div class="submit_section button">
<input id="generate" type="submit"  name="script" value="generate" />
</div>

</form>
</html>

PHP代码:

代码语言:javascript
复制
<?php

    if (!empty($_POST['name']) 
    && !empty($_POST['age'])
    && !empty($_POST['place']))

   {
 echo '<textarea name="textarea" id="textarea" cols="100" rows="5" readonly>';

      echo "{$_POST['name']},{$_POST['age']} years old, from {$_POST['place']}";
     echo '</textarea>';
   }
 ?>

如果我只在name text area列中输入一个名称,我将得到如下输出

代码语言:javascript
复制
anoop,26 years old, from IN

但是,如果我在name列中放置了多个名称(年龄和地点相同),则输出如下所示

代码语言:javascript
复制
anoop
Tom,26 years old, from IN

年龄和地点只显示一个名字,而不是所有人。我想得到这样的输出

代码语言:javascript
复制
 anoop,26 years old, from IN
 Tom,26 years old, from IN

有什么建议吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-25 11:23:56

代码语言:javascript
复制
<?
$name_array = explode( "\n", $_POST['name'] ); //use the new line char as the separator
?>

<textarea name="textarea" id="textarea" cols="100" rows="5" readonly>
<?
foreach( $name as $name_array )
  echo $name.', '.$_POST['age'].' years old, from '.$_POST['age']."<br/>\n";
?>
</textarea>
票数 0
EN

Stack Overflow用户

发布于 2013-07-25 10:58:51

您可以为名称放置多个文本框,并将名称声明为数组。

例如:

代码语言:javascript
复制
<input type="text" name="ex[]" id="ex"/>
<input type="text" name="ex[]" id="ex1"/>

PHP:

代码语言:javascript
复制
for($1=0;$i<count($_POST['ex']);$i++){

echo $_POST['ex'][$i];

}
票数 0
EN

Stack Overflow用户

发布于 2013-07-25 11:14:09

试试这个,应该能行的。

代码语言:javascript
复制
<?
$lines = array();
$names = explode("\n", $_POST['name']);

foreach($names as $name)
  $lines[] = $name.', '.$_POST['age'].' years old, from '.$_POST['age'];
?>

<html>
<body>
<textarea name="textarea" id="textarea" cols="100" rows="5" readonly>
<?php implode("\n", $lines); ?>
</textarea>
</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17856013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档