代码之家  ›  专栏  ›  技术社区  ›  rpm192

在同一页面上显示查询结果PHP

  •  1
  • rpm192  · 技术社区  · 6 年前

    我目前正在使用一个PHP脚本向数据库中添加一条记录,经过一些调试后可以正常工作。脚本运行时,将打开一个包含查询输出的新页面。

    我希望在执行查询的同一页面上,在页面顶部的导航栏下显示查询输出。

    下面是我的当前页面。 enter image description here

    这是期望的结果。 enter image description here

    HTML页面的相关代码:

      <form name="registration" action="addKlant.php" target="_blank" method="post">
        <h3><i class="fa fa-plus-circle"></i> Klant toevoegen</h3>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Naam</label>
          <input type="text" name="klantNaam">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Soort klant</label>
          <select class="" name="klantSoort">
            <option value="">Bedrijf</option>
            <option value="">Particulier</option>
          </select>
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Telefoonnummer</label>
          <input type="number" name="klantTel">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> E-mail adres</label>
          <input type="email" name="klantEmail">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Straat & huisnr</label>
          <input type="text" name="klantAdres">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Postcode</label>
          <input type="text" name="klantPostcode">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Plaats</label>
          <input type="text" name="klantPlaats">
        </div>
        <div class="form-input">
          <input type="submit" name="submit" value="Klant toevoegen">
        </div>
      </form>
    

    添加Klant。php

    <?php
    require('db.php');
    
    $stmt = $con->prepare('INSERT INTO `klanten` (klant_naam, klant_soort, klant_telefoon, klant_email, klant_straat, klant_postcode, klant_plaats) VALUES (?, ?, ?, ?, ?, ?, ?)');
    
    if($stmt) {
      $klant_naam = $_POST['klantNaam'];
      $klant_soort = $_POST['klantSoort'];
      $klant_telefoon = $_POST['klantTel'];
      $klant_email = $_POST['klantEmail'];
      $klant_adres = $_POST['klantAdres'];
      $klant_postcode = $_POST['klantPostcode'];
      $klant_plaats = $_POST['klantPlaats'];
    
      $stmt->bind_param('ssissss', $klant_naam, $klant_soort, $klant_telefoon, $klant_email, $klant_adres, $klant_postcode, $klant_plaats);
    
      $stmt->execute();
    
      $con->close();
    
      echo "Klant is toegevoegd, je kan deze pagina nu sluiten.";
    }
    
    ?>
    

    我在考虑使用 if($_POST) ?但我不知道如何具体实施。

    页面是否刷新以添加输出并不重要,但我希望将其保存在PHP中,而不使用JS(当然,如果只使用PHP是可能的)。

    任何提示都将不胜感激。

    编辑:在@SloanTrasher的帮助下编辑了我的代码

    <?php
    
    if($_POST['submit'] == 'Klant toevoegen') {
      require('db.php');
    
      $stmt = $con->prepare('INSERT INTO `klanten` (klant_naam, klant_soort, klant_telefoon, klant_email, klant_straat, klant_postcode, klant_plaats) VALUES (?, ?, ?, ?, ?, ?, ?)');
    
      if($stmt) {
        $klant_naam = $_POST['klantNaam'];
        $klant_soort = $_POST['klantSoort'];
        $klant_telefoon = $_POST['klantTel'];
        $klant_email = $_POST['klantEmail'];
        $klant_adres = $_POST['klantAdres'];
        $klant_postcode = $_POST['klantPostcode'];
        $klant_plaats = $_POST['klantPlaats'];
    
        $stmt->bind_param('ssissss', $klant_naam, $klant_soort, $klant_telefoon, $klant_email, $klant_adres, $klant_postcode, $klant_plaats);
    
        $stmt->execute();
    
        $con->close();
    
      }
    }
    
    ?>
    
    
    <!-- I placed it above the form for simplification -->
    <?php ($_POST['submit'] == 'Klant toevoegen') {echo "<p>Klant is toegevoegd.</p>";}?>
    
    <form name="registration" action="addKlant.php" target="_blank" method="post">
        <h3><i class="fa fa-plus-circle"></i> Klant toevoegen</h3>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Naam</label>
          <input type="text" name="klantNaam">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Soort klant</label>
          <select class="" name="klantSoort">
            <option value="">Bedrijf</option>
            <option value="">Particulier</option>
          </select>
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Telefoonnummer</label>
          <input type="number" name="klantTel">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> E-mail adres</label>
          <input type="email" name="klantEmail">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Straat & huisnr</label>
          <input type="text" name="klantAdres">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Postcode</label>
          <input type="text" name="klantPostcode">
        </div>
        <div class="form-input">
          <label><i class="fa fa-info-circle"></i> Plaats</label>
          <input type="text" name="klantPlaats">
        </div>
        <div class="form-input">
          <input type="submit" name="submit" value="Klant toevoegen">
        </div>
      </form>
    

    编辑2:任何感兴趣的人的工作代码

    <?php
    include('auth.php');
    if($_POST['submit'] == 'Klant toevoegen') {
      require('db.php');
    
      $stmt = $con->prepare('INSERT INTO `klanten` (klant_naam, klant_soort, klant_telefoon, klant_email, klant_straat, klant_postcode, klant_plaats) VALUES (?, ?, ?, ?, ?, ?, ?)');
    
      if($stmt) {
        $klant_naam = $_POST['klantNaam'];
        $klant_soort = $_POST['klantSoort'];
        $klant_telefoon = $_POST['klantTel'];
        $klant_email = $_POST['klantEmail'];
        $klant_adres = $_POST['klantAdres'];
        $klant_postcode = $_POST['klantPostcode'];
        $klant_plaats = $_POST['klantPlaats'];
    
        $stmt->bind_param('ssissss', $klant_naam, $klant_soort, $klant_telefoon, $klant_email, $klant_adres, $klant_postcode, $klant_plaats);
    
        $stmt->execute();
    
        $con->close();
    
      }
    }
    
    ?>
    <!DOCTYPE html>
    <html>
      <head>
        <!-- Charset, viewport en keywords -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
        <!-- Titel en favicon -->
        <title></title>
        <link rel="icon" href="./img/favicon.jpg">
    
        <!-- Scripts -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script type="text/javascript" src="./js/pageForward.js"></script>
        <script type="text/javascript" src="./js/pageBack.js"></script>
    
        <!-- Stylesheets en fonts -->
        <link rel="stylesheet" href="./css/backend_styles.css">
        <link href="https://fonts.googleapis.com/css?family=Work+Sans:200" rel="stylesheet"> <!-- font-family: 'Work Sans', sans-serif; -->
        <link href="https://fonts.googleapis.com/css?family=Open+Sans:300" rel="stylesheet"> <!-- font-family: 'Open Sans', sans-serif; -->
        <link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
      </head>
      <body>
        <div class="container">
          <div class="top-links">
            <p><a href="index.php"><i class="fa fa-home"></i></a><a href="geavanceerd.php"><i class="fa fa-cogs"></i></a><a onclick="goBack()"><i class="fa fa-arrow-left"></i></a><a onclick="goForward()"><i class="fa fa-arrow-right"></i></a> Backoffice | Ingelogt als: <?php echo $_SESSION['username'];  ?> |<a href="logout.php"> Uitloggen</a></p>
          </div>
          <?php if($_POST['submit'] == 'Klant toevoegen') {echo "<p>Klant is toegevoegd.</p>";}?>
          <div class="inner-container">
            <div class="backend-form">
              <form name="registration" method="post">
                <h3><i class="fa fa-plus-circle"></i> Klant toevoegen</h3>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Naam</label>
                  <input type="text" name="klantNaam">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Soort klant</label>
                  <select class="" name="klantSoort">
                    <option value="Bedrijf">Bedrijf</option>
                    <option value="Particulier">Particulier</option>
                  </select>
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Telefoonnummer</label>
                  <input type="number" name="klantTel">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> E-mail adres</label>
                  <input type="email" name="klantEmail">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Straat & huisnr</label>
                  <input type="text" name="klantAdres">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Postcode</label>
                  <input type="text" name="klantPostcode">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Plaats</label>
                  <input type="text" name="klantPlaats">
                </div>
                <div class="form-input">
                  <input type="submit" name="submit" value="Klant toevoegen">
                </div>
              </form>
            </div>
          </div>
          </div>
          <footer>
            <p>Copyright &copy; 2018</p>
          </footer>
      </body>
    </html>
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Sloan Thrasher    6 年前

    这是工作代码。很高兴你成功了!

    <?php
    include('auth.php');
    if($_POST['submit'] == 'Klant toevoegen') {
      require('db.php');
    
      $stmt = $con->prepare('INSERT INTO `klanten` (klant_naam, klant_soort, klant_telefoon, klant_email, klant_straat, klant_postcode, klant_plaats) VALUES (?, ?, ?, ?, ?, ?, ?)');
    
      if($stmt) {
        $klant_naam = $_POST['klantNaam'];
        $klant_soort = $_POST['klantSoort'];
        $klant_telefoon = $_POST['klantTel'];
        $klant_email = $_POST['klantEmail'];
        $klant_adres = $_POST['klantAdres'];
        $klant_postcode = $_POST['klantPostcode'];
        $klant_plaats = $_POST['klantPlaats'];
    
        $stmt->bind_param('ssissss', $klant_naam, $klant_soort, $klant_telefoon, $klant_email, $klant_adres, $klant_postcode, $klant_plaats);
    
        $stmt->execute();
    
        $con->close();
    
      }
    }
    
    ?>
    <!DOCTYPE html>
    <html>
      <head>
        <!-- Charset, viewport en keywords -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
        <!-- Titel en favicon -->
        <title></title>
        <link rel="icon" href="./img/favicon.jpg">
    
        <!-- Scripts -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script type="text/javascript" src="./js/pageForward.js"></script>
        <script type="text/javascript" src="./js/pageBack.js"></script>
    
        <!-- Stylesheets en fonts -->
        <link rel="stylesheet" href="./css/backend_styles.css">
        <link href="https://fonts.googleapis.com/css?family=Work+Sans:200" rel="stylesheet"> <!-- font-family: 'Work Sans', sans-serif; -->
        <link href="https://fonts.googleapis.com/css?family=Open+Sans:300" rel="stylesheet"> <!-- font-family: 'Open Sans', sans-serif; -->
        <link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
      </head>
      <body>
        <div class="container">
          <div class="top-links">
            <p><a href="index.php"><i class="fa fa-home"></i></a><a href="geavanceerd.php"><i class="fa fa-cogs"></i></a><a onclick="goBack()"><i class="fa fa-arrow-left"></i></a><a onclick="goForward()"><i class="fa fa-arrow-right"></i></a> Backoffice | Ingelogt als: <?php echo $_SESSION['username'];  ?> |<a href="logout.php"> Uitloggen</a></p>
          </div>
          <?php if($_POST['submit'] == 'Klant toevoegen') {echo "<p>Klant is toegevoegd.</p>";}?>
          <div class="inner-container">
            <div class="backend-form">
              <form name="registration" method="post">
                <h3><i class="fa fa-plus-circle"></i> Klant toevoegen</h3>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Naam</label>
                  <input type="text" name="klantNaam">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Soort klant</label>
                  <select class="" name="klantSoort">
                    <option value="Bedrijf">Bedrijf</option>
                    <option value="Particulier">Particulier</option>
                  </select>
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Telefoonnummer</label>
                  <input type="number" name="klantTel">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> E-mail adres</label>
                  <input type="email" name="klantEmail">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Straat & huisnr</label>
                  <input type="text" name="klantAdres">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Postcode</label>
                  <input type="text" name="klantPostcode">
                </div>
                <div class="form-input">
                  <label><i class="fa fa-info-circle"></i> Plaats</label>
                  <input type="text" name="klantPlaats">
                </div>
                <div class="form-input">
                  <input type="submit" name="submit" value="Klant toevoegen">
                </div>
              </form>
            </div>
          </div>
          </div>
          <footer>
            <p>Copyright &copy; 2018</p>
          </footer>
      </body>
    </html>
    
        2
  •  -2
  •   Matthew Knight    6 年前

    我假设HTML表单不是addKlant的一部分。php? 在这种情况下,处理完表单后,您可能希望重定向到带有HTML表单的页面,并在querystring中传递一个带有某种变量的项,以显示查询已运行。

    i、 e。

    // ... after your form processing
    $con->close();
    header("Location: htmlpage.php?queryresult=ok");
    exit;
    

    然后在HTML表单页面中:

    <?php if ($_GET['queryresult'] == 'ok') print "query ran okay"; ?>
    

    我不知道查询的结果可能是什么样的-如果它在url中是可编码的,您可以传递整个响应,即。

    header("Location: htmlpage.php?queryresult=" . urlencode( $queryresultstring ));