私は自分のウェブショップのためにいくつかのデータベースを試しているところです。そして今、私は管理ページからデータベースに製品を追加しようとしています。私はこれを持っています:
<?php
function test(){the code}
?>
そして体の中で私はこれで形をしています:
<form action="test()" method="post">
</form>
これはxHTMLで行うことができますか?そうでない場合、最善の方法は何でしょうか?
PHPとフォームを使用してデータを送信する場合は、次の例を使用してください。
<?php
if(isset($_POST['submit'])){
$myvar = $_POST['myvar'];
echo $myvar;
}
?>
<form action='' method='POST'>
<input type='text' name='myvar'>
<input type='submit' name='submit'>
</form>
そのデータをjavascript関数で使用したい場合は、試してみてください。
<script type="text/javascript">
function myfunction(){
var MyData = document.getElementById('myvar').value;
}
</script>
<form action='' method='POST'>
<input type='text' id='myvar'>
<input type='submit' onClick='myfunction()' id='submit'>
</form>
actionプロパティでは、関数ではなくphpファイル名を指定する必要があります。例:次の場合:
<?php
function test(){the code}
?>
関数を呼び出す必要があります:
<?php
function test(){the code}
test();
?>
このコードがdatabaseOp.phpにあると仮定して、htmlファイルでそれに応じてactionプロパティを設定する必要があります。
<form action="databaseOp.php" method="post">
</form>
送信を押すと、databaseOp.phpスクリプトが実行され、もちろんその中のtest()関数が実行されます。
どの関数を実行する必要があるかを判断するために、アクションパスにGETパラメーターを追加することもできます。
<form action="process.php?function=test" method="post">
</form>
process.phpには、次のようなものがあります。
<?php
switch(@$_GET["function"])
{
case "test":
test();
break;
case "test2":
test2();
break;
}
?>