首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用PHP更新数据所需的编辑表单帮助

使用PHP更新数据所需的编辑表单帮助
EN

Stack Overflow用户
提问于 2012-01-06 12:59:58
回答 3查看 8.4K关注 0票数 1

我正在尝试用正确的信息更新我的表格,链接到下面的ID。我会把代码张贴出来,这样你们都可以看一看。

这就是我的问题:一旦我提交了包含从数据库收到的所有详细信息的表单,一切都会成功。但当我单击submit时,它会重定向到我的另一个名为update_ac.php的页面。一切正常,除了mysql表中的数据不会更新。

我想知道是否有人可以看一看代码,看看他们的想法:非常感谢和反馈将是非常棒的。另外,我不是最好的PHP程序员,还在学习!

下面是edit.php -用户编辑他们的信息的地方:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
session_start();
$UserName = $_SESSION['UserName'];
require("checkLoginSession.php");
$adminid = $_GET['id'];

//CONNECTION CODE WAS HERE

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");


echo("Logged In As: $UserName");
echo "<br />";
echo("We are editing Data for ID: $adminid");
echo "<br />";
echo "<a href=test.php>Go back to panel</a>";

$id=$_GET['id'];
// Retrieve data from database 
$sql="SELECT * FROM admin WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());

$rows=mysql_fetch_array($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>&nbsp;</td>
<td colspan="3"><strong>Update data in mysql</strong> </td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Main Content</strong></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="center"><input name="name" type="text" id="name" value="<? echo $rows['name']; ?>"></td>
<td align="center"><input name="mainContent" type="text" id="mainContent" value="<? echo $rows['mainContent']; ?>" size="15"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>"></td>
<td align="center"><input type="submit" name="Submit" value="Submit"></td>
<td>&nbsp;</td>
</tr>
</table>
</td>
</form>
</tr>
</table>

<?
mysql_close();
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Edit Page</title>
</head>

<body>
<h2>Edit Page (<?php echo ("$adminid"); ?>)</h2>
</body>
</html>

下面是update_ac.php:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// update data in mysql database 

$firstName = $_POST["name"];
$mainText = $_POST["mainContent"];

$sql="UPDATE admin SET name='$firstName', mainContent='$mainText' WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());;

// if successfully updated. 
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='test.php'>Back to panel</a>";
}

else {
echo "ERROR";
}

?>

好的,大家在这里编辑:

如果在Update_ac.php中,我将以下行改为以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sql="UPDATE admin SET name='$firstName', mainContent='$mainText' WHERE id='1'";

信息现在得到了更新,因此意味着我的ID变量出了问题

EN

回答 3

Stack Overflow用户

发布于 2012-01-06 13:13:12

看起来像数据库转义的典型省略。您需要在上对您在sql查询中连接的任何字符串应用mysql_real_escape_string

惰性版本是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$_POST = array_map("mysql_real_escape_string", $_POST);
$firstName = $_POST["name"];
$mainText = $_POST["mainContent"];

否则你经常会得到一个无效的语法错误。在查询之后使用print mysql_error();来找出您的案例中出了什么问题。

另请参阅String escaping for each database或在pdo上阅读,了解更少繁琐的数据库交互。

票数 1
EN

Stack Overflow用户

发布于 2012-01-06 13:08:17

快速浏览一下,这是因为您使用的是变量,而不是$_POST变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sql="UPDATE admin SET name='$firstName', mainContent='$mainText' WHERE id='$id'";

应该是带有表单域名称的post变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sql="UPDATE admin SET name='$_POST['firstName'], mainContent='$_POST['mainText']' WHERE id='$_POST['id']'";

如果您随后将$id变量放在表单中的隐藏输入字段中,该文件也会将其提取出来。

只是简单的回答因为我要出去吃午饭。

票数 0
EN

Stack Overflow用户

发布于 2012-01-06 13:38:32

这只是update_ac.php中的语法错误

您在下面的代码行中使用了2个分号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$result=mysql_query($sql) or die(mysql_error());;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8758165

复制
相关文章
前端表单帮助文档
1.单选框 @Html.RadiosFor("Sex", "09:30-10:30", new string[] { "1", "2", "3" }, new string[] { "男", "女", "未定" }) 获取选中值 //radio改变时候获取到值 $('input[type=radio][name=TimeBetween]').change(function () { var val =$("input[name='TimeBetween']:checked
用户1149182
2020/10/28
2.1K0
前端表单帮助文档
php-验证表单数据
浏览量 1 <?php // 定义变量并默认设置为空值 $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQU
kdyonly
2023/03/03
1.2K0
PhpSpreadsheet_php获取表单数据
在利用php读取Excel时,当前(2019年)流行的做法是利用composer安装PhpSpreadsheet(composer require phpoffice/phpspreadsheet)来操作,示例代码如下:
全栈程序员站长
2022/10/05
1.9K0
PHP使用ewebeditor编辑器
我测试版本是v3.8:(可以自己下载) 文件结构: 第一:把文件解压到网站根目录的一个文件夹下面(这样大家可以公用一个编辑器) 第二:精简文件(可以把_开头的那个文件夹删除了,这个是例子文件夹),然后把admin文件夹下的login.php文件改为index.php(说明以后再表。。。) 第三:修改文件(解决编辑器在ie下按钮不能使用问题,因为。。。。) ie8屏蔽了anonymous方法,所以要改成click方法。 因为ewebeditor的代码是这么写的:if (element.YUSERONC
苦咖啡
2018/05/07
1.8K0
PHP获取表单textarea数据中的换行问题
1.PHP函数nl2br()是在字符串中的每个新行(\r\n)之前插入HTML换行符:<br/>;
用户7657330
2020/08/14
2.9K0
PHP表单数据写入MySQL代码
参考:http://www.cnblogs.com/roucheng/p/phpmysql.html
全栈程序员站长
2022/07/15
9110
PHP-表单提交数据的两种方式
1.3 表单提交数据的两种方式 1.3.1 两种方式 1、get 2、post <form method="post" action=""></form> <form method="get" a
cwl_java
2020/03/26
2.1K0
PHP怎么使用OpenSSL生成RSA加解密所需要的公私钥?
RSA算法是现今使用最广泛的公钥密码算法,也是是号称地球上最安全的加密算法,与 md5 和 sha1 不同,到目前为止,也只有极短的RSA加密被破解
沈唁
2018/08/21
1.5K0
PHP怎么使用OpenSSL生成RSA加解密所需要的公私钥?
PHP批量增加、删除、更新数据
<?php echo “<form method=’post’ name=’form1′ action=’#’>”; echo “<table border=1>”; while($row=my
苦咖啡
2018/05/07
2.7K0
php curl 版本更新,php curl 更新
项目服务器使用的是阿里云centos6.8,默认的 curl 版本为7.19.您可以通过phpinfo()来查看版本或者shell
高久峰
2023/07/02
5260
FCK编辑器使用详解(PHP版本)
前些日子(很久了),胡乱捣鼓了一番FCK编辑器的使用,结果还是没有捣鼓明白个所以然(今天又想起来fck的强大,我以前见到的只是它的冰山一角) 今天是按照一下过程完全配置了一遍,并且我也通过测试了。 我用的是fckeditor_2.6.6.0.zip(多国语言版本)(下载地址:http://ckeditor.com/) 一、解压fckeditor文件夹下除了: fckeditor.js fckeditor.php fckconfig.js fckedtior_php4.phpfckeditor_php
苦咖啡
2018/05/07
2.1K0
自定义表单编辑器
其实这个编辑器要想做的很好的话估计会很费劲(图片,大段文本,绝对定位,样式,自定义INPUT组件、页面脚本等各种复杂的功能),目前只是做了一个雏形出来,最终的目的是为了能够在线的编辑自定义表单并且让流程可以使用这个自定义表单。做复杂了还需要结合具体的项目来修改,否则量实在是太大了。
前Thoughtworks-杨焱
2021/12/07
8960
自定义表单编辑器
PHP自动生成表单的Form类
<?php //Form.php class form { var $layout=true;//是否使用表格布局 var $action;//表单要提交到的URL va
用户8983410
2021/09/22
1.8K0
PHP过滤表单字段
从post来的进行addslashes后就可存入数据库了,取出后直接echo即可 普通的文本: 1.htmlspecialchars接着addslashes存入数据库,取出后直接echo即可。 2.addslashes存入数据库,取出后htmlspecialchars输出。 说明: addslashes仅仅是为了让原来的字符正确地进入数据库。 htmlspecialchars是吧html标签转化掉。
黄啊码
2020/05/29
3.1K0
PHP数据库的查询和更新(一)
在PHP中,您可以使用SELECT语句来查询数据库。以下是一个MySQLi查询示例:
堕落飞鸟
2023/04/27
1.4K0
PHP数据库的查询和更新(二)
在PHP中,您可以使用UPDATE语句来更新数据库。以下是一个MySQLi更新示例:
堕落飞鸟
2023/04/27
1.3K0
php将表单中数据传入到数据库
1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <title>无标题文档</title> 5 </head> 6 7 <body> 8 <form action="" method="post">//创建表单 9 姓名 10 <input type="text" name="str"> 11 <input type="submit" name="submit
码缘
2019/09/11
2.2K0
点击加载更多

相似问题

Php + mysql编辑\更新表单

147

编辑flash文件所需的帮助

10

所需的PHP、Javascript帮助

25

通过html表单和php脚本所需的SQL数据库帮助

42

编辑ini文件所需的脚本帮助

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文