[PHP]将TextArea元素插入数组并打印
我对PHP相当陌生。我正在开发一个小工具,它从列表框中获取元素(其中包含从文本文件加载的元素),然后将其与手动插入文本区域的其他字符串合并 更多说明: 有一个从文本文件加载字符串的列表框[PHP]将TextArea元素插入数组并打印,php,html,listbox,Php,Html,Listbox,我对PHP相当陌生。我正在开发一个小工具,它从列表框中获取元素(其中包含从文本文件加载的元素),然后将其与手动插入文本区域的其他字符串合并 更多说明: 有一个从文本文件加载字符串的列表框 然后我有一个文本区域,用户在其中输入文本(字符串) 按下按钮后,我希望应用程序将列表框中的每个项目与文本区域中的每个项目合并,例如: [LISTBOX] ITALY USA GERMANY [TEXTAREA] GREAT GOOD VERY GOOD [PRINTED RESULT ON BUTTON P
然后我有一个文本区域,用户在其中输入文本(字符串)
按下按钮后,我希望应用程序将列表框中的每个项目与文本区域中的每个项目合并,例如:
[LISTBOX]
ITALY
USA
GERMANY
[TEXTAREA]
GREAT
GOOD
VERY GOOD
[PRINTED RESULT ON BUTTON PRESS]
ITALY GREAT
ITALY GOOD
ITALY VERY GOOD
USA GREAT
USA GOOD
USA VERY GOOD
GERMANY GREAT
GERMANY GOOD
GERMANY VERY GOOD
我的代码
工具
')
我希望我的问题是正确的,我认为这就是您需要的:
<html>
<head>
<title>TOOL</title>
</head>
<body>
<div align="center">
<img src="../img/logo.png" width="30%" height="16%">
</div>
<br><br>
<form action="#" method="post">
<table>
<tr>
<td>
<?php
$file_handle = fopen("myfile.txt", "rb");
while (!feof($file_handle) ) {
$line_of_text = fgets($file_handle);
$parts = explode(';', $line_of_text);
}
fclose($file_handle);
?>
<div name="lista" align="left">
<select name="listacitta[]" multiple="multiple">
<?php
for($cit = 0; $cit<count($parts); $cit++) {
echo('<option value="' . $parts[$cit] . '">' . $parts[$cit] .'</option>');
};
?>
</select>
</div>
</td>
<td>
<textarea name="keywords" width="500" height="400" rows="10" cols="40"></textarea>
</td>
</tr>
</table>
<input name="submit" type="submit" value="Submit">
</form>
<?php
if(isset($_POST['submit']) && !empty($_POST['keywords']) && !empty($_POST['listacitta'])) {
$usertext = $_POST['keywords'];
$userSelect = $_POST['listacitta'];
$userTparts = explode(';', $usertext);
for($z=0;$z<count($userSelect);$z++) {
for($y=0;$y<count($userTparts);$y++){
echo $userSelect[$z] . " " . $userTparts[$y] . "<br />";
};
};
};
?>
</body>
</html>
工具
那么你是否需要使用ajax将结果显示在同一页面上,或者当用户单击按钮时,它会显示一个带有结果的空白页面,而且你不需要在该视图中显示列表,你可以直接处理它哦,非常感谢Damien Joe,你修复了我的帖子和我糟糕的英语,哇!谢谢:)这是怎么回事?我是你文章的编辑,但它是以另一个名字出现的?嗨,博格丹,非常感谢你,这就是我要找的!!!只是一个问题,为什么现在我的“myfile.txt”不再和您的代码一起加载到列表框中?非常感谢:)没有加载任何项目?我的“myfile.txt”是这样写在一行上的:ITALY;美国;德国
,它就像一个魔咒:没有一个!我试图用我的代码替换你的代码来加载项目,但当我按SUBMIT时,它不会与TEXTAREA中的项目合并。我需要myfile.txt中的所有项目将与textarea中的所有项目合并,因此如果我在myfile.txt中有“意大利;美国”;在textarea中有“好;GRET”,则必须显示:“意大利好”[NEWLINE]“意大利好”[NEWLINE]“美国好”[NEWLINE]“美国好”。我希望你能理解,如果我的解释是s0x:)我很抱歉,非常感谢你抽出时间来Bogdan!!!对于去bug,您可以尝试echo$line\u的\u文本
以查看是否从文件中获取任何内容。我把“myfile.txt”和脚本放在同一个文件夹中;在“期间”它工作,但是如果我把它放在期间之外,它就不再工作了!
<html>
<head>
<title>TOOL</title>
</head>
<body>
<div align="center">
<img src="../img/logo.png" width="30%" height="16%">
</div>
<br><br>
<form action="#" method="post">
<table>
<tr>
<td>
<?php
$file_handle = fopen("myfile.txt", "rb");
while (!feof($file_handle) ) {
$line_of_text = fgets($file_handle);
$parts = explode(';', $line_of_text);
}
fclose($file_handle);
?>
<div name="lista" align="left">
<select name="listacitta[]" multiple="multiple">
<?php
for($cit = 0; $cit<count($parts); $cit++) {
echo('<option value="' . $parts[$cit] . '">' . $parts[$cit] .'</option>');
};
?>
</select>
</div>
</td>
<td>
<textarea name="keywords" width="500" height="400" rows="10" cols="40"></textarea>
</td>
</tr>
</table>
<input name="submit" type="submit" value="Submit">
</form>
<?php
if(isset($_POST['submit']) && !empty($_POST['keywords']) && !empty($_POST['listacitta'])) {
$usertext = $_POST['keywords'];
$userSelect = $_POST['listacitta'];
$userTparts = explode(';', $usertext);
for($z=0;$z<count($userSelect);$z++) {
for($y=0;$y<count($userTparts);$y++){
echo $userSelect[$z] . " " . $userTparts[$y] . "<br />";
};
};
};
?>
</body>
</html>