“数据输入成功”消息显示在插入表单的同一页面上?

时间:2015-04-22 06:11:40

标签: javascript php jquery html forms

我有一个插入表单,我可以将数据提交到我的数据库中。

这是我的代码:



<form action="insert_backend.php" method="POST" enctype="multipart/form-data">
<!-- Method can be set as POST for hiding values in URL-->
<h2>Form</h2>
<label for="uploadedimage">Small image to upload: </label>
<input type="file" name="uploadedimage" id="uploadedimage"/><br />
<label>Date:</label>
<input class="input" name="date" type="text" value=""><br />
<label>Retrace:</label>
<input class="input" name="retrace" type="text" value=""><br />
<label>Start of Swing Trade:</label>
<input class="input" name="start_of_swing_trade" type="text" value=""><br />
<label>End of Swing Trade:</label>
<input class="input" name="end_of_swing_trade" type="text" value=""><br />
<label>Bull flag:</label>
<input class="input" name="bull_flag" type="text" value=""><br />
<label>Bear flag:</label>
<input class="input" name="bear_flag" type="text" value=""><br />
<label>EMA Crossover:</label>
<input class="input" name="ema_crossover" type="text" value=""><br />
<label>Trading Instrument:</label>
<input class="input" name="trading_instrument" type="text" value=""><br />
<input class="submit" name="submit" type="submit" value="Insert">
</form>
&#13;
&#13;
&#13;

这是&#34;成功&#34;的片段。 php上用于处理提交给数据库的数据的消息:

&#13;
&#13;
$stmt->bind_param('sssssssss',$target_path, $date, $retrace, $start_of_swing_trade, $end_of_swing_trade, $bull_flag, $bear_flag, $ema_crossover, $trading_instrument);
         if(!$stmt){ exit("bind failed");}
        //will return 0 if fail
        if($stmt->execute() != 0){

            echo "New record created successfully";
        }else{ echo "Failed to insert new record";}
&#13;
&#13;
&#13;

每当我插入数据时,我都会成功创建&#34;新记录&#34; insert_backend.php页面上的消息,这是用于处理和提交数据的php文件,但不是用于插入数据的实际表单页面。通常当您使用表单向某人发送消息或将数据发送到数据库时,表单会自行重置并获得成功&#34;显示在窗体底部而不会重定向到另一个页面的消息。但是我将代码重定向到用于处理数据的页面。如何让它显示成功&#34;与表单本身在同一页面上的消息?

我的完整插入表单代码(包含php重定向检查解决方案):

&#13;
&#13;
<!DOCTYPE html>
<html>
<head>
<title>Chart Submission Form</title>
<link href="insert.css" rel="stylesheet">
</head>
<body>
<div class="maindiv">
<!--HTML Form -->
<div class="form_div">
<div class="title">
<h2>Insert Data In Database Using PHP.</h2>
</div>
<form action="insert_backend.php" method="POST" enctype="multipart/form-data">
<!-- Method can be set as POST for hiding values in URL-->
<h2>Form</h2>
<label for="uploadedimage">Small image to upload: </label>
<input type="file" name="uploadedimage" id="uploadedimage"/><br />
<label>Date:</label>
<input class="input" name="date" type="text" value=""><br />
<label>Retrace:</label>
<input class="input" name="retrace" type="text" value=""><br />
<label>Start of Swing Trade:</label>
<input class="input" name="start_of_swing_trade" type="text" value=""><br />
<label>End of Swing Trade:</label>
<input class="input" name="end_of_swing_trade" type="text" value=""><br />
<label>Bull flag:</label>
<input class="input" name="bull_flag" type="text" value=""><br />
<label>Bear flag:</label>
<input class="input" name="bear_flag" type="text" value=""><br />
<label>EMA Crossover:</label>
<input class="input" name="ema_crossover" type="text" value=""><br />
<label>Trading Instrument:</label>
<input class="input" name="trading_instrument" type="text" value=""><br />
<input class="submit" name="submit" type="submit" value="Insert">
</form>
<?php
if (isset($_GET['success']) && $_GET['success']) {
    echo "New record created successfully";
} else if (isset($_GET['success']) && !$_GET['success']) {
    echo "Failed to insert new record";
}
?>
</div>
</div>
</body>
</html>
&#13;
&#13;
&#13;

更新了我的PHP代码以包含标题位置:

&#13;
&#13;
        $sql = "INSERT into charts (charts_URL, charts_date, charts_retrace, charts_start_of_swing_trade, charts_end_of_swing_trade, charts_bullflag, charts_bearflag, charts_ema_crossover, charts_trading_instrument) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";

     
        // s = string, i = integer, d = double, b = blob
        //preparing statement
        $stmt = $conn->prepare($sql);
        if(!$stmt){ exit("prepare failed");}
        //binding param
        $stmt->bind_param('sssssssss',$target_path, $date, $retrace, $start_of_swing_trade, $end_of_swing_trade, $bull_flag, $bear_flag, $ema_crossover, $trading_instrument);
         if(!$stmt){ exit("bind failed");}
        //will return 0 if fail
        if($stmt->execute() != 0){
        
        $success = true;
    }else{ 
        $success = false;
    }
    header('location:insertchart.php?success='.$success);
    exit;
}
}
}
?>
&#13;
&#13;
&#13;

使一切正常运作的最终代码(实际上是一个代码段):

&#13;
&#13;
    if($stmt->execute() != 0){
        $success = true;
        header('Location:http://mlsinc.net/chart-submission/insertchart.php?success='.$success);
    }else{ 
        $success = false;
        header('Location:http://mlsinc.net/chart-submission/insertchart.php?success='.$success);
    }
}
    //close connection
$conn->close();
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:1)

尝试 -

$stmt->bind_param('sssssssss',$target_path, $date, $retrace, $start_of_swing_trade, $end_of_swing_trade, $bull_flag, $bear_flag, $ema_crossover, $trading_instrument);
     if(!$stmt){ exit("bind failed");}
    //will return 0 if fail
    if($stmt->execute() != 0){
        $success = true;
    }else{ 
        $success = false;
    }
    header('location:yourform.php?success='.$success);
    exit;

在您的表单页面上添加一个检查 -

if (isset($_GET['success']) && $_GET['success']) {
    echo "New record created successfully";
} else if (isset($_GET['success']) && !$_GET['success']) {
    echo "Failed to insert new record";
}

答案 1 :(得分:0)

在表单页面上显示消息

插入行后将消息存储在会话中(因为您正在重定向页面)

答案 2 :(得分:0)

我认为博士中士建议的灵魂将会对你有用。但是,不应将“成功”GET参数传递回包含表单的页面,而应使用会话变量,因为如果用户重新加载窗口,$ _GET ['success']将重新打印该消息。

打印存储在会话变量中的结果后,请确保取消设置。

答案 3 :(得分:0)

好的,我在这里看到你的问题,实际上非常简单。 它的工作方式是消息将在脚本标记内声明 所以你应该这样做,这样就可以调用这条消息。

<html>

<head>
  <script type="text/javascript">
    //Put the javascript function you want the button to do Here
    function show_alert()

     {
      alert("Form Succesfully Submited");
    }
  </script>
</head>


<body>

  <form action="insert_backend.php" method="POST" enctype="multipart/form-data">
    <!-- Method can be set as POST for hiding values in URL-->
    <h2>Form</h2>
    <label for="uploadedimage">Small image to upload:</label>
    <input type="file" name="uploadedimage" id="uploadedimage" />
    <br />
    <label>Date:</label>
    <input class="input" name="date" type="text" value="">
    <br />
    <label>Retrace:</label>
    <input class="input" name="retrace" type="text" value="">
    <br />
    <label>Start of Swing Trade:</label>
    <input class="input" name="start_of_swing_trade" type="text" value="">
    <br />
    <label>End of Swing Trade:</label>
    <input class="input" name="end_of_swing_trade" type="text" value="">
    <br />
    <label>Bull flag:</label>
    <input class="input" name="bull_flag" type="text" value="">
    <br />
    <label>Bear flag:</label>
    <input class="input" name="bear_flag" type="text" value="">
    <br />
    <label>EMA Crossover:</label>
    <input class="input" name="ema_crossover" type="text" value="">
    <br />
    <label>Trading Instrument:</label>
    <input class="input" name="trading_instrument" type="text" value="">
    <br />






    <!--This is where you tell the script where to load the (ID) for example im using a simple message for you what you need to do is make the id im sure you know how to create a simple (ID) inside of a java ,heck im  thirteen im about an expert on it if i can do im sure you can! :) :)
anyway inside the div tag make it look like this: <div id=("PUT ID IN HERE") >
then put you function in the script for wha you want it to do hope this helped you have a nice day!-->
    <div>
      <input class="button" name="submit" type="submit"  onclick="show_alert()" value="Submit">
    </div>

  </form>







</body>

</html>
希望这有帮助,如果不是不讨厌大声笑。