- フォームの作成: まず、Vue 3を使用してフォームを作成します。HTMLのフォーム要素を使用し、v-modelディレクティブを使用してフォームの入力値をVueコンポーネントのデータとバインドします。例えば、名前とメールアドレスの入力フィールドを作成する場合、次のようなコードを使用できます:
<form>
<label for="name">名前:</label>
<input type="text" id="name" v-model="name">
<label for="email">メールアドレス:</label>
<input type="email" id="email" v-model="email">
<button @click="submitForm">送信</button>
</form>
- フォームのデータの送信: フォームが送信されたときに、JavaScriptのメソッドを使用してデータをPHPスクリプトに送信します。Vue 3では、@clickディレクティブを使用して送信ボタンがクリックされたときに呼び出されるメソッドを指定します。以下に、submitFormメソッドの例を示します:
methods: {
submitForm() {
// フォームデータを作成
const formData = {
name: this.name,
email: this.email
};
// フォームデータをPHPに送信
axios.post('submit.php', formData)
.then(response => {
// 送信成功時の処理
console.log(response.data);
// 成功メッセージの表示など
})
.catch(error => {
// 送信失敗時の処理
console.error(error);
// エラーメッセージの表示など
});
}
}
- PHPでのデータの処理: PHPスクリプト(submit.phpなど)を作成し、受け取ったフォームデータを処理します。以下は、単純な例です:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
// データの処理などを行う
// 応答データの送信
$response = "データが正常に受信されました";
echo $response;
?>
これで、Vue 3を使用したJavaScriptとPHPの連絡フォームが完成しました。フォームデータが送信されると、PHPスクリプトがデータを受け取り、必要な処理を行った後、応答を返します。
この例では、axiosを使用してデータを送信していますが、他の方法(例えば、fetch APIやXMLHttpRequest)を使用することもできます。また、PHPスクリプトではデータのバリデーションやデータベースへの保存など、さまざまな処理を追加することができます。