4

あるページから別のページに値を渡すことができますが、次のように値を渡す必要があります。

ページ1:

Page4.php

Page3.php

Page1.php のテキスト フィールドの値を Page2.php のテキスト フィールドに渡す必要があります。フォームは直接 page2 にリダイレクトされないため、値を渡すことができません。セッション、フォーム ポスト メソッドを試しました。他の方法はほとんどありませんが、まだ成功していません。

コードまたはいくつかの提案を手伝っていただければ幸いです。

ありがとう!

編集..........

私は答えを見つけました、助けてくれてありがとう、それは実際には私の側の不注意な間違いでした.$_sessionの代わりに$_postを使用しました。

その作業は今。

助けてくれてありがとう。

4

2 に答える 2

7

次のようなものを使用します。

page1.php

<?php
session_start();
$_SESSION['myValue']=3; // You can set the value however you like.
?>

その他の PHP ページ:

<?php
session_start();
echo $_SESSION['myValue'];
?>

ただし、留意すべきいくつかの注意点がありsession_start()ます。出力、HTML、エコー、さらには空白の前に呼び出す必要があります。

セッション内で値を変更し続けることができますが、最初のページの後にのみ使用できます。つまり、1 ページ目に設定すると、別のページに移動するか、ページを更新するまで使用できません。ページ。

変数自体の設定は、いくつかの方法のいずれかで行うことができます。

$_SESSION['myValue']=1;
$_SESSION['myValue']=$var;
$_SESSION['myValue']=$_GET['YourFormElement'];

また、潜在的なエラーが発生する前に変数が設定されているかどうかを確認するには、次のようにします。

if(!empty($_SESSION['myValue'])
{
    echo $_SESSION['myValue'];
}
else
{
    echo "Session not set yet.";
}
于 2012-09-26T09:05:11.470 に答える
4

POST のみを使用したソリューション - $_SESSION なし

page1.php

<form action="page2.php" method="post">
    <textarea name="textarea1" id="textarea1"></textarea><br />
    <input type="submit" value="submit" />
</form>

page2.php

<?php
    // this page outputs the contents of the textarea if posted
    $textarea1 = ""; // set var to avoid errors
    if(isset($_POST['textarea1'])){
        $textarea1 = $_POST['textarea1']
    }
?>
<textarea><?php echo $textarea1;?></textarea>

$_SESSION と POST を使用したソリューション

page1.php

<?php

    session_start(); // needs to be before anything else on page to use $_SESSION
    $textarea1 = "";
    if(isset($_POST['textarea1'])){
        $_SESSION['textarea1'] = $_POST['textarea1'];
    }

?>


<form action="page1.php" method="post">
    <textarea name="textarea1" id="textarea1"></textarea><br />
    <input type="submit" value="submit" />
</form>
<br /><br />
<a href="page2.php">Go to page2</a>

page2.php

<?php
    session_start(); // needs to be before anything else on page to use $_SESSION
    // this page outputs the textarea1 from the session IF it exists
    $textarea1 = ""; // set var to avoid errors
    if(isset($_SESSION['textarea1'])){
        $textarea1 = $_SESSION['textarea1']
    }
?>
<textarea><?php echo $textarea1;?></textarea>

警告!!!- これには検証が含まれていません!!!

于 2012-09-26T09:16:26.170 に答える