2017-02-25 7 views
1

Ich versuche, eine Suchleiste zu verwenden, um die Benutzereingabe zu ergreifen, aber wenn ich nichts eingib und einreiche passiert, ich es nicht richtig einreichen, aber ich kann nicht für das Leben von mir meinen Fehler finden. Ich habe den Eingabecode von einer zuvor erstellten Login-Seite kopiert, was gut funktioniert und mich deshalb noch mehr verblüfft.Eine Eingabe kann nicht zur späteren Verwendung gesendet werden. php

<div class="container"> 
     <div class="form-group"> 
    <?php 
$stocksymbol = ""; 
    if ($_SERVER["REQUEST_METHOD"] == "POST") { 

     if (empty($_POST["stocksymbol"])) { 
      $stocksymbolErr = "Please enter Username."; 
      } else { 
      $stocksymbol = test_input($_POST["stocksymbol"]); 
      } 

     function test_input($data) { 
      $data = trim($data); 
      $data = stripslashes($data); 
      $data = htmlspecialchars($data); 
      return $data; 
      }} 

      $servername = "localhost"; 
      $username2 = "root"; 
      $password2 = ""; 
      $dbname = "mydb"; 

      $mysqli = new mysqli($servername, $username2, $password2, $dbname); 

      if ($mysqli->connect_error) { 
       die("Connection failed: " . $mysqli->connect_error); 
      } 
      $query = "SELECT * FROM tblstocks WHERE Symbol = '$stocksymbol'"; 
      if ($result = $mysqli->query($query)) { 
        while ($row = $result->fetch_assoc()) { 
        $_SESSION['stockavailable'] = true; 
        $_SESSION['stock']= $row; 
        header('Location: item.php'); 
       } 
       $result->free(); 
      } 
      $mysqli->close(); 
    ?> 
     <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
      <label for="stocksymbol">Search:</label> 
     <input type="text" class="form-control" id="stocksymbol"> 
     <br><br> 
      <input type="submit" class="btn btn-default" name="submit" value="Submit"> 
</form> 

</div> 

Antwort

1

Das input Element muss ein Attribut name mit dem Wert den Schlüssel zu sein, die Sie auf dem Server das heißt stocksymbol erwartet werden in der Lage sein zu erhalten, was in dem Elemente eingegeben.

<input type="text" class="form-control" id="stocksymbol" name="stocksymbol"> 
Verwandte Themen