【问题标题】:Button that makes changes to information within database更改数据库中信息的按钮
【发布时间】:2014-04-12 22:24:27
【问题描述】:

我正在为一个显示某人的名字和姓氏以及为他们提交的祈祷请求的网页编写 PHP 代码。该页面的想法是管理员可以进入并编辑祈祷请求以更正拼写错误、拼写错误的单词等。我正在让数据库填充字段没有问题。我遇到的问题是,当我单击“批准祈祷请求”按钮时,我收到“找不到页面”错误,并且我编辑的信息不会在数据库中更新。任何建议都会非常有帮助。谢谢。

此文件名为 ApproveDenyPrayerRequest。

<?php

$username="XXXXX";
$password="XXXXX";
$database="XXXXX";

$link = mysqli_connect('XXXXXXX', $username, $password, $database);

if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

$query = "SELECT * FROM Request";
$result = mysqli_query($link,$query); //<----- Added link
$row = mysqli_fetch_array($result);

?>

<form method="post" action="ApproveDenyPrayerRequest.php" />

<table>

<tr>
    <td>First Name:</td>
    <td><input type="text" name="first" value="<? echo "$row[Reg_F_Name]" ?>"></td>
</tr>

<tr>
    <td>Last Name:</td>
    <td><input type="text" name="last" value="<? echo "$row[Reg_L_Name]" ?>"></td>
</tr>

<tr>
    <td>Prayer Request</td>
    <td><input type="text" name="phone" value="<? echo "$row[Reg_Request]" ?>"></td>
</tr>

</table>
<input name="add" type="submit" id="add" value="Approve Prayer Request">

</form>

这是包含实际 mySQLi 调用的第二个 CGI 文件。此文件名为 PrayerRequest

<?php

$username="XXXX";
$password="XXXXXXX";
$database="prayer";

mysqli_connect('hostname',$username,$password,$database);
@mysqli_select_db($database) or die( "Unable to select database");
$query = "SELECT * FROM Request";
$query2="UPDATE Request (Reg_F_Name,Reg_L_Name,Reg_Request)";
VALUES ("$row[Reg_F_Name]","$row[Reg_L_Name]","$row[Reg_Request]")
$result = mysqli_query($query);
$row = mysqli_fetch_array($result);
?>

<form method="post" action="ApproveDenyPrayerRequest.php" />

<table>

<tr>
<td>First Name:</td>
<td><input type="text" name="first" value="<? echo "$row[Reg_F_Name]" ?>"></td>
</tr>

<tr>
<td>Last Name:</td>
<td><input type="text" name="last" value="<? echo "$row[Reg_L_Name]" ?>"></td>
</tr>

<tr>
<td>Prayer Request</td>
<td><input type="text" name="phone" value="<? echo "$row[Reg_Request]" ?>"></td>
</tr>

</table>

</form>

【问题讨论】:

  • 确保脚本的路径正确,您是从相对角度调用它。
  • 您在上面看到的文件的代码位于已命名为 ApproveDenyPrayerRequest 的 cgi-bin 中。我尝试进行一些修改,但仍然没有运气。

标签: php sql database database-connection


【解决方案1】:

我们需要知道目录结构。要使此脚本正常工作,您需要在与此脚本文件相同的级别创建一个名为“cgi-bin”的文件夹,然后您需要将“ApproveDenyPrayerRequest.php”放在该文件夹中。

如果 cgi-bin 已经存在,您需要提供正确的路径,即如果它是一个 lvl 上尝试:“../cgi-bin/ApproveDenyPrayerRequest.php”或只使用绝对 URL

【讨论】:

  • 我是 PHP 新手,所以我会尽力描述这一点。 cgi-bin 已经存在,并且文件的代码已经在 cgi-bin 中。您在上面看到的代码的文件名为 ApproveDenyPrayerRequest。我尝试进行一些修改,但仍然没有运气。
  • 这里是第二个 CGI 文件,名为祈祷请求,其中包含 mySQL 调用:
  • 尝试将“/cgi-bin/ApproveDenyPrayerRequest.php”更改为“ApproveDenyPrayerRequest.php”,如果这两个文件都在 cgi-bin 文件夹中,那么该更正将起作用。我怀疑两者都在那个文件夹中
  • 如果相对 URL 给您带来麻烦,请尝试使用绝对 URL。绝对 URL 将是:http://www.yourWebsite.com/Folder/Script.php
  • 这两个文件都在 cgi-bin 文件夹中。例如,当我更改姓氏并单击批准按钮时,当我做出您建议的更改时,它会将信息恢复为最初存储在数据库中的方式。我在尝试查看时发布的第二个文件引发了“内部服务错误”,我认为这就是问题所在。
猜你喜欢
  • 2011-09-27
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-13
  • 1970-01-01
  • 2012-02-01
相关资源
最近更新 更多