2016-06-17 14 views
0

に格納し、例えばdomain.com/?id=usernameURLからIDを取得し、私はURLからデータを取得する必要がある変数

ユーザー名は、別のユーザーごとに異なります...彼らはウェブサイトを訪問するとそのようなリンクで、彼らはウェブサイトの周りを移動し、ある時点でフォームに記入することができます。彼らはウェブサイトの周りを移動したので、urlはパスに?id = usernameを持たないので、そのデータをフォームに送信できるように変数にそのデータを格納する必要があります。

私は体内でこのコードを実装する必要があるため、私は、)私は(のob_start使用

(ようにクッキーがセッション/ブラウザ出口の後にリフレッシュします)私はセッションごとのCookieを設定して保存する必要があると仮定ヘッダーは既に送信されています。いくつかの試みの後

ob_start(); 
session_start(); 
$affid = $_GET['id']; 
setcookie('affid',$affid, 0, "/"); 
$finalaffID = $_COOKIE['affid']; 
ob_end_clean(); 
echo '<span class="testoutput">'.$finalaffID.'</span>'; 

、私はこのコードを得たが、私はカップルのページを移動した後、それが値を格納doesntの、それだけで、最初のページの訪問を示しています。

どのようなアイデアをお願いしますか?

+1

docsから: "*クッキーが設定されたら、次のページの読み込み**で' $ _COOKIE'配列でアクセスできます* "http://php.net/ manual/en/function.setcookie.php – Qirel

+2

IDをセッションに保存するので、どのページでも使用できます: '$ _SESSION [" id "] = $ _GET [" id "];'フォームやクッキーは必要ありません(すべてのページで 'session_start();'を忘れないでください)。 –

+0

"*セッションごとにCookieを設定して保存する必要があると仮定します(セッション/ブラウザの終了後にCookieが更新されるようにする)*"はい、ブラウザを閉じるとセッションが破棄され、Cookieの有効期間が長くなります。そのページ上でクッキーの内容を使いたい場合は、再読み込みの前に '$ affid'を使い、ページを更新した後、あるいは別のページにアクセスした後に' $ _COOKIE ['affid'] 'を使うことができます。 – Qirel

答えて

1

セッション変数を使用できます。

$_SESSION["id"] = $_GET["id"]; 

このセッション変数は、セッションが開いている場所であればどこでもアクセスできます。 $_SESSION["id"]と呼んでください。

のindex.php

URL:www.domain.com/?id=user

<?php 
     session_start(); 
     if (isset($_GET["id"])) { 
       $_SESSION["id"] = $_GET["id"]; 
    } 
?> 

otherpage.php

URL:www.domain.com/otherpage.php

<?php 
session_start(); 
if (isset($_SESSION["id"])){ 
echo $_SESSION["id"]; 
} 
?> 
+0

助けを借りてくれてありがとう。 $ _SESSION ["id"] = $ _GET ["id"];これは最初のページの読み込み時にエコーを表示したときに表示されますが、他のページに移動すると何らかの理由で何も表示されません。 – Domeniko

+0

@ArchieVigaca '$ _SESSION'を使用しようとするすべてのページは、セッションを使用しようとしているすべてのページ*上の出力の前に' session_start(); 'を呼び出さなければなりません。 – Qirel

+0

そのページで 'session_start();'も呼び出さなければなりません。 – Buildersrejected

1

Joseは、セッションでIDを保存することについて正しいです。 Cookie vs Session for Storing IDs

ただし、クッキーとして保存したい場合は、このコードにIDを保存してください。

$id = $_GET['id']); 
setcookie('id', $id); 

このコードでは、IDを取得できます。

echo $_COOKIE['id']; 
+0

ありがとう@ray Li。私はセッション変数のオプションを使用しましたが、あなたのソリューションも機能しました。 – Domeniko

+0

セッションを使用する方法があります。クッキーよりもはるかに良く、アップデートも簡単です:-) –

関連する問題