无法从 php 中的 post 获取 textarea 值
Posted
技术标签:
【中文标题】无法从 php 中的 post 获取 textarea 值【英文标题】:cannot get textarea values from post in php 【发布时间】:2017-02-27 15:27:36 【问题描述】:Editcontact.php
<form method="post" autocomplete="off" action="savecontact.php" id="form" name="form">
<table>
<tr>
<td>Specific Address in Office</td>
<td><textarea name="txtspecificaddress" id="txtspecificaddress" rows="4" cols="50" placeholder="Type specific address within the office. e.g. Room Number, Section Name or Division Name etc."><?php echo $_SESSION['oldspecificaddress']; ?></textarea></td>
</tr>
</table>
</form>
关于 savecontact.php, 我正在检索 'txtspecificaddress' 值
if(isset($_POST['txtspecificaddress']))
$specificaddress=mysqli_real_escape_string(trim($_POST['txtspecificaddress'] ));
echo $specificaddress;
但它什么也没显示。我检查了 $_SESSION['oldspecificaddress'] 的值。有人可以帮忙吗?我是 PHP 新手。
【问题讨论】:
因为你错误地使用了mysqli_real_escape_string
...请查看手册php.net/manual/en/mysqli.real-escape-string.php的外观
阅读转义功能手册
没有表单更新?
您没有提交按钮,您是如何提交表单的?
将ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
添加到脚本的顶部。这将强制任何mysqli_
错误生成一个您不能错过或忽略的异常。
【参考方案1】:
用 mysqli 试试这个:
<?php
$mysqli = new mysqli("localhost", "root", "", "database_name");
if(isset($_POST['txtspecificaddress']))
$specificaddress = $mysqli->real_escape_string(trim($_POST['txtspecificaddress']));
echo $specificaddress;
或者试试这个
if(isset($_POST['txtspecificaddress']))
$specificaddress = trim($_POST['txtspecificaddress']);
echo $specificaddress;
【讨论】:
为什么 OP 应该“试试这个”? 好的答案将始终解释所做的事情以及为什么以这种方式完成,不仅是为了 OP,也是为了 SO 的未来访问者。跨度> 【参考方案2】:mysqli_real_escape_string()
需要 2 个参数,而您只传递了 1 个参数。
【讨论】:
@JayBlanchard:不,他不是。请仔细检查问题。他使用的是程序风格。 哎呀,我的错,你是对的。当我输入时,我正在查看另一个答案。不是我的 DV,但您可以通过向 OP 展示如何在其代码中使用该函数来获得 UV。以上是关于无法从 php 中的 post 获取 textarea 值的主要内容,如果未能解决你的问题,请参考以下文章
为啥 PHP 无法从 Js FormData fetch 中获取 $_POST 数据?