web-dev-qa-db-ja.com

PHPスクリプト間で変数を渡す方法は?

PHPスクリプト間で値と変数を渡す方法はありますか?

正式には、ログインページをコーディングしようとしましたが、ユーザーが最初に間違った入力を入力すると、別のスクリプトが入力をチェックし、それが間違っている場合、サイトは最後のスクリプトページに戻り、「入力が間違っています」などの警告を表示します。この目的のために、私は推測するスクリプトから値を渡す必要があります。

よろしく...:P

12
erogol

GETを介して情報を渡すには

    header('Location: otherScript.php?var1=val1&var2=val2');

セッション

    // first script
    session_start(); 
    $_SESSION['varName'] = 'varVal';
    header('Location: second_script.php'); // go to other

    // second script
    session_start(); 
    $myVar = $_SESSION['varName'];

Postthis を見てください。

20
Tanner Ottinger

できませんinclude(またはinclude_onceまたはrequire)他のスクリプト?

3
Albireo

セッション変数 を調べる必要があります。これには、特定の参照番号(「セッションID」)にリンクされたサーバーにデータを保存することが含まれます。この参照番号は、各リクエストでブラウザから(通常はCookieとして)送信されます。サーバーは、同じユーザーがページにアクセスしていることを確認でき、$_SESSIONこれを反映するスーパーグローバル。

例えば:

a.php

session_start(); // must be called before data is sent

$_SESSION['error_msg'] = 'Invalid input';

// redirect to b.php

b.php

<?php

session_start();

echo $_SESSION['error_msg']; // outputs "Invalid input"
3
lonesomeday

簡単な方法は、グローバル変数またはセッション変数を使用することです。

global $variable = 'something';

それを行うための「より良い」方法は、スクリプトをインクルードし、次のようにパラメータで変数を渡すことです

// script1.php contains function 'add3'
function add3( $value ) {
  return $value + 3;
}

// script2.php
include "script1.php";
echo 'Value is '.add3(2); // Value is 5
1
Dan Blows

以下を使用できます。

  • 一時ファイル(例 tempnam() )、
  • キャッシュ(NoSQL: memcachedredis )、
  • セッション変数( $_SESSION )ですが、最初にセッションを開始する必要があります。
0
kenorb

extract()メソッドを使用して、変数をPHP Scriptsの間で渡します。以下の例のようになります。

1。ファイルindex.php

<?php
$data = [
    'title'=>'hello',
    'content'=>'hello world'
];
extract($data);
require 'content.php';

2。ファイルcontent.php

<?php 
echo $title;
echo $content;
0
Tran Van Hoang

本当に必要な場合は、変数をキャッシュに格納することもできます。

0
dotslashlu