首页 > 解决方案 > php请求接收数据但未设置提交按钮

问题描述

我的 php 文件中有以下表格。

<!DOCTYPE html>
<html>
<head>
   <meta charset='utf-8'>
   <meta http-equiv='X-UA-Compatible' content='IE=edge'>
   <title>SportsReg</title>
   <meta name='viewport' content='width=device-width, initial-scale=1'>
   <link rel="icon" href="./img/logo2.png"/>
   <!--bootstrap   -->
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
   <!--JQUERY AND popper   -->
   <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
   <!--JQUERY AND bootstrap.js   -->
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

   <link rel='stylesheet' type='text/css' media='screen' href='index.css'>
   <link rel='stylesheet' type='text/css' media='screen' href='request.css'>
   <link rel='stylesheet' type='text/css' media='screen' href='footer.css'>

</head>
<body>

<?php
ob_start();

if(!array_key_exists("clubloggedin", $_SESSION)){
   header("Location: ./index.php"); /* Redirect browser */
   exit;
}

require_once("./homeheader.php");
require_once("./db.php");


if (isset($_REQUEST["logout"]))
{
   // remove all session variables
   session_unset();

// destroy the session
   session_destroy();
   header("Location: ./index.php");
   exit();
}
$req_er = "";
if (isset($_REQUEST["next"])){
   $_SESSION["sport"] = $_REQUEST["sports"];
   $_SESSION["cid"] = $_REQUEST["category"];
   $_SESSION["pid"] = $_REQUEST["product"];
   $query="Select * from category where category_id = \"{$_SESSION["cid"]}\";";
   $pdata = db::getInstance()->get_result($query);
   while($row = mysqli_fetch_assoc($pdata))
   {
       $_SESSION["cname"] = $row["category_name"];
   }
   $query="Select * from products where product_id = \"{$_SESSION["pid"]}\";";
   $pdata = db::getInstance()->get_result($query);
   while($row = mysqli_fetch_assoc($pdata))
   {
       $_SESSION["pname"] = $row["product_name"];
   }
}

?>
<div class="container" id="reqform-container">

   <div class="container pl-5 pr-0" id="outline-request">
       <div class="row mt-5 mb-3 pt-5 pb-2 col-12 d-flex justify-content-center">    
           <h3 id="req-head"><?php echo($_SESSION["sport"]) ?> - <?php echo($_SESSION["cname"]) ?> - <?php echo($_SESSION["pname"]) ?></h3>
       </div>    
       <div class="row d-flex col-12 px-0 justify-content-center">
           <form class="col-12 px-0" action="./requestforms/generic1submit.php" enctype="multipart/form-data" method="POST" id="detail-form">
               <div class="form-group row d-flex col-12 justify-content-center">
               <input type="number" class=" reqinput-border form-control ml-3 col-11 col-md-6" id="quantity" name="quantity" placeholder="Quantity" required>
               </div>
               <div class="form-group row d-flex col-12 justify-content-center">
               <input type="text" class=" reqinput-border form-control ml-3 col-11 col-md-6" id="color" name="color" placeholder="Color" required>
               </div>
               <div class="form-group row d-flex col-12 justify-content-center">
               <input type="text" class=" reqinput-border form-control ml-3 col-11 col-md-6" id="size" name="size" placeholder="Size" required>
               </div>
               <div class="form-group row d-flex col-12 justify-content-center">
               <textarea class=" reqinput-border form-control ml-3 col-11 col-md-6" id="description" name="description" placeholder="Other information (Max 190 characters)" rows="5" maxlength="191"></textarea>
               </div>
               <div class="form-group row d-flex col-12 justify-content-center">
               <input class=" reqinput-border form-control ml-3 col-11 col-md-6" type="file" name="fileToUpload" id="fileToUpload" accept=".txt,.xlsx,.png,.jpg,.jpeg,.pdf,.pptx,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document" required>
               </div>
               <div class="form-group row d-flex col-12 justify-content-center">
                    <?php echo($req_er) ;?>
               </div>
               <div class="form-group row d-flex col-xs-10 col-md-9 justify-content-end">
               <button type="submit" id = "req-btn" name="send-req" class="row col-8 col-md-3 btn btn-default">Send Request</button>
               </div>
           </form>
       </div>
   </div>

</div>

<!-- Footer -->
<?php
require_once("./footer.php");
?>
<!-- Footer -->

<!-- Modal -->
<div class="modal fade" id="exampleModalScrollable0" tabindex="-1" role="dialog" aria-labelledby="exampleModalScrollableTitle0" aria-hidden="true">
 <div class="modal-dialog modal-dialog-scrollable" role="document">
   <div class="modal-content">
     <div class="modal-header">
       <h5 class="modal-title" id="exampleModalScrollableTitle0">Product Request</h5>
       <button type="button" class="close" data-dismiss="modal" aria-label="Close">
         <span aria-hidden="true">&times;</span>
       </button>
     </div>
     <div class="modal-body">
     Thanks for your request. You will receive your offers in a short time.
     </div>
     <div class="modal-footer">
       <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
     </div>
   </div>
 </div>
</div>

</body>

<script src="header.js"></script>
<script src="request.js"></script>
</html>
当我提交表单时,我在 $_REQUEST 中收到数据,但未设置提交按钮 $_REQUEST["send-req"]。我在 $_REQUEST 和 $_POST 上使用了 var_dump,它正确显示了所有其他参数的值,但不包括“send-req”参数。

下面是“generic1submit.php”的代码

<?php

ob_start();
session_start();
if(!array_key_exists("clubloggedin", $_SESSION)){
    header("Location: ./index.php"); /* Redirect browser */
    exit;
}

require_once("../db.php");

if(isset($_REQUEST["send-req"]))
{
  $_SESSION["reqquantity"]= $_REQUEST["quantity"];
  $_SESSION["reqcolor"]= $_REQUEST["color"];
  $_SESSION["reqsize"]= $_REQUEST["size"];
  $_SESSION["reqdescription"]= $_REQUEST["description"];
  $target_dir = "requestuploads/";
  $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
  $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
  $newname = "";
  $uploadOk = 1;
  $info = pathinfo($_FILES['fileToUpload']['name']);
  $ext = $info['extension']; // get the extension of the file
  $nameid = uniqid();
  $newname = $nameid.".".$ext; 
  $target = 'requestuploads/'.$newname;
  move_uploaded_file( $_FILES['fileToUpload']['tmp_name'], $target);
  $query="INSERT INTO club_requests(sports, category_id, product_id, quantity, color, size, description,club_id,filename) VALUES (\"{$_SESSION["sport"]}\",\"{$_SESSION["cid"]}\",\"{$_SESSION["pid"]}\",\"{$_REQUEST["quantity"]}\",\"{$_REQUEST["color"]}\",\"{$_REQUEST["size"]}\",\"{$_REQUEST["description"]}\",\"{$_SESSION["userdata"]["club_id"]}\", \"$newname\");";
  db::getInstance()->dbquery($query);
  header("Location: ../userhome.php");
  exit();
}


?>


这是request.js的代码

$(document).ready(function() {

    var scount = 0;
    $("#detail-form").submit(function(e) {
        if(scount==0)
        {
            e.preventDefault();
        }
        else{
            scount = 0;
            return true;
        }
        scount = 1;
        $("#exampleModalScrollable0").modal('show');
        $('#exampleModalScrollable0').on('hidden.bs.modal', function () {
            $("#detail-form").submit();    
        });
        
    });
});

标签: javascriptphphtml

解决方案


推荐阅读