【问题标题】:cannot get textarea values from post in php无法从 php 中的 post 获取 textarea 值
【发布时间】: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_ 错误生成一个您不能错过或忽略的异常。

标签: php post textarea


【解决方案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。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 2020-06-04
  • 2020-10-21
  • 2014-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多