0

我的文件夹中有 2 个 php 文件。在 page1.php 中有一个 textarea,用户应该在其中输入一些值。在 page2.php 中,它将抓取 textarea 中的内容并使用它的程序。但是我找不到在 textarea 中获取值的命令。有人能帮我吗?

page1.php:

<?
$hello = "hello";
?>
<html>
<input type = "text" name = "user_input">
</input>
</html>

page2.php

<?
ob_start();
include 'page1.php';
ob_end_clean(); 
echo $hello;
?>

那么,有没有人可以解决这个问题?=/

4

4 回答 4

2

在 page2.php 中使用$_GET$_POST

page1.php

<?
 $hello = "hello"; 
?>
<html>
<form method="get" action="page2.php" enctype="multipart/form-data">
<input type = "text" name = "user_input">
<input type="submit">
</form>
</html>

page2.php

<?
$text=$_GET['user_input'];
ob_start();
include 'page1.php';
ob_end_clean(); 
echo $hello;
echo $text;
?>
于 2012-07-27T07:16:18.663 回答
1

您可以使用$_GET['user_input']$_POST['user_input']

不同之处在于,您可以在使用方法时看到 url 中的数据(每个人都可见),GET而不是在其他方法中。

此外,始终<input>在 a 中使用元素(您要传递给另一个文件)<form>并指定action="file.php"要传递数据的位置,以及方法,或者method="get"method="post",例如;

<form method="get" action="page2.php">

还指定在目标文件中获取数据的方法,例如;

$text=$_GET['user_input'];或者$text=$_POST['user_input'];

在你的情况下,你可以使用;

方法一

<?php
 $hello = "hello"; 
?>
<html>
<form method="get" action="page2.php">
<input type="text" name="user_input">
<input type="submit">
</form>
</html>

page2.php

<?php
$text=$_GET['user_input'];
echo $text;
?>

方法二

<?php
 $hello = "hello"; 
?>
<html>
<form method="post" action="page2.php">
<input type="text" name="user_input">
<input type="submit">
</form>
</html>

page2.php

<?php
$text=$_POST['user_input'];
echo $text;
?>

如果您想在多个页面上共享数据,您可以使用PHP Session或将数据保存在 cookie 中。

1. 使用会话

<?php
session_start(); 
$_SESSION['data'] = 1; // store session data
echo "Pageviews = ". $_SESSION['data']; //retrieve data
?>

确保session_start();在要处理会话的每个页面上添加

您可以在此处阅读有关 php 会话的更多信息www.tizag.com/phpT/phpsessions.php/

2. 使用 Cookie

<?php
setcookie("user", "Alex Porter", time()+3600);
?>

并使用

echo $_COOKIE["user"];

您可以在此处阅读有关 php 会话的更多信息http://www.w3schools.com/php/php_cookies.asp

希望这可以帮助...:)

于 2012-07-27T07:23:24.670 回答
0

基本上,您的 page1.php 是一个带有某种形式的页面,其中包含一个文本区域。现在用户必须填写它并将表单提交给 page2.php。您不能像那样回显它的内容,因为这将在浏览器上受用户操作的影响。使用表单并将数据提交到 page2.php。像这样:

page1.php

<html>
    <head>
    </head>
<body>
    <form action="page2.php" method="post">
    <textarea name="t1">
    </textarea>
    </form>
</body>
</html>

page2.php

<?php
$textAreaContents = isset($_POST['t1'])?$_POST['t1']:'';
echo "You submitted: ".$textAreaContents;
?>
于 2012-07-27T07:22:46.540 回答
0

如果我是你,我应该为此使用会话。那是他们被制造的地方..

示例:当用户单击提交时。

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
  {
    $_SESSION['post'] = $_POST;
  }

这就是将每个 post 变量放入会话的地方。你的输入框将是这样的..

<textarea name="message" type="text" value="" rows="0" cols="0" placeholder=""  ><?php if(isset($_SESSION['post'])){echo $_SESSION['post']['message'];}  ?></textarea> 
?>

请注意,您现在可以通过 echo 使用您在表单中使用的每个 post 变量(示例)

echo $_SESSION['post']['message']

其中 message 是输入框的名称。在这种文本区域的情况下

当你不想再使用会话时,不要忘记最后使用 session_destroy(); 否则,您将继续以您的形式拥有它。并且不要忘记 session_start(); 在您计划使用会话的每一页上方(它必须始终位于文档的第一行)

于 2012-07-27T07:56:06.380 回答