1

あるフォームから別のフォームに変数を渡すときに、この URL を作成するにはどうすればよいですか?

 localhost/haha/index.php/somethingupdate?id=mstr01

これに

 localhost/haha/index.php/somethingupdate

渡された変数を引き続き使用できますか?誰でもこれで私を助けることができますか、私は助けていただければ幸いです。

4

4 に答える 4

2

隠しフィールドを使用して変数を渡すことができると思います

<input type="hidden" name="id" value="mstr01" />
于 2013-07-10T04:38:02.447 に答える
1

フォーム メソッドを POST に変更し、$_GET 変数の代わりに $_POST 変数を使用すると、URL の末尾に変数が表示されなくなります。

于 2013-07-10T04:41:17.647 に答える
1

.htaccess ファイルを使用して、すべてのリクエストを index.php にリダイレクトできます。index.php ファイルには、すべてのリクエストを処理するコントローラーがあります。

例:

routing.phpPHP 開発サーバー用

<?php
   if (file_exists(__DIR__ . '/' . $_SERVER['REQUEST_URI'])) {
     return false; // serve the requested resource as-is.
   } else {
     include_once 'index.php';
   }
?>

.htaccessApache Web サーバー用のファイル

# Turn rewriting on
Options +FollowSymLinks
RewriteEngine On
# Redirect requests to index.php
RewriteCond %{REQUEST_URI} !=/web/index.php
RewriteCond %{REQUEST_URI} !.*\.png$ [NC]
RewriteCond %{REQUEST_URI} !.*\.jpg$ [NC]
RewriteCond %{REQUEST_URI} !.*\.css$ [NC]
RewriteCond %{REQUEST_URI} !.*\.gif$ [NC]
RewriteCond %{REQUEST_URI} !.*\.js$ [NC]
RewriteRule .* /web/index.php

controller.php: クエリ文字列コントローラー

<?php 

/*
 * Page Controller
 * Decodes query string and loads page
 */

$qs=array_reverse(explode('/',parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
foreach ($qs as $key=>$value) $qs[$key] = urldecode(htmlspecialchars($value));
$this->controller = $qs[0];
switch ($this->controller) {
    case "somethingupdate":
        #$this->area = $qs[1];
        #if ($this->area=="home") {
        #   include("pages/home.php");
        #} else {
        #   include("pages/{$this->area}/home.php");
        #}
        break;
    case "somethingelse":
        #$this->cat = $qs[1];
        #$this->area = $qs[2];
        #if ($this->cat=="static") {
        #   include("pages/{$this->area}/home.php");
        #} else {
        #echo "Err.404 - Page not found (area:{$this->area}; cat:{$this->cat}.";
        #}
        break;
    default:
        $this->area = "home";
        include("pages/{$this->area}/home.php");
        break;
}?>

次に、index.phpファイルにcontroller.php、ページ コンテンツを表示する場所を含めます。

于 2013-07-10T04:46:02.237 に答える