KaiserGrillhelm Geschrieben 2. Juni 2023 Geschrieben 2. Juni 2023 Moin zusammen, ich habe angefangen mir PHP anzuschauen und wollte mir eine Kontaktbuch Homepage erstellen, dort habe ich einmal eine Seite "Kontakte" und "Kontakt hinzufügen". Unter "Kontakt hinzufügen" soll der Namen und die dazugehörige Telefonnummer eingeben können, diese werden dann in einer .txt-Datei "contacts" im JSON-Format gespeichert. Unter "Kontakte" sollen die Namen aus der .txt-Datei ausgelesen und angezeigt werden. Allerdings werden mir weder Namen, noch eine Fehlermeldung angezeigt.. Kann mir jemand sagen wo mein Fehler liegt? Vielen Dank im Voraus! <!-- Main --> <div class="main"> <div class="nav_bar"> <a href='index.php?page=start'><img src="img/home.svg" >Startseite</a> <a href='index.php?page=contacts'><img src="img/person.svg" >Kontakte</a> <a href='index.php?page=add'><img src="img/add_person.svg" >Kontakt hinzufügen</a> <a href='index.php?page=legal'><img src="img/policy.svg" >Impressum </a> </div> <div class="main_section"> <!-- PHP --> <div class="welcome"> <?php $contacts = []; $headline = 'Herzlich Willkommen!'; $headtext = 'Willkommen in deinem Kontaktbuch'; if ($_GET['page'] == 'contacts') { $headline = 'Kontakte'; $headtext = 'Entdecke deine Kontakte.'; } if ($_GET['page'] == 'add') { $headline = 'Kontakt hinzufügen'; $headtext = 'Füge neue Kontakte hinzu.'; } if ($_GET['page'] == 'legal') { $headline = 'Impressum'; $headtext = 'Hier findest du alles über uns.'; } echo '<h1>'.$headline.'</h1>'; echo '<p>'.$headtext.'</p>'; /* add contacts */ if ($_GET['page'] == 'add') { echo" <form action='?page=add' method='POST'> Gebe einen Namen ein: <br> <input placeholder='Name' name='name'> <br> Gebe eine Telefonnummer ein: <br> <input placeholder='Telefonnummer' name='number'> <br> <button type='submit'>Absenden</button> <br> <br> </form> "; if (file_exists('contacts.txt')) { $text = file_get_contents('contacts.txt', true); $contacts = json_decode($text, true); } if (isset($_POST['name']) && isset($_POST['number'])) { $newcontact = [ 'name' => $_POST['name'], 'number' => $_POST['number'] ]; array_push($contacts, $newcontact); file_put_contents('contacts.txt', json_encode($contacts, JSON_PRETTY_PRINT)); echo 'Der Kontakt <b>' . $_POST['name']. '</b> wurde hinzugefügt!'; } } /* show contacts */ if ($_GET['page'] == 'contacts') { foreach ($contacts as $row) { echo '<div>' . $row['name'] . '</div>'; } } ?> </div> </div> </div> Zitieren
KaiserGrillhelm Geschrieben 2. Juni 2023 Autor Geschrieben 2. Juni 2023 Ich habe den Code wie folgt angepasst, jetzt funktioniert es. if ($_GET['page'] == 'contacts') { if (file_exists('contacts.txt')) { $text = file_get_contents('contacts.txt', true); $contacts = json_decode($text, true); } foreach ($contacts as $row) { echo '<div>' . $row['name'] . '</div>'; } } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.