2013-10-16 46 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」'。另外檢查您提交的內容是否包含該輸入字段 –