2013-10-16 4 views
-2

저는 PHP에서 새거야. 내가하려는 것은 파일을 업로드하고 텍스트 영역에 내용을 생성하고 구분 기호를 선택한 다음 HTML 테이블에서 구분 문자가 선택되는대로 줄을 분할하는 것입니다. html 테이블은 다른 형식입니다. 나는 컨텐트 생성과 구분자에 아무런 문제가 없다. 이 코드는 정적으로 설정된 문자열과 함께 작동합니다. 문제는 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

기다려주세요. $ _SOSVER [ 'PHP_SELF']?> "' –

+2

까지 지금까지

'처럼 보입니까? – madfriend

+0

페이지를 다시로드해도 상관 없지만 PHP 문제보다 AJAX/Javascript 문제가 더 많습니다. –

답변

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>"; 
} 

, 당신은 문제의 어떤 종류의 당신에게 발생하는 더 이상 설명 할 수 :

이 뭔가를 시도 할 수 있습니다?

인사말

+0

"정의되지 않은 색인"오류. 그리고 "if (isset ($ _ POST [ 'output'])) {}"를 추가하면 아무 것도 나타나지 않습니다. 정적 문자열이있는 경우 코드가 작동합니다 (예 : $ string = "abc, bca, cba"; – user2886469

+0

문제는 출력 코드가있는 양식과 관련이있는 것으로 보입니다. 양식의 모든'name = "output"속성과'method = "post"를 더블 체크하십시오. 제출 한 내용에 해당 입력 필드가 포함되어 있는지 확인하십시오. –