Web開発のハングアップを開始しています。私は次のような小さな問題に直面しています:未定義のインデックス:ユーザー名POSTを使用しているときに「通知:未定義インデックス」エラーが発生する
私はGETを使用していますが、実際のPHPスクリプトが動作し、変更されていることを知っています - 良いです。何が良いではないことは、このエラーがユーザーに表示されているという事実である:未定義のインデックス:私は、URLのパラメータが表示されるようにしたくない
<!doctype html>
<form id='register' action='changeticket.php' method='POST'>
<input type="hidden" name="username" value="<?php echo $_GET['username']; ?>" >
<fieldset >
<legend>Change ticket</legend>
<label for='ticket' >Proposed ticket request number: </label>
<input type='text' name='ticketValue' id='tickets' />
<input type='submit' name='Submit' value='Submit' />
</fieldset>
</form>
<?php
require "init.php";
if(!empty($_POST['ticketValue']) && !empty($_POST['username'])){
$ticketValue = $_POST['ticketValue'];
$stmt = "UPDATE ticketTable SET ticket = ? WHERE username = ?";
$result = $dbcon->prepare($stmt);
$result->bind_param('ss', $ticketValue, $username);
$result->execute();
echo "Ticket has been changed";
}
else{
echo "Not able to make changes sorry";
}
?>
:これは私のコードである
をユーザ名送信をクリックした後、私はPOSTを使用しています。私はそれが動作すると言ったように、しかし、未定義のインデックスエラー:ユーザー名が表示されています。
どうすればこの問題を解決できますか?
あなたはパラメータを送信する代わりに、GETメソッドのPOSTメソッドを使用しているので、あなたは、以下の部分を変更する必要があり
.. $ユーザ名を初期化するために<!doctype html>
<form id='register' action='changeticket.php' method='POST'>
<input type="hidden" name="username" value="<?php echo $_GET['username']; ?>" >
<fieldset >
<legend>Change ticket</legend>
<label for='ticket' >Proposed ticket request number: </label>
<input type='text' name='ticketValue' id='tickets' />
<input type='submit' name='Submit' value='Submit' />
</fieldset>
</form>
<?php
require "init.php";
if(!empty($_POST['ticketValue']) && !empty($_POST['username'])){
$ticketValue = $_POST['ticketValue'];
$username = $_POST['username'];
$stmt = "UPDATE ticketTable SET ticket = ? WHERE username = ?";
$result = $dbcon->prepare($stmt);
$result->bind_param('ss', $ticketValue, $username);
$result->execute();
echo "Ticket has been changed";
}
else{
echo "Not able to make changes sorry";
}
?>
どこから来たユーザー名ですか?これらの通知を避けるには、isset関数を使用してください。 – SuperBear