HTML:
<html>
<head>
<title></title>
</head>
<body>
<header class="major last">
<h2>Title</h2>
</header>
<form method="post" action="myprocessingscript.php" method="POST">
<div class="row">
<div class="6u 12u(mobilep)">
<input type="text" name="Date" placeholder="Meeting Date (mm/dd/yy)" />
</div>
<div class="6u 12u(mobilep)">
<input type="text" name="Topic" placeholder="Meeting Topic" />
</div>
</div>
<div class="row">
<div class="12u">
<textarea name="Summary" placeholder="Summary of the Meeting" rows="6"></textarea>
</div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li><input type="submit" value="Send Message" /></li>
</ul>
</div>
</div>
</form>
<div>
<p><?php echo file_get_contents( "data.txt" ); ?></p>
</div>
</body>`
腓:
<?php
if(isset($_POST['Date']) && isset($_POST['Topic']) && isset($_POST['Summary'])) {
$data = 'Date: ' . ' ' . $_POST['Date'] . ' Topic: ' . $_POST['Topic'] . ' Summary: ' . $_POST['Summary'] . "\n";
$ret = file_put_contents('data.txt', $data, FILE_APPEND | LOCK_EX);
if($ret === false) {
die('There was an error writing this file');
}
else {
echo "$ret bytes written to file";
}
}
else {
die('no post data to process');
}
我正在尝试最终创建一个表单,该表单将获取信息并将其记录在文本文件中。该文本文件最终将包含在网页中。但是,目前,如果在表单中键入代码(例如<a href="websiteaddress">websitename</a>
),则在包含该代码时,将执行该代码。如何编辑我的代码以将响应作为字符串而不是纯文本?
答案 0 :(得分:0)
您可以在PHP中使用htmlspecialchars()函数。例如:
echo "<pre>";
echo htmlspecialchars('<a href="websiteaddress">websitename</a>');
echo "<pre>";
显然,一旦你编写代码从文本文件中的代码中读取,你将提取一行或多行并将变量放在htmlspecialchars()函数中。
提醒一句:要非常小心将恶意代码放入表单中,例如JavaScript代码。研究XSS和其他类似的攻击。由于您使用的是htmlspecialchars(),因此应该处理大多数攻击,但要小心如何实现代码。