gpt4 book ai didi

php - 获取表格发布时遇到问题

转载 作者:行者123 更新时间:2023-11-29 08:13:43 25 4
gpt4 key购买 nike

我无法将以表单提交的信息发布到数据库中。我不确定是什么问题,没有错误记录,但是我收到消息“发生错误,导致评论无法保存。”这是我在php代码中设置为失败消息的原因,因此某些操作无效。

我之前只做过一次这样的表格,所以我不太擅长故障排除。表单发布时,我需要提交三件事:author,body和page_name(这是发送当前Web地址的表单中的隐藏输入类型)。

这是提交表单的php代码:

<?php 
if (isset($_POST['submit'])) {
$required_fields = array("author", "body");
validate_presences($required_fields);

if (empty($errors)) {
$author = mysql_prep($_POST['author']);
$body = mysql_prep($_POST['body']);
$page_name = ($_POST['page_name']);

$query = "INSERT INTO comments (";
$query .= " $author, $body, $page_name";
$query .= ") VALUES (";
$query .= " '{$author}', '{$body}', '{$page_name}'";
$query .= ")";
$result = mysqli_query($connection, $query);

if ($result) {
redirect_to("new_admin.php");
} else {
// Failure
$_SESSION["message"] = "There was an error that prevented the comment from being saved.";
}
}
} else {
$author = "";
$body = "";
}
?>


这是我在上面的代码中使用的功能(它存储在单独的页面中,该页面在主页的开头被调用):

    function mysql_prep($string) {
global $connection;

$escaped_string = mysqli_real_escape_string($connection, $string);
return $escaped_string;
}

function redirect_to($new_location) {
header("Location: " . $new_location);
exit;
}


$ connection是我用于数据库连接的东西,我已经仔细检查过它是否正常工作

这是我的表单的代码:

    <form action="new_admin.php" method="post">
<input type="hidden" name="page_name" value="<?=$_SERVER['REQUEST_URI']?>" />
<table>
<tr>
<td>Your name:</td>
<td><input type="text" name="author" value="<?php echo $author; ?>" /></td>
</tr>
<tr>
<td>Your comment:</td>
<td><textarea name="body" cols="40" rows="8"><?php echo $body; ?></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Submit Comment" /></td>
</tr>
</table>
</form>


我认为这就是一切。我现在很困惑,我不知道这是我所缺少的愚蠢事物,还是我做了更大的事情并将整个事情弄错了。

任何帮助将不胜感激!

最佳答案

您在要插入的列中引用变量值。 PHP的功能是将双引号内的$ variable替换为变量的值。如果我将作者名称输入为“ King”,将正文输入为“ BestBody”,则您的查询将为INSERT INTO comments (KING, BestBody, <page>) VALUES('King', 'BestBody', <page>)"

更改此行:$query .= " $author, $body, $page_name";
在此行:$query .=" author, body, pagename";
或任何您命名的列。

关于php - 获取表格发布时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21034187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com