0

3 つのセクションを持つページが必要です。

<?php
session_start();
if (isset($_SESSION['login'])) {
    echo "Work";
    $_GET['id'] = 'edit';
?>
<a href="protected.php?if=edit">Edit post</a>
<?php
}
else {
    echo "notWork";
}
if (isset($_GET['id']) && $_GET['id'] == 'edit') {
    echo "Editing  . . .";
}?>

しかし、そのページ「編集」を行う方法がわかりません。リンクに移動したときにのみ表示されますprotected.php?if=edit

4

5 に答える 5

2

わかりました。次のコードでページリファラーを確認してください:

$_SERVER['HTTP_REFERER']

詳細なドキュメントはこちら http://php.net/manual/en/reserved.variables.server.php

于 2012-06-30T08:25:48.010 に答える
1

$_GET['if']url$_GET['id']パラメータの名前がif.

于 2012-06-30T08:24:10.250 に答える
1

そのため、ページに移動しprotected.phpてパラメータifがの場合はedit、コードを変更してください。タイプミスがあります!

<?php
    if (isset($_GET['if']) && $_GET['if'] == 'edit') {
        echo "Editing  . . .";
    }
?>
于 2012-06-30T08:29:13.020 に答える
1

URL を介して渡した ID に従って、編集ページを含めることができます。何かのようなもの:if($_GET['id'] == edit) include('edit.php')

ただし、それ以上のチェックを行わないと、誰もが の正しい値を推測するだけでそのページを見ることができますid。このため、何かを含めるたびに、ユーザー権限に対してチェックを行うことをお勧めします。

于 2012-06-30T08:30:08.393 に答える
1

URL から渡された値を読み取りたい場合は、$_GET['if'] または $_REQUEST['if'] を使用してその値を取得できます。

また、「3つのセクションがあるページ」と言ったように、セクションでのみ表示したい場合は、elseif => http://php.net/manual/en/control-structures.elseif.phpを使用する必要があると思います

于 2012-06-30T08:33:25.473 に答える