下のhtmlコードは、フォームがどのように見えるべきかの抜粋ですユーザーがフォームから情報を送信した後、データベースのテーブルに行を挿入します。このコードを使用するときは、テーブル名、カラムなどをフォーム上のものに置き換えてください。また、コードにアクセスするための4つの "********"変数データベース:
page2.php
//uses MySQL (PDO)
<?php
$usernameForm = $_POST['usernameForm'];
$passwordForm = $_POST['passwordForm'];
$servername = "********";
$username = "********";
$password = "********";
$myDB = "********";
try {
$conn = new PDO("mysql:host=$servername;dbname=$myDB", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
$sql = "INSERT INTO myTable (username, password) VALUES (:usernameForm, :passwordForm)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':usernameForm', $usernameForm);
$stmt->bindParam(':passwordForm', $passwordForm);
$stmt->execute();
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
$conn = NULL;
?>
編集:を1つのページにすべてこのコードを持っていたいのあなたのコメントを読んだ後、それを行うための簡単な方法は次のとおりです。
この行を置換してください:
本のラインと
<form method="POST" action="page2.php">
:ここで何が起こっている
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
は以下の通りです: PHPコードは常にサーバー上で実行されます。あなたのウェブサイトが完全にロードされると、サーバーとの接続が終了します。 <form>...</form>
タグを介してサーバーに送信している情報は、サーバーとの接続を確立する必要があります。なぜなら、一般的にユーザーの2ページ(入力用とデータ受信用の2つのページ)がであるのに対して、がありますこのコードをすべて1ページに保存する簡単で一般的な方法です:<form>...</form>
を送信してください!あなたは2つの選択肢があり、これを行うには
:あなたのページがpage1.php呼び出された場合
- を、そしてあなただけ
action="page1.php"
でaction="page2.php"
を置き換えることができます。しかし、これは一般的に良いプログラミングではありません。なぜなら何らかの理由でページの名前が変更された場合、コードが壊れて2番目の(そしてより良い)オプションにつながるからです。
action="page2.php"
をaction="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"
に置き換えます。これはオプション1とほぼ同じですが、action
のPHPコードでは、ページの名前が$ _SERVERのスーパーグローバルになっているので、ファイルの名前を変更するときなどにページが "破損"するのを防ぐことができます。
これまでに試したことは、試したコードの例がありますか? –
「私はたくさん試しましたが、仕事はしませんでした」..あなたは何を試しましたか? '手続き的ではないOOPの概念を使用してください。これはコード作成サービスではありません。 – Vincent
* "手続き型ではないOOPの概念を使用してください。" * - これはかなりの順序です。あなたの芝生を刈る、犬を散歩する、スーパーマーケットに行く、あなたのドライクリーニングをピックアップするように、私たちがしたいと思うものは何ですか? * sigh * –