web-dev-qa-db-ja.com

PHP form action?の 'Notice:Undefined index:'を修正する方法?

コンテンツをフォームに送信しようとしたときに、次のエラーメッセージが表示されました。どうすれば修正できますか?

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; ?>">
16
Ting Ping

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の使用方法をうまく示しているはずです。

詳細はこちら: http://php.net/manual/en/function.isset.php

30
Sir
if(isset($_POST['form_field_name'])) {
    $variable_name = $_POST['form_field_name'];
}
2
Rabby shah

$ _POSTを$ _FILESに変更し、enctypeが「multipart/form-data」であることを確認します

入力フィールドは実際にはフォームにありますか?

<form method="POST" action="update.php">
    <input type="hidden" name="filename" value="test" />
</form>
2
David Harris
if(!empty($_POST['filename'])){
$filename = $_POST['filename'];

echo $filename;
}
1
E-ebola virus

単に

if(isset($_POST['filename'])){
 $filename = $_POST['filename'];
 echo $filename;
}
else{
 echo "POST filename is not assigned";
}
0
ravi404

この目的でissetを使用します

<?php

 $index = 1;
 if(isset($_POST['filename'])) {
     $filename = $_POST['filename'];
     echo $filename;
 }

?>

0
Yogesh Suthar

empty()を使用して、使用可能かどうかを確認します。で試してください-

ここにホストが存在しない場合、エラーが生成されます

if(!empty($_GET["Host"]))
if($_GET["Host"]!="")
0
Danish Iqbal

これを試してください

error_reporting = E_ALL & ~E_NOTICE

php.iniで

0
Piseth Sok