从URL变量中获取值。 PHP。表单使用POST方法

时间:2015-04-24 23:02:01

标签: php post get

我想从文本框中保存文本。 我想在URL中获取idForo的值。

http://localhost/foro1/indice.php?idForo=1

我收到错误

Notice: Undefined index: idForo in C:\xampp\htdocs\foro1\indice.php on line 44

控制器

if (isset($_GET['newAnswer'])){
    $idForo=$_POST['idForo']; /*line 44*/
    $newAnswer=$_POST['newAnswer'];
    //Save new answer using PDO
    header("Location:indice.php?idForo=$idForo");

}

表格

<form method='post' action='indice.php'>
            <textarea rows='7' cols='60' name='newAnswer' required></textarea> <br>
            <input type='submit' class='responder' value='Responder' name='comentario'>
</form>

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

要从查询字符串中获取变量,您需要使用$_GET$_POST表示通过HTTP POST方法发送到脚本的数据。

您还出于某种原因翻译(?)textarea的帖子变量名称?

尝试:

if (isset($_POST['nuevaRespuesta'], $_GET['idForo'])) {
    $idForo = $_GET['idForo']; /*line 44*/
    $newAnswer = $_POST['nuevaRespuesta'];
    //Save new answer using PDO
    header("Location: indice.php?idForo=$idForo");
}

答案 1 :(得分:1)

要获取变量的值,您需要使用$_GET

在您的示例中,您只需要执行此操作:

$idForo = $_GET['idForo'];

这将从您网址中的变量创建一个新变量$idForo。希望这会有所帮助。

要将变量放入表单,您需要将第一行更改为:

<form method='post' action='indice.php?idForo=<?php $idForo ?>'>

答案 2 :(得分:1)

idForo可能不在$ POST数组中,因此请使用以下内容来允许该场景:

  if(isset($_GET['idForo'])) {
    $idForo = $_GET['idForo'];
  } else {
    $idForo = null;
  }