2012-03-01 7 views
1

可能性の重複:

$search = $_POST['s']; 
$search = strtoupper($search); 
$search = strip_tags($search); 
$search = trim($search); 
$search = mysql_real_escape_string($search); 

私は私の第二に$の検索変数に持ち運びできるようにする必要があり、第三:
PHP Pass variable to next page

ここでは私の現在のコードです、等、ページ。

は、私はPHPの初心者だと私は一種のここ

+2

[PHPセッション](http:// w ww.php.net/manual/en/book.session.php)。 '$ _SESSION'スーパーグローバルは、ページ間に情報を格納することを可能にします。 – Bojangles

+2

を参照してください。http://stackoverflow.com/questions/871858/php-pass-variable-to-next-page –

答えて

1

こだわっセッションがここにあなたの友人であることを表示されます。最も簡単な形式では、セッションはユーザーのブラウザとの間で送受信されるCookieにデータを格納するだけです。セッションで何かをする前にsession_start()に電話してください。これにより、ユーザーのセッションが開始または再開されます。その後、$_SESSIONをグローバル連想配列として使用して、ページ間で保持することができます。

Xanderはすでにドキュメントにリンクしています。Here are some simple examplessession_start()を理解していなければ、いくつかのバグがあります。

N.B.機密データにこの基本セッション形式を使用しないでください。 memcacheのようなものを使ってデータを保存し、memcacheキーを$ _SESSIONに入れるだけです。また、セッションを暗号化することを検討してください。それらはあなたが$_SESSIONは別のオプションが隠されたフィールドを使用することで、提案(同じ名前で、適切な値で満たされている)してきたが、その後にユーザー認証/ログイン

1

を扱うときに考えなければならない、より高度なものです生成されたページ。これらのページが転記されると、フィールドも$_POSTS(この時間は隠しフィールドで提供され、元のテキストフィールドでは提供されません)で利用可能になります。

利点:

  • "現在のページにバインドされました"。いくつかのために本当に良いページ状況依存のもの! (セッションはブラウザ、ないページにスコープされています。)
  • (セッションが既に他の目的のために必要とされる場合に非問題である)セッション/クッキーの必要性を回避します。

短所は:「現在のページにバインドされた」

  • :バック/次のコンテキストの外側から離れてナビゲートしたときに値が失われます。 (Bert氏のメモによると、この「ブレッドクラム(breadcrumb)」アプローチを使用してURLを変更し、GETパラメータを使用することで、データを永続的に永続させることができます)。
  • データは元の投稿と同じようにが信頼できず、安全でないと処理されました。
  • [隠された]フィールドの追加が必要です。

ハッピーコーディング。あなたは

$search = $_POST['s']; 
$search = strtoupper($search); 
$search = strip_tags($search); 
$search = trim($search); 
$search = mysql_real_escape_string($search); 

最初のページにある検索varaible

にアクセスするページのそれぞれにおける

+0

mysql_real_escape_string **は「ハック・ア・バウト」ではありません。唯一のこの関数の欠点は、平均的なPHPユーザーがそれをどのように使用するか分からないという事実です。 –

+0

@ Col.Shrapnel私は同意しません。 **は手動SQL文字列構築**の悪い習慣を促進し続けています。 * mysqli'と* 'PDO'の両方が多くのPHPシステムで利用可能であることを考慮すると、他の現代的な広範なプログラミング言語で使われていない古いアプローチ*を防御する理由はありません** 。なぜなら、mysql_real_escape_stringのために嫌なことがあれば、それは答えに無関係だからです。) –

+0

ああ、私の* * *へのその古い物語を歩いてはいけません。はい? –

0

使用session_start()はeveryotherページ

で、その後

$_SESSION['searchStr']=$search 

とセッション変数を設定します

session_start(); // at the very begining 

if(isset($_SESSION['searchStr'])) { 

    $search=$_SESSION['searchStr'] 
} 

まず、ちょうどGETメソッドを使用してクエリ文字列で検索変数を渡す 次へ]を、GETするためのフォームのメソッドを変更:

1

それは検索文字列であると仮定すると、のみまともな方法があります。

あなたは適用する必要が唯一の変更はurlencode()

だから、コードはHTMLコードを生成する

$query_string = 'search='.urlencode($_GET['search']); 
echo "<a href='?page=2&$query_string'>page 2</a>"; 

あるべきである

<a href="?page=2&search=search+string">page 2</a> 

ので、ユーザは、このリンクをクリックしてすることができますあなたの検索文字列を返します

関連する問題