在php文件中创建保存按钮并执行部分php代码点击它

时间:2016-03-11 10:02:56

标签: php button

我有js文件,它接受用户输入并在提交时调用php文件。 php文件显示输入数据的结果。我想创建“保存按钮”以将这些数据保存在我的数据库中。 “保存按钮应该在php文件中”

我在我的php文件中尝试按钮:

<?php

echo "<input type='button' value='Save Result'> </p>";  

我在同一个php文件中尝试此代码以保存结果:

$serverName = "Alaa";
$connectionInfo = array( "Database"=>"i2b2blast", "UID"=>"i2b2blast", "PWD"=>"demouser");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}

$sql = "INSERT INTO BlastQueryDim (Query_ID, QuerySeq) VALUES ('Query 2', 'q')";

$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

我想点击按钮执行保存代码。

我成功尝试和完成的是: 在js文件中创建一个测试按钮并调用php文件onclick它。在这种情况下,结果成功保存在我的数据库中,但是,我希望保存按钮位于php文件中。

希望你明白我的观点。 非常感谢。

编辑1: 一种可能的解决方案是从我当前的php中调用另一个php文件。我不喜欢这个,因为我应该发布很多参数。 无论如何,在第一个php文件中:

echo "<form action='saveResult.php' method='post' name='Post'>";
echo "<input name='Save' type='submit' value='Save Result'> </p>";  

在第二个php:

<?php
if(isset($_POST['Save'])) // If the submit button was clicked
{
$serverName = "Alaa";
$connectionInfo = array( "Database"=>"i2b2blast", "UID"=>"i2b2blast", "PWD"=>"demouser");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
$sql = "INSERT INTO BlastQueryDim (QueryID, QuerySeq) VALUES ('6', 'q')";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}
}
echo "<script>alert('Saved');</script>";

这项工作成功但是,它将页面导航到saveResult.php页面。 如何在不重定向的情况下在后台执行第二个php“saveResult.php”的代码?

1 个答案:

答案 0 :(得分:1)

您必须为按钮创建表单。

<form method="post" name = "post">
 //rest
</form>

然后在PHP代码中使用此

if($_SERVER['REQUEST_METHOD'] === 'POST'){

 //execute code when button is clicked

}

重要

可以通过其他方式提交表单(例如在文本框中按Enter键)。 因此,检查请求中的提交按钮字段并不可靠。

<强> $ _ POST 通过使用此表达式,您可以声明:

1.表格通过POST提交

2.至少提交了一个字段

这就是为什么我更喜欢 request_method 而不是检查

<?php
if(isset($_POST["submit"]))
{
//php code
}