0

私はphpに非常に慣れていませんが、c#javaとvbの経験があります。私は自分のウェブサイトから簡単な連絡先フォームを書きました。それは私にメールを送信するだけでなく、ユーザーに確認メールを送信します。これはうまくいきます。ここで、今後の郵送のために、その人の名前と電子メール アドレスをデータベースに追加したいと考えています。これを Java または C# で行う場合、これら 2 つのアクティビティは 2 つまたはそれ以上のクラスに分割され、電子メールやデータベースへの追加が必要な他の状況で使用できます。これはphpで可能ですか、それともすべてを1つのファイルに書くだけですか?

ありがとう!(編集)ここに私が書いたいくつかのコードがあります:

<?php

                    $to = "craigsmith866@gmail.com";
                    $subject = "New Contact";
                    $message = "A new contact named : " .  $_POST["fname"] . " " . $_POST["lname"] . "\n" . "has written you a message:" . "\n" . "\n" . $_POST["comment"];
                    $from = ($_POST["email"]);
                    mail($to,$subject,$message,"From" . " " . $_POST["email"]);
                    echo "<p> Thank you for your time helping me to build a better website!</p> <br/> <p> You will recieve an email confirmation shortly </p> <br/> <p> You will be redirected in 5 seconds</p>" ;
                    $return_message = "Thank you for your comments and suggestions. \n If you required further assistance I will be with you shortly. \n \n Yours, \n  \n Craig A. Smith  \n  \n Original Message: \n" . $_POST["comment"];
                    mail($from,"Thank You!",$return_message);
                ?>

これは、ユーザーが送信をクリックした後に実行されるスクリプトです。(すべてのフィールドが入力されていることを確認するために、ヘッドにもいくつかの検証があります)

データベースに追加される次のスクリプトに連絡先フォームから情報を送信するにはどうすればよいですか? すべてを 1 つのスクリプトで簡単に記述できましたが、このサイトは私が初めて PHP を使用したサイトであり、履歴書で宣伝するホームページです。現在、学校を卒業したばかりで仕事を探しています。

4

1 に答える 1

1

すべてを1つまたはファイルに分割できます。大きなプロジェクトでは、適切なプロジェクト構造のためにファイルに分割することをお勧めします。この方法は手続き型プログラミングです。言及したようにクラスを使用して記述することも、MVCフレームワークを使用することもできます。CodeIgniter (簡単に習得でき、すばらしいドキュメンテーションが非常に強力) ですが、他にもたくさんあります。

編集:

非常にシンプルで手続き的なものにしたい場合(mysqlでデータベースをセットアップし、厄介なXSSをクリアしたと仮定):

mysql_connect("localhost","username","password");
mysql_select_db("database");
$sql = "INSERT INTO contacts (`id`, `fname`, `email`) VALUES ('', '".mysql_real_esacpe_string($_POST["fname"])."', '".mysql_real_esacpe_string($_GET["email"])."')";
mysql_query($sql);
于 2013-03-08T00:26:42.720 に答える