2015-07-06 47 views
2

我有代碼如何保持符合文本時創建的文件TXT - PHP

$file = fopen("file.txt",'w+'); 
if(isset($_POST['email'])) 
$string = $_POST['email'];; 
fwrite($file, $string); 

$字符串值有:

I HAVE 
NEW LINE 

但之後,我跑我的代碼,我不得不打開file.txt的。這看到:

I HAVE NEW LINE 

我想要保持行相同,當我輸入表單。 我的形式

echo '<form method="POST" id="formmail" role="form">' . 
    "\n" . '<div class="form-group">' . 
     "\n" . '<input type="email" id="from" class="form-control" name="from" placeholder="From Email">' . 
    "\n" . '</div>' . 
    "\n" . '<div class="form-group">' . 
     "\n" . '<input type="email" id="to" class="form-control" name="to" placeholder="To Email">' . 
    "\n" . '</div>' . 
    "\n" . '<div class="form-group">' . 
     "\n" . '<input type="text" id="title" class="form-control" name="title" placeholder="Title Email">' . 
    "\n" . '</div>' . 
    "\n" . '<div class="form-group">' . 
     "\n" . '<textarea cols="80" rows="10" id="list" placeholder="Enter List Email" class="form-control"/></textarea>' . 
    "\n" . '</div>' . 
    "\n" . '<div class="form-group">' . 
     "\n" . '<textarea cols="80" rows="10" id="content" placeholder="Enter content Email" class="form-control"/></textarea>' . 
    "\n" . '</div>' . 
    "\n" . '<button id="OK" class="btn btn-danger">Sent Mail</button>' . 
"\n" . '</form>'; 

的Javascript

<script> 
    $(document).ready(function(e) { 
     $("#OK").click(function(e) { 
      var email = $('#list').val(); 
      $.ajax({ 
       type: 'POST', 
       url: 'mail.php', 
       data: 'email='+email, 
       success: function(answer){ 
        $('.kq').html(answer); 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 

http://i.imgur.com/sjy0BEZ.png http://i.imgur.com/cxayF5Y.png

+0

您可以通過html中斷
。 –

+1

你確定你確實在該字符串中有換行符嗎? – RiggsFolly

+0

@Sagar
不在文件文本中斷行 – user3569811

回答

0

一個簡單的測試,看看當你確實有一個字符串換行,你寫一個文件將發生什麼運行這樣的快速測試

$file = fopen("file.txt",'w+'); 

if(isset($_POST['email'])) 
    $string = $_POST['email'];; 

$string = "I HAVE\nNEW LINE"; // this definitely has a new line 
fwrite($file, $string); 

如果這用一個換行符寫入文件,那麼你的$_POST['email']沒有一個。

如果您的電子郵件使用

<input type="text" 

那麼就不會有在字符串中換行,如果使用

<textarea name="email"></textarea> 

收割的聚集,那麼它可能有一個。但我不希望你用<textarea

如果您正在使用<input type="email"那麼請記住

電子郵件,收集電子郵件地址:元素代表了一個電子郵件地址。 換行符會自動從輸入值中除去。可以設置一個無效的電子郵件地址,但如果電子郵件地址滿足ABNF生產1 *(atext /「。」)「@」ldh-str 1 *(「。」ldh-str),則輸入字段將僅滿足其約束條件。其中atext在RFC 5322第3.2.3節中定義,而ldh-str在RFC 1034第3.5節中定義。

其實現在我看到你的HTML有一個更明顯的問題!

您使用了錯誤的名稱包含電子郵件地址字段它應該是$_POST['from']$_POST['to']

或者,如果你希望從

<textarea cols="80" rows="10" id="list" placeholder="Enter List Email" class="form-control"/></textarea>' 

獲取數據那麼你有沒有實際上給了這name="email"屬性,所以沒有什麼會返回到$ _POST,除非你使用JavaScript發送數據,在這種情況下顯示JavaScript代碼。

+0

$ string在表單輸入中有值 – user3569811

相關問題