javascript - 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">×</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();
});
});
});
解决方案
推荐阅读
- c++ - 在使用 CreateObject 从 VBScript 中通过 COM 引用 C++ DLL 时,如何处理 DLL 版本?
- c - break 语句在 else 语句中不起作用
- ios - ARKit3 如何使用原深感摄像头进行人脸跟踪和其他人的面部网格?
- css - 如何让 div 基线的底部与两侧的文本对齐?
- python - 如何在python中找到素数?
- linux - 一个月中每一天两次之间的日期值
- c++ - 如何查找结构列表项
- php - 在 WordPress 中将生成的数据写入数据库
- apache-spark - 如何仅从 Edge DataFrame 制作 GraphFrame
- java - 在部署时从 javax.validation 库获取 NoSuchMethodError