0

私は2つのphpページを持っています。最初のphpページは次のとおりです。

<?php
  //code...
  if(isset($_POST['value'])== true && empty($_POST['value']) == false){
    echo"<a href='search_form_all_2.php'>See more results for </a>"; 
} ?>

2 ページ目は「search_form_all_2.php」です。

<?php

$value = mysql_real_escape_string($_POST['value']);

$name_and_surname = explode(" ", "$value ");

$name = $name_and_surname[0];

$surname = $name_and_surname[1]; 

$query = mysql_query(" SELECT `name`, `surname`, `email`, `user_id` FROM users 
   WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE
   '$surname%' AND name LIKE '$name%')  ");

while($run = mysql_fetch_array($query)){
    $surname = $run['surname'];
    $name = $run['name'];
    echo"$surname $name  "; 
}
?>

最初のページの最初のページの値を取得するために、「search_form_all_2.php」で $value を作成したいと思いif(isset($_POST['value'])== true && empty($_POST['value']) == false)ます。「search_form_all_2.php」を実行するとエラーメッセージが表示されるため、これを行うにはどうすればよいですか:Notice: Undefined index: value

4

3 に答える 3

1

この場合、GET を使用する必要があります。POST 値は、フォームが送信されたときにのみ送信されます。

if(isset($_POST['value'])== true && empty($_POST['value']) == false){
    echo "<a href='search_form_all_2.php?value=".urlencode($_POST['value'])."'>See more results for </a>";  

次に、2 ページ目で GET 値を取得します

$value = mysql_real_escape_string($_GET['value']);

GET 値はユーザーに表示されることに注意してください。これらは URL の一部です。機密情報を送信しないでください。

もう 1 つの方法は、値を COOKIE または SESSION 変数に保存することです。

setcookie("TestCookie", $_POST['value']);
$value  = $_COOKIE["TestCookie"];

ところでempty()、常にブール値を返し、変数が設定されているかどうかを既にチェックしているため、必要なのは次のとおりです。

if(!empty($_POST['value'])
于 2013-07-02T16:11:11.550 に答える