2

私はウェブサイトを持っていて、PHPを使用してナビゲートし、単一のウェブページを使用しようとしています。また、下から上にスライドする連絡先ページもあります。

hrefsにはhref="?id = contactme"のようなものがあり、switch()関数を使用してページをナビゲートします

しかし、連絡先ページに移動してそこから移動しようとすると、現在のページに... com /?id = contactme?のようなhrefが追加されます。

今、私はこれらのhrefで絶対リンクを使用するべきか、それとも常に推奨するのか疑問に思っています

また、私のコンピューターのテストサーバーでこれらすべてをテストしている間は、ローカルホストへのリンクを元に戻すことを意味します。

他のヘルプや提案は素晴らしいでしょう

また、phpに関するもう1つの質問は、画面または別のdivが変更されるphpでホバーリンクまたは要素を使用できますか、それともjavascriptを使用する必要がありますか?

4

3 に答える 3

1

すべてのページがブートストラップ (つまり、index.php) を通過している場合は、href を次のように変更します。

<a href="index.php?id=contactme">Contact Us</a>

質問の 2 番目の部分では、javascript を使用する必要があります。一部のタスクがはるかに簡単になるため、jquery を調べてください。

幸運を!

于 2012-10-15T20:47:08.070 に答える
0

ブラウザが現在の URL をクエリに追加しないようにするには、次のような相対パスを使用できます。

<a href="index.php?id=contactme">

または絶対パスのような

<a href="/index.php?id=contactme">

絶対パスは等しい

<a href="http://localhost/index.php?id=contactme">
or
<a href="http://mydomain.com/index.php?id=contactme">
于 2012-10-15T20:59:50.133 に答える
0

そのようなフロント コントローラー パターン (つまり、すべてのページの表示を制御する 1 つのスクリプト ファイル) を本当に使用したい場合。個人的には、選択した Web サーバーの URL 書き換え機能 (Apache の mod_rewrite など) を利用して、すべてが単一のコントローラー ファイルを指すクリーンな URL を生成する方がよいと思います。たとえば、次のようなエンド ユーザー向けの URL を設定できます。

www.domain.com/contactme
www.domain.com/anotherpage
www.domain.com/yetanotherpage

これらはすべて、サーバーによって次のようなものに送信される可能性があります。

www.domain.com/index.php?page=contactme
www.domain.com/index.php?page=anotherpage
www.domain.com/index.php?page=yetanotherpage

ブラウザのアドレス バーには元の「クリーンな」URL が表示されたままです。言い換えれば、ウェブサーバーがリクエストを index.php に送信するという事実は、エンドユーザーには隠されています。HTML 内のリンクもこれらの「クリーンな」URL を使用するため、実際のパラメーターを自分で渡すことを心配する必要はありません。

Apache で使用できるサンプル.htaccessファイルは次のようになります。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

これにより、実際のファイル名またはディレクトリ名ではないすべての着信要求がindex.phpフロント コントローラーに送信されます。

したがって、HTML は単純に次のようになります。

<a href="/contactme">Text</a>

ホバー時の要素のスタイル設定に関しては、多くの基本的なホバー スタイル設定に CSS:hover疑似クラスを使用できますが、ほとんどの最新の Web アプリケーションでは、最終的に CSS と JavaScript を組み合わせて使用​​することになります。

于 2012-10-15T20:47:40.387 に答える