2015-07-06 48 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

相关问题