0
これは私の頭を傷つけてしまいます。私は何かシンプルなものが欠けていると確信していますが、私の人生のために、私はそれを他のINSERTステートメントと比較するとき、私はそれをちょうどうまく書いています。開発者のネットワークタブをチェックするとパラメータが渡されますが、ヘッダに指定されたページには転送されず、フォームに記入すると情報が更新されません。ここでPostgreSQLのINSERT文がPDOのPHPで動作しない
は、私がモデルレイヤに書いた関数である。ここでは
function add_yarn($yarnbrand, $yarnamount, $yarnweight, $yarncolor) {
global $db;
$query = 'INSERT INTO yarn
(yarnbrand, yarnamount, yarnweight, yarncolor)
VALUES
(:yarnbrand, :yarnamount, :yarnweight, :yarncolor)';
$statement = $db->prepare($query);
$statement->bindValue(':yarnbrand', $yarnbrand);
$statement->bindValue(':yarnamount', $yarnamount);
$statement->bindValue(':yarnweight', $yarnweight);
$statement->bindValue(':yarncolor', $yarncolor);
$statement->execute();
$statement->closeCursor();
}
はindex.phpの中でその機能に関連付けられているアクションの中に制御層である:
case 'yarn_add' :
$yarnbrand = filter_input(INPUT_POST, 'yarnbrand');
$yarnamount = filter_input(INPUT_POST, 'yarnamount', FILTER_VALIDATE_INT);
$yarnweight = filter_input(INPUT_POST, 'yarnweight');
$yarncolor = filter_input(INPUT_POST, 'yarncolor');
if ($yarnbrand == NULL || $yarnamount == NULL ||
$yarnweight == NULL || $yarncolor == NULL) {
echo 'Empty or invalid data input.';
} else {
add_yarn($yarnbrand, $yarnamount, $yarnweight, $yarncolor);
header('Location: index.php?action=view_yarn');
}
break;
、ここでは、追加のフォームレイヤー:
<?php include '../view/header.php'; ?>
<main>
<h1>Add Yarn</h1>
<form action="index.php" method="post" id="add_yarn_form">
<input type="hidden" name="action" value="yarn_add">
<label>Brand:</label>
<input type="text" name="yarnbrand"> <br>
<label>Weight:</label>
<input type="text" name="yarnweight"><br>
<label>Amount:</label>
<input type="text" name="yarnamount"><br>
<label>Color:</label>
<input type="text" name="yarncolor"><br>
<label> </label>
<input type="submit" value="Save Changes"><br>
</form>
<div class="bottomtext">
<a href="index.php?action=view_yarn">View Yarns</a>
<a href="index.php?action=list_supplies">View Supplies</a>
</div>
</main>
<?php include '../view/footer.php'; ?>
私は助けていただきありがとうございます!
を開発者が与えられたときに有効な問題の説明ではありません「Xが動作していない」:)「動作しない」DEFINE ... – obe
は、エラーチェックを追加してください。デバッガでコードをトレースして、行ごとに何が起こっているのかを調べてみてください。 – obe
ありがとうございます。私はdatabase.phpファイルにエラーチェックを設定していますが、何も出ていません。私はNetbeansでデバッグしようとします。 –