我有一个问题我会尽力解释它。所以我有一个代码,你有2个链接,第一个链接是你可以把你的姓名地址和电子邮件放在文本框中,你可以留言。第二个链接会将这些信息恢复到一个漂亮的页面,但是在6行之后,下一页将生成所以如果你在消息框中放置了超过1行的单词,它会把所有内容都搞得一团糟很难解释希望这是足够的信息。如果有什么你不明白我的问题,请告诉我,谢谢你的帮助。有4个代码。 这是所有代码:
第一个名为“opdracht32.php”的文件:
hudson.model.ParametersDefinitionProperty
第二个名为“gastenboekschrijven.php”的文件:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>Gastenboek</title>
</head>
<body>
<h2>Gastenboek met PHP</h2>
<hr>
<?php echo date("d-m-Y, G:i");?>
<hr>
<br>
Wat wil je gaan doen?
<ul>
<li><a href="gastenboekschrijven.php">
Schrijf in het gastenboek</a></li>
<br>
<li><a href="gastenboeklezen.php">
Lees het gastenboek</a></li>
</ul>
</body>
</html>
第三个名为“gastenboeklezen.php”的文件:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>In het gastenboek schrijven</title>
</head>
<body>
<form action="opslaan.php" method="post">
<p>
De gegevens die u via het volgende
formulier invult, worden op het
gastenboek geplaatst en zullen voor
iedereen zichtbaar zijn.
</p>
<p>
Naam: <br>
<input name="naam" type="text" size="40" tabindex="1">
</p>
<p>
E-mail: (optioneel)<br>
<input name="email" type="text" size="40" tabindex="2">
</p>
<p>
Woonplaats: (optioneel)<br>
<input name="woonplaats" type="text" size="40" tabindex="3">
</p>
<p>
Uw bericht: <br>
<textarea name="bericht" rows="8" cols="40" tabindex="4">
</textarea>
</p>
<p>
<input type="submit" name="submit" value="Verstuur" title="Verstuur dit formulier" tabindex="5">
</p>
</form>
</body>
</html>
最后一个名为“opslaan.php”的文件:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>Het gastenboek lezen</title>
</head>
<body>
<?php
$bestandsnaam = "gastenboek.txt";
// aantal regels per bijdrage om in te lezen
// elke bijdrage bestaat uit 5 regels
$aantal_regels = 6;
// teller om bij te houden hoeveel regels
// zijn gelezen
$teller = 0;
// Aantal bijdragen wordt bijgehouden.
$aantal_bijdragen = 0;
// gastenboek openen om te lezen
if (file_exists($bestandsnaam)){
$fp = fopen($bestandsnaam, "r");
}
else{
echo "<h2>Het gastenboek is nog leeg!</h2>
<a href= 'gastenboekschrijven.php'>
Wees de eerste die erin schrijft!</a> ";
exit;
}
while (!feof($fp)){
$regel = fgets($fp);
if (!feof($fp)){
if ($teller % $aantal_regels == 0){
// kop afdrukken
$aantal_bijdragen++;
// echo "<hr>";
echo "<h3>Bijdrage: $aantal_bijdragen</h3>";
}
}
// regel afdrukken
echo "$regel <br>";
// echo "<hr>";
$teller++;
}
echo "<a href='opdracht32.php'>Terug naar de
homepage</a>";
?>
</body>
</html>
答案 0 :(得分:0)
问题在于,您为每个注释限制自己的行数,因此当注释超过最大行数时,代码会将其拆分为多个注释。
我更喜欢使用数据库存储注释,但如果你需要使用文件,这是我的方法。
[start-of-comment]
文件中的注释如下:
[start-of-comment]
Datum: 23-11-2016, 14:23
Naam: name
Email: email
Woonplaats: ***
Bericht: -***-*/*-/-*
[start-of-comment]
Datum: 23-11-2016, 14:23
Naam: fgh
Email: fghf
Woonplaats: dfgh
Bericht: dfhfghgfh
为了测试它,我在以下文件中进行了更改:opslaan.php和gastenboeklezen.php
将它们替换为您的文件并清除gastenboek.txt
文件并尝试
<强> opslaan.php 强>
<?php
$bestandsnaam = "gastenboek.txt";
$datum = date("d-m-Y, G:i");
// gastenboek openen of maken
if (!$fp = fopen($bestandsnaam, "a+")){
echo "<h2>Het lukt niet om het gastenboek te openen</h2>";
exit;
}
// het wegschrijven van de gegevens
fputs($fp, "[start-of-comment]\r\n");
fputs($fp, "Datum: ".$datum);
fputs($fp, "\r\n");
fputs($fp, "Naam: ".$_POST["naam"]);
fputs($fp, "\r\n");
fputs($fp, "Email: ".$_POST["email"]);
fputs($fp, "\r\n");
fputs($fp, "Woonplaats: ".$_POST["woonplaats"]);
fputs($fp, "\r\n");
fputs($fp, "Bericht: ".$_POST["bericht"]);
fputs($fp, "\r\n"."\r\n");
fclose($fp);
echo "<h2>Klaar</h2>";
echo "<p>De bijdrage is opgeslagen</p>";
echo "<a href = 'opdracht32.php'>Terug naar het
beginscherm</a>";
?>
<强> gastenboeklezen.php 强>
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>Het gastenboek lezen</title>
</head>
<body>
<?php
$bestandsnaam = "gastenboek.txt";
// aantal regels per bijdrage om in te lezen
// elke bijdrage bestaat uit 5 regels
$aantal_regels = 6;
// teller om bij te houden hoeveel regels
// zijn gelezen
$teller = 0;
// Aantal bijdragen wordt bijgehouden.
$aantal_bijdragen = 0;
// gastenboek openen om te lezen
if (file_exists($bestandsnaam)){
$fp = fopen($bestandsnaam, "r");
}
else{
echo "<h2>Het gastenboek is nog leeg!</h2>
<a href= 'gastenboekschrijven.php'>
Wees de eerste die erin schrijft!</a> ";
exit;
}
while (!feof($fp)){
$regel = fgets($fp);
if (!feof($fp)){
if($regel !== "[start-of-comment]\r\n"){
echo "$regel <br>";
}else{
$aantal_bijdragen++;
echo "<h3>Bijdrage: $aantal_bijdragen</h3>";
}
}
$teller++;
}
echo "<a href='opdracht32.php'>Terug naar de
homepage</a>";
?>
</body>
</html>