# Javascript validateInput



## Adriano10 (11. Jun 2021)

```
<?php include "php/head.php"; ?>
<?php include "php/header.php"; ?>

<div class="aside"></div>
<div class="section">

    <h1 class="title">Anmeldung</h1>
    <?php
      /*SchachfibelDAO wird in Session gespeichert*/
        if (!isset($_SESSION["SchachfibelDAO"])) {
            $_SESSION["SchachfibelDAO"] = $SchachfibelDAO;
        }
           $id = $_SESSION["SchachfibelDAO"]->getLoggedUser();
    /*Wenn logout gepostet ist, der Nutzer ist ausgeloggt*/
        if (array_key_exists("logout", $_POST)) {
            if($id <= 0){?>
            <div class="fehler">
            <li>
            Ungültige id;   
            </li>   
            </div>   
      <?php }else{
            $_SESSION["SchachfibelDAO"]->logoutUser($id);
            }
        }       
        if (!isset($_SESSION["loggedUserId"]) || $id == 0) {
            $id = $_SESSION["SchachfibelDAO"]->getLoggedUser();
            if ($id == 0) {
                $_SESSION["loggedUserId"] = null;
            } else {
               $_SESSION["loggedUserId"] = $id;
            } 
            }
        /*Wird geprüft, ob Post existiert*/
        if (array_key_exists("loggedUser", $_POST)) {
            $username = htmlspecialchars($_POST["username"]);
            $password = htmlspecialchars($_POST["password1"]);?>
            <div class="fehler">
            <li>
            <?php $_SESSION["loggedUserId"] = $_SESSION["SchachfibelDAO"]->loginUser($username, $password);?>
            </li>
            </div>
      <?php $user = $_SESSION["SchachfibelDAO"]->getUser($_SESSION["loggedUserId"]);
            if($user == null || $username != $user["name"]){?>
            <div class="fehler">
            <li>Falsche Eingabe</li>
            </div>
            <div class="fehler">
            <li>Anmeldung war nicht erfolgreich</li>
            </div>
      <?php }else{
            if ($_SESSION["loggedUserId"] !== null) {
            $id = $_SESSION["SchachfibelDAO"]->getLoggedUser();
            if($id <= 0){?>
            <div class="fehler">
            <li>
            Ungültige id;   
            </li>   
            </div>   
      <?php }else{
            $url = "./index.php";
            echo ("<script>location.href='$url'</script>");
            }
            }
            }   
        }
        /*Wenn loggedUserId nicht existiert, ist der Nutzer ausgeloggt*/
        if ($id == 0 ) {
    ?>
            <div class="anmeldung-container">
                <div class="anmeldung-feld">
                    <form name="anmelden" method="post">
                    <label for="nutzerName">Nutzername</label>
                    <?php $name = (isset($_POST["username"]) && is_string($_POST["username"])) ? htmlspecialchars($_POST["username"]) : "";?>
                    <input id="nutzerName" class="input" type="text" name="username" placeholder="Nutzername"
                    value = "<?php echo $name; ?>" />
                    <p id="nameInput"></p>
                    <script>
                    function validateInput(){
                    var name = document.forms.anmelden.username.value;
                    if(name.length < 4 || name.length > 10){
                    document.getElementById("nameInput").innerHTML = "ungültige Eingabe";
                    document.getElementById("nameInput").style.color = "red";
                    }else{
                    document.getElementById("nameInput").innerHTML = "erfogreich";
                    document.getElementById("nameInput").style.color = "green";
                    }
                    }   
                    </script>
                    <div class="anmeldung-feld">
                    <label for="password">Password</label>
                    <?php $password = (isset($_POST["password1"]) && is_string($_POST["password1"])) ? htmlspecialchars($_POST["password1"]) : "";?>
                    <input id="password" class="input" type="password" name="password1" placeholder="Password" value = "<?php echo $password; ?>"/>
                    </div>
                    <input class="buttonAnm" type="submit" onclick="validateInput()" name="loggedUser" value="Anmelden">
                    </form>

                    <form action="./registration.php">
                    <input class="buttonAnm" type="submit" value="Registration">
                    </form>
    <?php } else { ?>
                    <form method="post">
                    <input class="buttonAnm" name="logout" type="submit" value="Abmelden">
                    </form>
    <?php } ?>
                    </div>
                </div>
            </div>
<?php include "php/footer.php"; ?>
```

Zeilen: vom 77 bis 90:

die Ausgabe kommt im Vorschein, aber verschwindet ganz schnell, so dass man sie fast nicht sehen kann ich möchte, dass die Meldung bei der falschen Eingabe bleibt, solange der Nutzer richtige Eingabe macht. 

Wieso wird die Meldung in "document.getElementById("nameInput").innerHTML" lange nicht gespeichert? wo mache ich den Fehler.

Vielen Dank im Voraus


----------

