PHP输入文本框

时间:2016-11-23 10:33:37

标签: php

我有一个问题我会尽力解释它。所以我有一个代码,你有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>

1 个答案:

答案 0 :(得分:0)

问题在于,您为每个注释限制自己的行数,因此当注释超过最大行数时,代码会将其拆分为多个注释。

我更喜欢使用数据库存储注释,但如果你需要使用文件,这是我的方法。

  1. 在保存对文件的评论之前,附加一个特殊标记来定义评论,如[start-of-comment]
  2. 显示评论时,无论行数如何,都使用该标记拆分每条评论。
  3. 文件中的注释如下:

    [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>