25

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

注意: 未定義のインデックス: D:\wamp\www\update.php の 4 行目のファイル名

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; ?>">
4

10 に答える 10

48

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

于 2012-12-31T05:48:54.327 に答える
5

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

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

<form method="POST" action="update.php">
    <input type="hidden" name="filename" value="test" />
</form>
于 2012-12-31T05:45:17.930 に答える
1
if(!empty($_POST['filename'])){
$filename = $_POST['filename'];

echo $filename;
}
于 2012-12-31T05:45:40.067 に答える
0

単に

if(isset($_POST['filename'])){
 $filename = $_POST['filename'];
 echo $filename;
}
else{
 echo "POST filename is not assigned";
}
于 2012-12-31T05:45:11.333 に答える
0

issetこの目的のために使用する

<?php

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

?>

于 2012-12-31T05:46:22.217 に答える
0

利用empty()可能かどうかを確認するために使用します。試してみてください -

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

if(!empty($_GET["host"]))
if($_GET["host"]!="")
于 2015-05-12T12:17:36.860 に答える