2017-07-14 62 views
0

我需要的原因很复杂,但我有一个当前正在工作的HTML表单,它将一行插入到我的MYSQL数据库中。但是...我需要将这两个单独的进程合并到一个HTML文件中,但经过许多尝试安排代码后,无法找到可行的解决方案。希望有人能指出我正确的方向。将单独的HTML和PHP MYSQL表单合并为一个文件

下面是HTML文件:

<form method="post" action="process.php"> 
<input type="text" name="id" placeholder="Enter ID" /><br /> 
<input type="hidden" name="user_text" id="hiddenField" value="x" /><br /> 
<input type="submit" value="Submit" /> 
</form> 

下面是相关process.php文件:

<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 

    //mysql credentials 
    $mysql_host = "localhost"; 
    $mysql_username = "*"; 
    $mysql_password = "*"; 
    $mysql_database = "*"; 

    $u_name = $_POST["id"]; 
    $u_text = $_POST["user_text"]; 

    if (empty($u_name)){ 
     die("Please enter your id"); 
    } 

    //Open a new connection to the MySQL server 
    $mysqli = new mysqli($mysql_host, $mysql_username, $mysql_password, $mysql_database); 

    //Output any connection error 
    if ($mysqli->connect_error) { 
     die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error); 
    } 

    $statement = $mysqli->prepare("INSERT INTO users_data (contractor_id, status) VALUES(?, ?)"); //prepare sql insert query 
    $statement->bind_param('ss', $u_name, $u_text); //bind values and execute insert query 


} 
?> 

我知道这是不是做的事情以正确的方式,但它不是对于公共场所而言,更多是个人记录项目。先进的谢谢!

+0

那么,什么是真正的问题?即使您只是将这两个代码片段一个接一个地复制并粘贴到文件中,它应该基本上工作 - 除了事实上您没有实际执行查询,但在这方面它不会与代码一起工作如两个单独的文件所示。对该行执行查询的评论_saying_实际上并不如此。 – CBroe

回答

0

你可以简单地有一个这样的文件:

<?php 

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    process(); 
} 
else { 
    show_form(); 
} 


function show_form() { 
?> 
<form method="post"> 
    <input type="text" name="id" placeholder="Enter ID" /><br /> 
    <input type="hidden" name="user_text" id="hiddenField" value="x" /><br /> 
    <input type="submit" value="Submit" /> 
</form> 
<?php 
} 

function process() { 

    //mysql credentials 
    $mysql_host = "localhost"; 
    $mysql_username = "*"; 
    $mysql_password = "*"; 
    $mysql_database = "*"; 

    $u_name = $_POST["id"]; 
    $u_text = $_POST["user_text"]; 

    if (empty($u_name)){ 
     die("Please enter your id"); 
    } 

    //Open a new connection to the MySQL server 
    $mysqli = new mysqli($mysql_host, $mysql_username, $mysql_password, $mysql_database); 

    //Output any connection error 
    if ($mysqli->connect_error) { 
     die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error); 
    } 

    $statement = $mysqli->prepare("INSERT INTO users_data (contractor_id, status) VALUES(?, ?)"); //prepare sql insert query 
    $statement->bind_param('ss', $u_name, $u_text); //bind values and execute insert query 


} 

如果不设置action的形式,在默认情况下,它提交给自己

+0

嗨,那正是我在寻找的谢谢!然而,它在第5行返回语法错误,但我找不到原因。有任何想法吗? – scotty6861

相关问题