コンテンツをフォームに送信しようとしたときに、次のエラーメッセージが表示されました。どうすれば修正できますか?
Notice:未定義のインデックス:4行目のD:\ wamp\www\update.phpのファイル名
update.phpコードの例:
<?php
$index = 1;
$filename = $_POST['filename'];
echo $filename;
?>
また、$ _ POST ['filename']は別のページからのものです。
<?php
$db = substr($string[0],14) . "_" . substr($string[1],14) . "_db.txt";
?>
<input type="hidden" name="filename" value="<?php echo $db; ?>">
Assuming
該当するコードのみをコピー/貼り付けすると、フォームに<form method="POST">
if(isset($_POST['filename'])){
$filename = $_POST['filename'];
}
if(isset($filename)){
echo $filename;
}
_POST
が設定されていない場合、上記の例ではfilename
変数も設定されません。
別の方法:
$filename = false;
if(isset($_POST['filename'])){
$filename = $_POST['filename'];
}
echo $filename; //guarenteed to be set so isset not needed
この例では、ファイル名は状況に関係なく_POST
。これは、isset
の使用方法をうまく示しているはずです。
if(isset($_POST['form_field_name'])) {
$variable_name = $_POST['form_field_name'];
}
$ _POSTを$ _FILESに変更し、enctypeが「multipart/form-data」であることを確認します
入力フィールドは実際にはフォームにありますか?
<form method="POST" action="update.php">
<input type="hidden" name="filename" value="test" />
</form>
if(!empty($_POST['filename'])){
$filename = $_POST['filename'];
echo $filename;
}
単に
if(isset($_POST['filename'])){
$filename = $_POST['filename'];
echo $filename;
}
else{
echo "POST filename is not assigned";
}
この目的でisset
を使用します
<?php
$index = 1;
if(isset($_POST['filename'])) {
$filename = $_POST['filename'];
echo $filename;
}
?>
empty()
を使用して、使用可能かどうかを確認します。で試してください-
ここにホストが存在しない場合、エラーが生成されます
if(!empty($_GET["Host"]))
if($_GET["Host"]!="")
これを試してください
error_reporting = E_ALL & ~E_NOTICE
php.iniで