从html表单中提取文件名,通过php处理并存储在mysql中

问题描述 投票:-1回答:1

我从其他问题中得到了许多提示,但还不能完全达到目的。我有很多静态网页,我想包括一个笔记(评论)字段,我可以每天添加到许多页面。我想在php snipet中包含一个隐藏的输入字段,将文件名传递给php处理页面,该页面将把它存储在我的数据库中,然后我就可以在每个页面上列出历史记录。我发布了隐藏的输入值,因为它只会将引号中的整个字段添加到数据库中,而不是变量内容。

你可能已经看到了,我已经尝试了一些被注释掉的东西:

`//<?php
//$pageName = basename($_SERVER['PHP_SELF']);
//?>
<form method="post" action="processNotes.php">
Notes : <textarea name="notes_text"></textarea><br />
<input type="hidden" name="page_name" value="<?php echo 
basename($_SERVER['PHP_SELF']); ?>">
<input type="submit" value="Submit" />
</form>`

处理php将记录添加到数据库,除了将php片段逐字添加到数据库中的页面名称字段。

<?php
//processNotes.php
if ($_SERVER["REQUEST_METHOD"] == "POST") {//Check it is coming from a form

$mysql_host = "localhost";
$mysql_username = "xxx";
$mysql_password = "xxx";
$mysql_database = "xxx";

$conn = new mysqli($mysql_host, $mysql_username, $mysql_password, 
$mysql_database);

if ($conn->connect_error) {
die('Error : ('. $conn->connect_errno .') '. $conn->connect_error);
} 

$p_name = mysqli_real_escape_string($conn, $_POST['page_name']);
//$n_name = mysqli_real_escape_string($conn, $_POST['notes_text']);
//$p_name = filter_var($_POST["page_name"], FILTER_SANITIZE_STRING);
$n_text = filter_var($_POST["notes_text"], FILTER_SANITIZE_STRING);
$n_time = date("Y-m-d H:i:s");   
if (empty($p_name)){
    die("Please enter textA");
} 
if (empty($n_text)){
    die("Please enter textB");
}   


$statement = "INSERT INTO notes_data (page_name, notes, date_time) VALUES('$p_name', '$n_text', '$n_time')"; //prepare sql insert query


//bind parameters for markers, where (s = string, i = integer, d = double,  
b = blob)
//$statement->bind_param('ss',$n_text,$n_time); //bind values and execute 
insert query


    if($conn->query($statement) === TRUE){
    echo "Record Added Sucessfully. ";
    }
    else
    {
    echo "Error" . $statement . "<br/>" . $conn->error;
    }
    $conn->close(); 

我认为我非常接近,并且原因是我不是一个专业的开发人员,或者我有很多快捷方式来达到这一点,但这真的很简单,我想帮助我完成我的项目。

php html mysqli wamp
1个回答
0
投票

猜测是带有表单的文件名为.html,并且不由php处理。因为代码看起来很好。

© www.soinside.com 2019 - 2024. All rights reserved.