Wie kann in dem Array (oben) nach einem Buchtitel gesucht und dieser, der Autor sowie borrowed in dem jeweiligen Eingabefeld ausgegeben werden?

Ich habe bisher folgenden Code, komme allerdings nicht wirklich weiter, da er nicht funktioniert.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>test</title>
    <style>
      input, button {
        margin: 10px;
      }
    </style>
    <script>
      var library = [{
        title: "Moby-Dick",
        author: "Herman Melville",
        borrowed: true
      }, {
        title: "Harry Potter",
        author: "J.K. Rowling",
        borrowed: true
      }, {
        title: "The Hunger Games",
        author: "Suzanne Collins",
        borrowed: false
      }];

      window.addEventListener("load", function searchBook() {
        // Suchfunktion hier implementieren
        button.addEventListener("click", function() {
          titleinput = document.getElementById('search')

          if (titleinput == title) {
            document.title.val('title');
            document.author.val('author');
            document.borrowed.val('borrowed');
          }
          else if (titleinput == title) {
            document.title.val('title');
            document.author.val('author');
            document.borrowed.val('borrowed');
          }
          else if (titleinput == title) {
            document.title.val('title');
            document.author.val('author');
            document.borrowed.val('borrowed');
          }
          else {
            document.ausgabe.text("Dein gesuchter Titel befindet sich nicht in der Liste!!!!");
          }
        }, false);
      });
    </script>
  </head>
  <body>
    <h1>Büchersuche</h1>
    <label for="search">Suche: </label>
    <input id="search" type="text" />
    <button id="button">Suchen</button>
    <br />
    <label for="title">Titel: </label>
    <input id="title" type="text" />
    <label for="author">Autor: </label>
    <input id="author" type="text" />
    <label for="borrowed">Entliehen: </label>
    <input id="borrowed" type="text" />

    <div id="ausgabe"></div>
  </body>
</html>
HTML, JavaScript
1 Antwort
Warum gibt PHP die Session nicht an die nächste Seite weiter?

Hi.

Ich will nur zu Testzwecken einmal eine einfache PHP-Session starten, die sich über mehrere Seiten durchzieht. Dazu habe ich ein Formular erstellt, bei dem man einen Namen eingeben kann. Nach dem Absenden sollte der Name in einer Session gespeichert werden und auf der selben Seite erscheinen; was soweit funktioniert. Wenn ich aber auf der nächsten Seite die Session abfrage, ist der Wert (der Name) nicht mehr vorhanden. Woran liegt das?

Hier der Code der beiden Seiten:

/experimentell/index.php:

<?php
  session_start();
?>
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8" />
    <title>Einlochen</title>
  </head>
  <body>
    <form action="#" method="post">
      Name: <input type="text" name="Nickname" /><br />
      <input type="submit" value="senden" />
    </form>

    <?php
      $Name = $_POST['Nickname'];
      $_SESSION['nn'] = $Name;

      if (isset($_SESSION['nn'])) {
        echo 'Registriert als'.$_SESSION['nn'].'<br /> <a href="/experimentell/weiter.php">Weiter geht es hier.</a>';
      }
      else {
        echo 'Deinen Namen siehst du nach der Registrierung hier.';
      }
    ?>
  </body>
</html>

/experimentell/weiter.php:

<?php
  session_start();
?>
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8" />
    <title>Hier geht’s weiter</title>
  </head>
  <body>
    <?php
      if (isset($_SESSION['nn'])) {
        echo 'Du bist und bleibst einfach'.$_SESSION['nn'].', da kommst du nie wieder raus.';
      }
      else {
        echo 'Du musst dich erst <a href="/experimentell">einlochen</a>.';
      }
    ?>
  </body>
</html>

Warum gibt weiter.php den else-Teil aus?

Computer, Programmierung, PHP, Webprogrammierung, Else, If, session
4 Antworten
Python wie löse 'NoneType' object is not subscriptable?

Hallo!

Ich schreibe ein kleines Pythonprogramm, das als Web Crawler fungieren soll.Leider erhalte ich in Zeile 36 ein Fehler:

  brand = make_rating_sp[0].img["title"].title()
TypeError: 'NoneType' object is not subscriptable

Leider, finde ich keine Lösung. Wie könnte ich diesen Fehler lösen? Danke im Voraus!

make_rating_sp[0].img is None.

from bs4 import BeautifulSoup as soup  # HTML data structure
from urllib.request import urlopen as uReq  # Web client

# URl to web scrap from.
# in this example we web scrap graphics cards from Newegg.com
page_url = "http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=-1&IsNodeId=1&Description=GTX&bop=And&Page=1&PageSize=36&order=BESTMATCH"

# opens the connection and downloads html page from url
uClient = uReq(page_url)

# parses html into a soup data structure to traverse html
# as if it were a json data type.
page_soup = soup(uClient.read(), "html.parser")
uClient.close()

# finds each product from the store page
containers = page_soup.findAll("div", {"class": "item-container"})

# name the output file to write to local disk
out_filename = "graphics_cards.csv"
# header of csv file to be written
headers = "brand,product_name,shipping \n"

# opens file, and writes headers
f = open(out_filename, "w")
f.write(headers)

# loops over each product and grabs attributes about
# each product
for container in containers:
    # Finds all link tags "a" from within the first div.
    make_rating_sp = container.div.select("a")

    # Grabs the title from the image title attribute
    # Then does proper casing using .title()
    brand = make_rating_sp[0].img["title"].title()

    # Grabs the text within the second "(a)" tag from within
    # the list of queries.
    product_name = container.div.select("a")[2].text

    # Grabs the product shipping information by searching
    # all lists with the class "price-ship".
    # Then cleans the text of white space with strip()
    # Cleans the strip of "Shipping $" if it exists to just get number
    shipping = container.findAll("li", {"class": "price-ship"})[0].text.strip().replace("$", "").replace(" Shipping", "")

    # prints the dataset to console
    print("brand: " + brand + "\n")
    print("product_name: " + product_name + "\n")
    print("shipping: " + shipping + "\n")

    # writes the dataset to file
    f.write(brand + ", " + product_name.replace(",", "|") + ", " + shipping + "\n")

f.close()  # Close the file
Programmieren, Programmierung, Informatik, Python, python-3
1 Antwort

Was möchtest Du wissen?