0

私のコンピューティング コースの一部では、PHP システム全体を構築する必要があります。私は、クライアントが Web システムを介して資産 (株式と債券) を表示できるようにする架空の証券会社のために作成することにしました。

メニューについては、「View Shares; View Bonds; My Account」などのページ リンクを表示するようにメニューが修正されるため、いくつかの単純な「href」を使用することを最初に考えました。しかし、私の先生は、「hrefs」を使用してはならないと主張しており、これを機能させる唯一の可能な方法は、switch ステートメント (または彼が呼ぶように、case ステートメント) を使用することです。これは本当ですか?私の先生は事実上 PHP の経験がなく、私たちは彼の言うことすべてに衝突しているように見えることに注意する必要があります (彼は PHP がイベント駆動型であり、システム ループを含むなどについて話していました。私はいつもこれは真実ではないと思っていました... )。

それで、誰か提案はありますか?彼の意向に反して「hrefs」に固執するか、別の方法を使用する必要がありますか?

4

3 に答える 3

2

お二人の通信障害だといいのですが… href は < a > タグの属性です。これらは HTML 要素であり、PHP とはまったく関係ありません。これは単に、ページへの「リンク」として受け入れられている方法です。href の使用が許可されていない場合、ページ間を移動するには、AJAX またはフォーム POST が必要になります。どちらもメニューには意味がありません。PHP はサーバー側のスクリプト言語であり、href はクライアント側のナビゲーション用であるため、PHP で href の機能を生成する方法はありません。

于 2012-12-10T21:24:36.293 に答える
1

あなたの教授は間違っていて正しいと思います。私は実際に工学部のWeb開発チームと協力しており、すべてをPHPで行っています。私は彼が本当に正しいとは思いませんが、それがどのように聞こえるかから、hrefsはあなたがしていることに満足以上のものであるからです。私たちは主にswitchcaseステートメントを使用して、AJAXを介してPOSTステートメントを自分自身に渡し、独立したケースを介してそれらを処理します。この例は次のようになります

if (isset($_POST['whatever'])) {
switch($_POST['whatever']) {
case "1":
//I can now do something if the POST variable passed as "whatever" was deemed '1"
break;
case "2":
//I can do something if the POST variable pass as "whatever" was deemed "2"
break;

などなど...

したがって、これの2つの主な利点は、何百万ものhrefサイトを操作する必要がないため、非常に簡単になることです。あなたのアプリケーションにとっては大したことではないかもしれませんが、各Webサイトが互いにかなり類似している大規模なプロジェクトを実際に開始するときは、phpの動的フレームワークを信頼できることを知っておくと便利です。もう1つの利点は、コードがあまり表示されないことです^ _ ^ソースを調べて、大量のhrefリンクを確認した場合、ファイルツリー構造についてもう少し知ることができるかもしれませんが、それは決して良いことではありません(リダイレクトとPHP/javascriptを使用してこれを回避する方法ですが、ええ...)

全体的に彼はあなたの教授ですが、あなたが達成しようとしているように聞こえることからあなたに知らせるために、hrefsは完全に大丈夫です。YahooやStackoverflowのような多くの専門サイトがhrefsを使用してサイトをリンクしていることを知っています(関連する質問を左に見てください。すべてhrefsを使用してリンクされています)。

コンピューターコースでは、PHP Webシステム全体を作成し、コンピューターコースは実際の実用性ではなく、一般的に教育用であることをお知らせする必要があるとおっしゃいました。あなたは質問をすることで正しいことをしていると思いますが、クラスのために、あなたの教授はおそらくPHPを学ぶことを勧めていますが、それは最善の方法ではありません(これは常に主観的です)。おそらく、PHPで開発できるが、それでもhrefsを使用できる中間点を見つける方法を見つけることができますか?お役に立てれば。

于 2012-12-10T21:12:56.350 に答える
-1

あなたの質問はあまり明確ではありませんが、私にとっては。私がしなければならないことは、メニューにswichを使用することだけです。

if(isset($_GET['id']) && !empty($_GET['id'])) {                     

    $id = htmlentities($_GET['id']);                    
    $id = mysql_real_escape_string($_GET['id']);


    switch($id) {


        case "about";       // About us
        echo $about;
        break;
case "timeline";        // About us
echo include('timeline.php');
break;
            case "participate";     // Rules
            echo  $participate;
            break;
case "reg_success";     // Register Success     
echo $reg_success;
break;

    default:    // Contribution
    echo err('Page not Found!');
    break; 
于 2012-12-10T20:54:41.803 に答える