

htmlからphpを呼び出すとphpの中身が表示されて実行されないのですがどのようにしたらよいですか？

┗create.html  
┗create2.php

create.html

[code]

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>アカウント新規作成</title>
        <link rel="stylesheet" type="text/css" href="css/setting.css">
    </head>
    <body>
        <form method="post" action="create2.php">
        <div class="login_form_btm">
            <h2>Create</h2>
            <p>ユーザー名とパスワードを書きましょう</p>
            <p>Usename(全角半角OK)</p>
            <input class="id-pass-button" type="text" placeholder="Username" id="name" name="name">
            <p>password(8~)</p>
            <input class="id-pass-button" type="password" placeholder="password" id="password">
            <p>password(re)</p>
            <input class="id-pass-button" type="password" placeholder="password" id="repassword">
            <p><input class="id-pass-button" type="submit" value="Create" id="touroku"></p>
        </div>
    </form>
    </body>
    </html>
[/code]

create2.php

[code]

    <?php
       print '登録が完了しました！';
       print $GET['name'];
       print 'さん！';
    ?>
    
[/code]


CC BY-SA 4.0
2023-10-25T09:13:49.947
96580
2023-10-27T06:41:18.480
2023-10-26T09:54:38.930
3060
60169
question
php
PHP が実行されず、ブラウザ上にコードが表示されてしまう


PHP は純粋な HTML とは違い，ブラウザだけで動かすことはできません．  
コメントにもあるように，サーバー側で Apache や Nginx と言ったサーバーソフトを動かす必要があります．

ただし，単に手元の環境で簡単に動作確認をしたい，ということであればもう少し簡単に実行できます．  
もし，VSCode をお使いでしたら拡張機能で簡易サーバーを立てることができます  
・https://marketplace.visualstudio.com/items?itemName=brapifra.phpserver  
・https://atmarkit.itmedia.co.jp/ait/articles/1809/25/news027.html

また，PHP にはビルトインでサーバー機能がついています  
<https://www.php.net/manual/ja/features.commandline.webserver.php>

コンソールで create2.php が置いてあるディレクトリまで行き，

[code]

    $ php -S localhost:8000 create2.php
    
[/code]

とすると，サーバーが立ち上がりますのでブラウザで http://localhost:8000 にアクセスできるようになります．  
ただし，これは PC に PHP が入っている前提ですので，適宜先に PHP をインストールしてください．  
PHP のインストールについてはこちら（https://www.php.net/manual/ja/install.php）


CC BY-SA 4.0
2023-10-25T23:59:49.550
96586
2023-10-25T23:59:49.550
58973
96580
answer


もしかしたら前提条件から説明が必要かもしれないということで

質問者氏はエディタで HTML ファイルを書いてローカルPCに保存し、その「静的 HTML ファイル」を同一PC上の Web UA
(ユーザーエージェント：まあ要するにブラウザ）で見ているのかもしれません（その辺の説明は一切ないので違うかもしれない）同じノリで php
ファイルを書いてローカルPCに保存し、その静的 PHP ファイルを同一PC上の Web UA で見ている、のでしょう（たぶん）。

ところが現代 web service は静的 HTML ファイルを使うことは結構レアです。たいていの場合は web server
側で何らかのプログラムを実行し、そのプログラムが出力した HTML ファイル（というよりは HTML な形式のデータ）を閲覧者に送信しています。
[php](/questions/tagged/php "'php' のタグが付いた質問を表示") プログラムというのは典型的なそれで

[code]

    <?php
       print '登録が完了しました！';
       print $_POST['name'];
       print 'さん！';
    ?>
    
[/code]

という **プログラム** を web server 上で実行すると次のような HTML 形式データが閲覧者のところに届きます。

[code]

    <!DOCTYPE html>
    <HTML><BODY><P>登録が完了しました！ 774RR さん！</P></BODY></HTML>
    
[/code]

これならばだいたい期待通りに登録が完了された（という表示だけを行うことができます）。

# 提示 [php](/questions/tagged/php "'php' のタグが付いた質問を表示") 例題には XSS
脆弱性があります。どこがどうダメでどう直せばよいかは、実のところ入門段階で知っておくべき事項かもしれません。詳細略。

なので [php](/questions/tagged/php "'php' のタグが付いた質問を表示") ファイルを正しく扱うには web server
そのものや web server 上で動的 html データ生成を行う機構が動作するような設定が必要ということになります。オイラのコメントならびに
@fuwasegu さんの回答はここまでの話は知っている前提で、ではどう設定するのか？ ということです。

とりあえず真面目に web server (apache httpd とか)
をインストール・設定するのは入門者にとっては大変難しい作業なので、とりあえず見てみるだけなら既に挙げられている
[php](/questions/tagged/php "'php' のタグが付いた質問を表示") 簡易サーバー機能を使うとよいでしょう。

実際に会員登録するシステムを作るとなると  
・真にユーザー情報を保持管理できるデーターベース  
・データーベースに登録する PHP プログラム  
・データーベースからデータを取り出す PHP プログラム  
この辺のことをバックエンドという

こっから先はフロントエンドという  
・HTML 文書自体の生成  
・CSS でカッコよく表示する  
・javascript で UX を増そう

などとなり実は web 系ってやらなきゃならないことが多すぎて入門には向かない分野だったりします。


CC BY-SA 4.0
2023-10-27T04:00:53.340
96599
2023-10-27T06:41:18.480
2023-10-27T06:41:18.480
8589
8589
96580
answer