これは重複している場合は事前にお詫びしますが、私はstackoverflowを検索し、この件については何も見つかりませんでした。私のbase.html
では、私はこのような形式があります:出力をphpからhtmlにリダイレクトするには?
<form method="post" action="../php/base.php">
<input type="hidden" name="addToDB" value="addToDB" />
<input type="text" id="name" name="name" placeholder="Enter name">
<input type="text" id="address" name="address" placeholder="Enter address">
<button type="submit">Submit</button>
</form>
注ダミーinput
素子と、 (これは良い方法です?)このフォームをターゲットにPHPで使用されるbase.php
次があります。
if (isset($_POST['addToDB'])) {
create_tables(); // creates tables in DB
addToDB(); // inserts content to DB
}
function addToDB() {
try {
// open DB connection
$db = new PDO("sqlite:../db/mydb.sqlite");
$name= $_POST['name'];
$address= $_POST['address'];
$db->exec("INSERT INTO Person (P_Name, P_Address) VALUES ('$name', '$address');");
// The following needs to be redirected back to base.html:
print "<table border=1>";
print "<tr><td>Name</td><td>Address</td></tr>";
$result = $db->query('SELECT * FROM Person');
foreach($result as $row)
{
print "<tr><td>".$row['P_Name']."</td>";
print "<td>".$row['P_Address']."</td></tr>";
}
print "</table>";
}catch(PDOException $e)
{
echo $e->getMessage();
}
}
ボタンがクリックされた送信すると、ファイルbase.php
は、テーブルを開いて表示します。代わりに、私はbase.php
のスクリプトを実行し、の出力をbase.html
に送り返します。(コンテンツdivのどこか)に表示されます。私はおそらくAJAXを使用する必要があることを理解し、私は構築し、その中にHTMLマークアップと、おそらく文字列(外部PHPファイル内の特定の関数を呼び出し、その戻り値をリダイレクトする方法を見つけ出すことはできません
table
)をHTMLファイルに戻します(base.html
)- 私はデータストレージにSQLiteを使用しています。 DBを使用して作成される
create_tables();
- 私はPHPの初心者です、どんな入力/提案も非常に高く評価されるでしょう。
あなたは以下のようにあなたのbase.htmlファイルを変更することができ、お客様に
なぜ、これはまだbase.phpに私をもたらします。 jQuery関数の最初のリフレッシュを防ぐべきでしょうか? – Alex
このシナリオは、出力を変数に取り込み、その関数がprintを使用する代わりにその関数を返すようにすると機能します。 – RST
お願いします。私は以下を使いました: '$ output ="