我有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”的代码?
答案 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
}