0

私は少しの挑戦に直面しています。私はウェブサイトとモバイル版も持っています。携帯電話を使用しているユーザーがFacebookなどの別のサイトからのリンクをクリックしたときに、選択したリンクのコンテンツを表示しているモバイルサイトにユーザーをリダイレクトしたいと思います。

成果:

デスクトップバージョンからモバイルページにユーザーをリダイレクトすることができました。

チャレンジ

選択したリンクのコンテンツを表示できません(例: http://passnownow.com/inblog.php? id = 3840#.UToTf3YetfU.twitter ) 。

ユーザーが投稿を検索する必要があるモバイルサイトに移動するだけです。

私に何ができる。

これは私のコードです。

<? include("overall.php");?>
<?

session_start();

require_once('mobile_device_detect.php');

$blackberrystatus = mobile_device_detect(true,true,false,true,true,true,true,false,false);

$androidstatus = mobile_device_detect(true,true,true,true,false,true,true,false,false);

$mobile = mobile_device_detect(true,true,true,true,true,true,true,false,false);
$isMobile = (bool)preg_match('#\b(ip(hone|od)|android\b.+\bmobile|opera m(ob|in)i|windows (phone|ce)|blackberry'.
                    '|s(ymbian|eries60|amsung)|p(alm|rofile/midp|laystation portable)|nokia|fennec|htc[\-_]'.
                    '|up\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\b#i', $_SERVER['HTTP_USER_AGENT'] );

if($_GET["view"]=="full"){

    setcookie("passnownow[client]", "pc", $time + 1209600);

    $_SESSION["client"] = "pc";

    }

if ($_GET["ref"]=="android" or $_GET["ref"]=="blackberry"){

    setcookie("passnownow[client]", "app", $time + 1209600);

    $_SESSION["client"] = "app";


    header('location: mobile/new.php?id=""');

    } else if ($_SESSION["client"]=="pc" or $_COOKIE['passnownow']["client"]=="pc"){



        }else if ($mobile or $isMobile){

    setcookie("passnownow[client]", "mobile", $time + 1209600);

    $_SESSION["client"] = "mobile";


    **header('location: mobile/new.php?id=""');**   

        }

    include("overall.php");

?>

私の質問は:header('location: mobile/new.php?id=""');選択したリンクを表示するためにを渡すにはどうすればよいですか?header('location: mobile/new.php?id="234"');

選択したリンクのページIDを取得して渡すために、どのコードを追加しますかheader('location: mobile/new.php?id=""');

コマンドを使用してみました$_GET['']が、機能しませんでした。header('location: mobile/new.php?id=<?php $_GET['id']; ?>');

4

1 に答える 1

0

リダイレクトの構文が正しくないため、これが問題である可能性があります。URL 変数を文字列として扱っています (例: index.php?var="value")。適切な構文は次のとおりです。

header('Location: mobil/new.php?id=1234');

次に、文字列を作成するときにできること

header("Location: mobil/new.php?id={$_GET['id']}");

セキュリティ上の理由から、常に入力を確認する必要があります。

最後の発言で

$_GET[''] コマンドを使用してみましたが、動作しませんでした。つまり、header('location: mobile/new.php?id= <?php $_GET['id']; ?>');

あなたの問題は、すでに PHP に入っているときに PHP に入ろうとしたことでした。<?php最後の開口部を閉じていない場合は使用する必要はありません。また、構文はすでに間違っていますが、echo.

于 2013-03-08T18:05:30.820 に答える