我有代码
$file = fopen("file.txt",'w+');
if(isset($_POST['email']))
$string = $_POST['email'];;
fwrite($file, $string);
$ 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 :(得分: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']
没有。{/ p>
如果您的电子邮件是使用
收集的<input type="text"
如果使用
收集字符串,则字符串中不会有换行符<textarea name="email"></textarea>
然后它可能有一个。但我不希望您使用<textarea
收集电子邮件地址
如果您使用<input type="email"
,请记住
电子邮件:该元素代表一个电子邮件地址。 会自动从输入值中删除换行符。可以设置无效的电子邮件地址,但是如果电子邮件地址满足ABNF生产1 *(atext /&#34;。&#34;)&#34; @&#34;则输入字段将仅满足其约束。 ldh-str 1 *(&#34;。&#34; 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"
属性,所以除非你使用javascript发送数据,否则什么都不会返回到$ _POST,在这种情况下显示JAVASCRIPT代码。