Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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>

 

Geschrieben

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>';
                    }
                }

 

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...