无法从 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 中的 $_FILES 获取多个上传的文件

为啥 PHP 无法从 Js FormData fetch 中获取 $_POST 数据?

PHP无法获取POST的数据,可以获取GET数据

如何从 PHP 中的 serializeArray 获取 POST 值?

React 无法从 PHP API 获取响应正文

从 serialize() AJAX 获取 PHP 中的多个/多个 POST 变量的最佳方法是啥?