gpt4 book ai didi

本地主机上的 php 错误 : Access forbidden! 错误 403

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:09 25 4
gpt4 key购买 nike

我正在关注 this在 windows7 上使用 XAMPP 的 php 教程。
这是一个留言簿教程,将用户条目保存到 mysql 中并显示来自 db 的条目。当我在表单中输入数据并提交时,浏览器显示此错误消息

禁止访问!您无权访问所请求的对象。它要么是读保护的,要么是服务器不可读的。如果您认为这是服务器错误,请联系网站管理员。错误 403本地主机Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7

已更新

guestbok.php

Connect to DB Code

<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbDatabase = "myDB";

// Connect to DB

$li = new mysqli('localhost', 'root', '', 'myDB') or
die("Could not connect". mysqli_connect_error());
//mysql_select_db($dbDatabase, $li) or
die ("could not select DB". mysql_error());
?>

Variables initialisation

<?php
// initiate some vars

$gb_str = "";
// $gb_str is the string we'll append entries to
$pgeTitle = "View and Sign Guestbook";

Post request handling

// If form is submitted, then insert into DB
if (!empty($_POST["submit"])) {
$name = $_POST["frmName"];
$email = $_POST["frmEmail"];
$comment = $_POST["frmComment"];
$date = Date("Y-m-d h:i:s");

$gb_query = "insert into guestbook
values(0, '$name', '$email', '$comment', '$date')";
// Performs the $sql query on the server to insert the values
if ($li->query($gb_query) === TRUE) {
echo 'users entry saved successfully';
}
else {
echo 'Error: '. $li->error;
}
/*
$sql = mysql_query($gb_query);
$res = mysql_affected_rows($sql);

// See if insert was successful or not
if($res > 0) {
$ret_str="Your guestbook entry was successfully added.";
} else {
$ret_str = "Your guestbook entry was NOT successfully added.";
}

// Append success/failure message
$gb_str .= "<span class=\"ret\">$ret_str</span><BR>";
*/
}
?>

GuestBook list

<?php

$get_query = "select gbName, gbEmail, gbComment,
DATE_FORMAT(gbDateAdded, '%m-%d-%y %H:%i') gbDateAdded
from guestbook";

$result = $li->query($get_query);
$gb_str .= "<hr size=\"1\">";

if ($result->num_rows > 0) {
// output data of each row from $result
while($row = $result->fetch_assoc()) {
$name = $row["gbName"];
$email = $row["gbEmail"];
$comment = $row["gbComment"];
$date = $row["gbDateAdded"];

if(!empty($name)) {
// If name exists and email exists, link name to email
if(!empty($email)) {
$name="by <a href=\"mailto:$email\">$name</a>";
}
// If name does exist and email exists, link email to email
} else if (!empty($email)) {
$name = "by <a href=\"mailto:$email\">$email</a>";
} else {
$name = "";
}

// Append to string we'll print later on
$gb_str .= "<br>$comment<p class=\"small\">
posted on $date $name<hr size=\"1\">";
}}

?>

The HTML Page

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML>
<HEAD>
<TITLE>Guestbook</TITLE>
<SCRIPT language="javascript">
<!--

/* This function is pulled from a generic validation file from
some other site (probably developer.netscape.com) and strips out
characters you don't want */

function stripCharsInBag (s, bag) {
var i;
var returnString = "";

// Search through string's characters one by one.
// If character is not in bag, append to returnString.

for (i = 0; i < s.length; i++)
{
// Check that current character isn't whitespace.
var c = s.charAt(i);
if (bag.indexOf(c) == -1) returnString += c;
}
return returnString;
}

// This function just makes sure the comment field is not empty

function valForm(frm) {
badChars = "<[]>{}";
if(frm.frmComment.value == "") {
alert("Please fill in your comments for the guestbook.");
return false;
} else {
frm.frmComment.value = stripCharsInBag(frm.frmComment.value, badChars);
// These values may be empty, but strip chars in case they're not
frm.frmName.value = stripCharsInBag(frm.frmName.value, badChars);
frm.frmEmail.value = stripCharsInBag(frm.frmEmail.value, badChars);
return true;
}
}

-->
</SCRIPT>
</HEAD>

<BODY bgcolor="#FFFFFF">
<?php echo $gb_str; ?>

<form name="gb" action="<? echo $PHP_SELF;?>" method="post">
<table cellpadding="3" cellspacing="0" border="0">
<tr>
<td class="tdhead" valign="top" align="right">Name</td>
<td valign="top">
<input type="text" name="frmName" value="" size="30"
maxlength="50">
</td>
</tr>
<tr>
<td class="tdhead" valign="top" align="right">Email</td>
<td valign="top">
<input type="text" name="frmEmail" value="" size="30"
maxlength="100">
</td>
</tr>
<tr>
<td class="tdhead" valign="top" align="right">Comment</td>
<td valign="top">
<textarea name="frmComment" rows="5" cols="30"></textarea>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="submit"
onClick="return valForm(document.gb)">
<input type="reset" name="reset" value="reset">
</td>
</tr>
</table>
</form>

</BODY>
</HTML>

<?php
// Close MySQL Connection
$li->close();
?>

最佳答案

第二个问题回答,你没有将查询结果分配给变量并且 mysql_affected_rows 也是空的。

$gb_query =     "insert into guestbook
values(0, '$name', '$email', '$comment', '$date')";

$sql = mysql_query($gb_query);
$res = mysql_affected_rows($sql);

关于本地主机上的 php 错误 : Access forbidden! 错误 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12819362/

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