2013-10-16 40 views
-2

我是新的php。我想要做的是上传一个文件,在textarea中生成它的内容,选择一个分隔符,然后根据在html表格中选择的分隔符来分割行。 html表格是另一种形式。我在生成内容和分隔符方面没有问题。该代码适用于静态设置的字符串。当我尝试将textarea的内容传递到html表格时出现问题。

如果有人能帮忙,我将不胜感激。

这里的HTML:

<form action="<?php session_start(); $areaText = $_POST['output']; $selected_radio = $_POST['delimiter']; echo $_SERVER['PHP_SELF'] ?>" 
<?php 
if (!empty($_FILES['uploadedfile']) && file_exists($_FILES['uploadedfile']['tmp_name'])&& $_FILES['uploadedfile']['type'] == 'text/plain') { 
    $file1 = $_FILES['uploadedfile']['tmp_name']; 
    $lines = file($file1); 
    foreach($lines as $line_num => $line) 
    { 
     echo $line; 
    } 
} 
else { 
    echo "Sorry, you're not allowed to upload these type of files."; 
} 
?></textarea> 
</form> 

而这里的PHP:

if (isset($_POST['output'])) { 
    $string = $_POST['output']; 
    $trimmedString = trim($string); 
    echo '<div contenteditable><table id = "TestTable" border="1" width="100%" id="table1">'; 
    $lines = explode("\n", $trimmedString); 
    foreach($lines as $line) { 
     echo "<div contenteditable><tr></div>"; 
     $elements = explode($_POST['delimiter'], $line); 
     foreach($elements as $element) { 
      echo "<td>" . $element . "</td>"; 
     } 
     echo "</tr>"; 
    } 
    echo '</table></div>'; 
} 
?> 

我带分隔符从这里:

<form method="post" id="form_732147" class="appnitro" method="post" action="page2.php"> 
    <span> 
     <label class="description" for="element_4">Choose a delimiter: </label> 
     <input type="radio" name="delimiterr" value="," >Comma</br> 
     <input type="radio" name="delimiter" value="." >Fullstop</br> 
+1

等什么? '

'' –

+2

到目前为止,生成的HTML(第一个片段)看起来像“'? – madfriend

+0

除非你不介意重新加载页面,这是一个AJAX/Javascript问题,而不是一个PHP问题.. –

回答

0
echo "<div contenteditable><tr></div>"; 

这是不允许的在HTML中,由于不正确的标签嵌套。

你可能想尝试这样的事:

foreach($lines as $line) { 
    echo "<div contenteditable><tr>"; 
    $elements = explode($_POST['delimiter'], $line); 
    foreach($elements as $element) { 
     echo "<td>" . $element . "</td>"; 
    } 
    echo "</tr></div>"; 
} 

总之,你能解释的进一步发生,你有什么样的问题呢?

Greetz

+0

“未定义的索引”错误。当我添加“if(isset($ _ POST ['output'])){}”什么都没有出现。代码工作,如果我有一个静态字符串,例如$ string =“abc,bca,cba”; – user2886469

+0

这个问题似乎与表单一样,你得到那个输出代码。重复检查表单的所有'name =“output”'属性和'method =“post”'。另外检查您提交的内容是否包含该输入字段 –