0

私のフォルダには2つのphpファイルがあります。page1.php にはテキストエリアがあり、ユーザーはそこに値を入力する必要があります。page2.php では、テキストエリアにあるものを取得し、そのプログラムで動作します。しかし、テキストエリアの値を取得するコマンドが見つかりません。誰かが私を助けることができますか?

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

$_GETor$_POSTを page2.php で使用する

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']

GET違いは、他のメソッドではなくメソッドを使用すると、URL でデータを表示できる (全員に表示される) ことです。

また、常に<input>a 内で要素 (別のファイルに渡したい) を使用し、データを渡したい場所に 、メソッド、または、のいずれか<form>を指定します。action="file.php"method="get"method="post"

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

また、ターゲット ファイル内のデータを取得する方法も指定します。

$text=$_GET['user_input'];また$text=$_POST['user_input'];

そしてあなたの場合、あなたは使うことができます;

方法 1

<?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;
?>

方法 2

<?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 セッションを使用するか、データを 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. クッキーの使用

<?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

私があなたなら、これにはセッションを使用する必要があります。それが彼らが作られた場所です..

例: ユーザーが送信をクリックしたとき。

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

これは、すべての投稿変数がセッションに配置される場所です。入力ボックスは次のようになります..

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

フォームで使用したすべての投稿変数を echo で使用できるようになったことに注意してください (例)

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

ここで、メッセージは入力ボックスの名前です。この場合、テキストエリア

セッションをもう使用したくない場合は、最後に session_destroy(); を使用することを忘れないでください。そうしないと、それをフォームに保持し続けることになります。session_start(); を忘れないでください。セッションを使用する予定のすべてのページの上 (常にドキュメントの 1 行目にある必要があります)

于 2012-07-27T07:56:06.380 に答える
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 に答える