javascript - 提交表单后我必须刷新我的 php 页面以执行代码并显示输出

标签 javascript php html css forms

表单提交代码

<form action="search.php" method="POST" id="form2">
  <input type="text" name="Sr_no" required="true" placeholder="Enter Serial Number"><br>
  <input type="submit" value="Check Status" name="ss">
</form>

我的search.php

<?php

    $connect=mysqli_connect("localhost","root", "" ,"mydatabase");
    $Sr_no = $_POST["Sr_no"];

    $status_check = "SELECT verified FROM r_concession_forms WHERE id = '$Sr_id' LIMIT 1";
    $s_check = $connect->query($status_check);
    $s_value = $row = $s_check->fetch_assoc();

    if($s_value["verified"] == "0")
    {
        echo "<script>
            alert('Not Issued/Verified');
            window.location.href='index.php';
        </script>" ;
    }
    elseif($s_value["verified"] == "1"){
        echo "<script>
            alert('Issued and Verified');
            window.location.href='index.php';
            </script>";
    }
    else{
        echo "<script>
            alert('No Such Form Exists');
            window.location.href='index.php';
        </script>";
    }
?>

输出: 我的输入首先检查数据库中是否存在该“id”

Input on first page

没有预期的警告框,但是URL显示search.php,但没有显示警告框

No alert box

刷新页面后,提示框开始工作

After refresh it works

页面的设计是用JavaScript

最佳答案

我认为您在查询中使用了之前 undefined variable $Sr_id。还要首先检查表格是否已发布。

刷新页面时代码工作正常,因为刷新页面时没有发布数据,因此查询返回空值并显示“不存在这样的表单”。但是当你发布页面时,我猜你在查询中给出的发布值是错误的。

<?php
if(!empty($_POST['ss'])) {
    $connect=mysqli_connect("localhost","root", "" ,"mydatabase");
    if(!empty($_POST['Sr_no'])) {
        $Sr_no = $_POST["Sr_no"];

        $status_check = 'select verified FROM r_concession_forms WHERE id = '.$Sr_no.' LIMIT 1';
        $s_check = $connect->query($status_check);
        $s_value = $row = $s_check->fetch_assoc();

        if($s_value["verified"] == "0")
        {
            echo "<script>
                alert('Not Issued/Verified');
                window.location.href='index.php';
            </script>" ;
        }
        elseif($s_value["verified"] == "1"){
            echo "<script>
                alert('Issued and Verified');
                window.location.href='index.php';
                </script>";
        }
        else{
            echo "<script>
                alert('No Such Form Exists');
                window.location.href='index.php';
            </script>";
        }
    }
}
?>

此外,我个人不喜欢在您提到的 PHP 之间使用脚本代码。尝试将代码分开以便更好地理解。

关于javascript - 提交表单后我必须刷新我的 php 页面以执行代码并显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48487435/

相关文章:

Javascript insideHTML 动画

php - mysql表、php、html无数据时显示 'No Data'或空白

html - 为什么我们不能有一些 AntiXss Literal html 标签

javascript - Coverflow 类似 jQuery 的效果

javascript - 浏览器是否支持带有多部分/表单数据的 PUT 请求

javascript - 变量在 youtube 搜索 api 函数之外未定义

php - 赋予网页地址属性

javascript - NodeJS : Functional Programming - No access to prototype in handover function

php - Codeigniter 中函数调用时出现 500 错误

php - Chef Recipe 在一台服务器上运行迁移