我是一名php初学者,请为您提出问题。
我有一个包含名字和姓氏列表的文本文件,如下所示:
john,smith
sam,lewis
david,davidson
mike,anderson
在我的sort.php文件中,它按照名字的升序排列名称列表,索引编号如下所示:
1. david,davidson
2. john,smith
3. mike,anderson
4. sam,lewis
另外,在该sort.php文件中,有一个输入type=text
的表单,您可以在其中键入索引号和一个按钮来删除在该文本字段中输入的索引号:
<form action="deletename.php" method="post">
<table>
<tr valign="top">
<td>Delete: <input type="text" size="2" name="indexnumber" />
</td>
<td>
<div align="left">
<input type="submit" name="delete" value="Delete" />
</div>
</td>
</tr>
</table>
</form>
现在问题是......我可以用这种形式做什么来发送我在文本字段中输入的索引号的值?换句话说......如果我输入3,我该怎样做才能将值“mike,anderson”发送给deletename.php?
提前感谢。
答案 0 :(得分:0)
使用表单时,您可以使用GET
或POST
指定变量发送到脚本的方式,这将在您的<form>
标记中定义。您已选择使用POST方法(明智)。 POST方法隐藏来自用户的信息,其中GET方法使用网站的URL来传递变量,例如/deleteme.php?indexnumber=2
然后,通过访问$_POST
数组,这些值将在deletename.php上可读(因为这是您提交表单的地方)。如果您在表单中输入2,则可以像这样读取值。
echo $_POST['indexnumber'];
/* OUTPUT */
2
使用此ID,您可以找出此ID匹配的索引号。如果您使用的是数据库,那么这将非常高效且易于维护。我怀疑你需要阅读一些有关PHP的教程才能继续学习。
答案 1 :(得分:0)
您不需要为此更改表单(您已经有索引号的字段),但在deletefile.php中,您必须读出表单发送的内容,并删除该索引号来自文本文件。
此外,因为您在sort.php中订购名称,所以您需要在deletefile.php中重复完全相同的排序,以便您知道哪个索引号与哪个条目相对应。然后你只需删除相应的条目。
所以在deletefile.php中,为了处理表单提交,你可以像
那样if(!empty($_POST['indexnumber'] && is_numeric($_POST['indexnumber'])) {
//now do the sorting, e.g. include sort.php which I assume returns a sorted array
//then delete $_POST['indexnumber'] from the array and update the textfile
}
如果您无法做任何事情,请发布您当前的sort.php代码,以便我可以看到它的作用。