0

フォームにファイルのアップロードとテキスト入力フィールドがあり、同じページにファイルのアップロードのエラーメッセージを表示し、エラーが発生した場合は次のページに移動しないようにしたい...ファイルのアップロードにエラーがある場合テキストフィールドの値も同じページに返します...どうすればいいですか?

<form action="send.php" method="post"  enctype="multipart/form-data">
<input type="hidden" name="submited" value="true" /><br>
<label for="file">Choose Photo:</label>
<input type="file" name="file" required><br>
First Name:<input type="text" name="fname" required><br>
Last Name:<input type="text" name="lname" required><br>
Choose Username:<input type="text" name="username" required><br>
Age:<input type="text" name="age" required><br>
<input type="submit" value="Submit" name="submit" >

</form>
</body>
</html>

これがファイルアップロード用のphpコードです....<input type="text">データベースからデータを挿入しますが、今はそのコードがありません...

    <?php
ini_set( "display_errors", 0);
if(isset($_REQUEST['submited'])) {

// your save code goes here

$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2097152)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "";

if (file_exists("images/" . $_FILES["file"]["name"]))
{
echo "<font color='red'><b>We are sorry, the file you trying to upload already exists.</b></font>";
  }

else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"images/" . $_FILES["file"]["name"]);
echo "<font color='green'><b> Success! Your photo has been uploaded.</b></font>";
}
}
}
else
{
echo "<font color='red'><b>We are sorry, the file you trying to upload is not an image or it exceeds 2MB in size.</b></font><br><font color='blue'><i>Only images under size of 2MB are allowed</i></font>.";
}
}
?>
4

3 に答える 3

1

エラーが発生した場合は、PHP にフィールドが入力されたフォーム (つまり、値属性を sst) を再生成させるだけです。

于 2013-01-02T22:29:14.413 に答える
0

ねえ、

同じページに保持するには、アクションを削除できます

send.php

次に、ここに示されているhtmlコードとphpコードを同じファイルに追加します。そのファイルが実行されると、同じページにとどまります。

于 2013-01-02T22:30:14.430 に答える
0
<?php
    if (!empty($_POST)){
        //send.php code
    }
?>

<form action="send.php" method="post"  enctype="multipart/form-data">
    <input type="hidden" name="submited" value="true" /><br>
    <label for="file">Choose Photo:</label>
    <input type="file" name="file" required><br>
    First Name:<input type="text" name="fname" required><br>
    Last Name:<input type="text" name="lname" required><br>
    Choose Username:<input type="text" name="username" required><br>
    Age:<input type="text" name="age" required><br>
    <input type="submit" value="Submit" name="submit" >
</form>
于 2014-07-21T14:35:51.263 に答える