Beiträge von Sempervivum

    Das sieht ja schon Mal gut aus! Dann sollten wir im JS weiter debuggen: Füge eine Consolausgabe ein:

    Code
                request.onload = function () {
                    var superHeroes = request.response;
                    console.log(superHeroes);
                    populateHeader(superHeroes);
                    // showHeroes(superHeroes);
                }

    Dann müssen wir mal debuggen. Schalte die Fehleranzeigen im PHP-Skript ein:

    Dann rufe es direkt im Browser auf ohne das Javascript.

    Aber das ist ja gerade der Sinn der Sache, dass der Key nicht mehr im Quelltext deiner Seite steht.

    Wie hast Du denn getestet? Auf deinem Webspace oder mit lokalem Webserver?

    Ich schrieb ja, dass ich es nicht getestet habe, es können also noch Fehler drin sein.

    Poste am besten erst Mal das neue Javascript und das PHP, Key kannst Du ja löschen.

    Wenn das so aussieht, ist es relativ einfach: Die URL brauchst Du nicht als Parameter. Statt direkt die API-URL zu lesen, ruft Du ein PHP-Skript auf deinem Server auf:

    getdata.php:

    PHP
    <?php
    $theurl ='die-url-der-API-mit-key';
    // die API auslesen
    $response = file_get_contents($theurl);
    // und den Inhalt ausgeben
    echo $response;
    // ginge auch mit einem Einzeiler,
    // aber so ist es IMO übersichtlicher
        ?>

    Die URL mit dem Key steht jetzt nur noch im PHP-Skript und das ist im Browser nicht sichtbar.

    Ungestestet aber ich bin relativ sicher, dass es so funktionieren wird.

    Ein PHP-Skript, das die API mit file_get_contents ausliest. Dann steht der Key nur im PHP-Code und der ist im Browser nicht sichtbar. Die Daten kannst Du dann gleich in PHP auswerten, wenn sie in HTML umgesetzt werden sollen, oder an ein Javascript übergeben, das sie clientseitig verarbeitet.

    Da sehe ich nichts von den Formular-Elementen. Mache ich diese auch inline funktioniert es:

    Zitat

    Das heißt, dass im Gegensatz zum statischen Layout das bei Flexbox automatisch mit einberechnet wird ? Wofür brauche ich dann box-sizing ?

    Bei dem, was Du mit Flexlayout gestaltest, brauchst Du kein box-sizing.

    BTW: Du brauchst auch die 100% hier nicht:

    Code
                .content {
                    width: 100%;
                }
    
                .sidebar {
                    width: 100%;
                    margin-top: 20px;
                }

    denn ein Flexcontainer hat per Default die Eigenschaft align-items: stretch; d. h. bei Richtung column füllen die Items den Container in horizontaler Richtung automatisch aus.

    Zitat

    Wenn ich der ersten Box jetzt 15Px padding zuweise, dann zersprengt es das Layout. Ich muss ja diese zusätzlichen 30px miteinberechnen.

    Nein, das ist nicht nötig, wenn Du konsequent Flexlayout verwendest. Ich habe es gerade getestet mit dem Layout, das Du früher gepostet hattest. Am besten postest Du nochmal das vollständige HTML und CSS.

    Zitat

    Bei einem normalen Layout habe ich den Content zentriert indem ich der Division eine klasse mit beispielsweise 15PX Padding

    Das verstehe ich nicht, Padding fügt nur einen Innenabstand hinzu und zentriert nichts. Text kann man sehr einfach horizontal mit text-align:center; zentrieren und Flexitems mit align-items: center; für den Flexcontainer. Erkläre doch mal genauer, was Du unter Zentrierung verstehst und welche Elemente Du zentrieren willst.

    Da hat dir Basti in Posting #6 ein Beispiel gegeben. Aber Du schreibst ja leider, dass Du kein PHP auf deinem Webspace hast. Ich würde mir schnellstens einen anderen Provider suchen oder bei der Telekom upgraden.

    Aber dass Davis seine API nicht für Cross-Domain-Access freigibt ist auch ein schwaches Bild.

    Edit: Wohl besser nicht bei Telekom upgraden: Paket M kostet 15 €, bei all-inkl z. B. gibts PHP schon für 5 € ohne Mindest-Vertragslaufzeit und ohne Einrichtungsgebühr.

    Hier schon mal eine Demo, die die Kreise anordnet: