画像をアップロードするための HTML および PHP スクリプトを含む addbanner.php というページがあります。しかし、それは機能していません。
*********************************addbanner.php***************************************
<?php
session_start();
require_once'session.php';
require_once '../cms/config.php';
if(isset($_POST['submit']))
{
//for image upload part
// define the posted file into variables
//$bannerid=$_POST['bannerid'];
$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$desc=$_POST['description'];
$dir='uploads/';
$allowedExts = array("jpg", "jpeg", "gif", "png");
$bits = (explode(".",$name ));
$extension=end($bits);
if ((($type == "image/gif")
|| ($type == "image/jpeg")
|| ($type == "image/png")
|| ($type == "image/pjpeg"))
&& ($size < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
//connecting the database
$object=new connection();
$object=$object->dbConnect();
$st=$object->prepare("select * from banners where file=:name");
//$st->bindParam(1,$bannerid);
$st->bindValue(":name",$name,PDO::PARAM_STR);
$st->execute();
if($st->rowCount()>1)
{
echo "Error: Banner with this name is already exists!";
}
else
{
//$object=new connection();
//$object=$object->dbConnect();
$st=$object->prepare("insert into banners values('$name','$type','$size','$desc')");
$st->execute();
if (file_exists("uploads/" . $name))
{
echo $name. " already exists. ";
}
else
{
move_uploaded_file($tmp_name,$dir.$name);
echo "Stored in: " . "uploads/" . $name;
}
}
}
}
else
{
echo "Invalid file";
}
}
else
{
//HTML part
}
?>
********************javascript part***************
function validate()
{
if(document.myform.file.value=='' || document.myform.description.value=='')
{
alert("Please fill all the field!");
return false;
}
}
******************end javascript***************
*******************html form*******************
バナー画像(必須)
説明(必須フィールド)
<!-- End Form -->
<!-- Form Buttons -->
<div class="buttons" >
<input type="submit" name="submit" class="button" value="Submit" />
<input type="submit" name="cancel" class="button" value="Cancel" />
</div>
<!-- End Form Buttons -->
</form>
********************end coding*****************
送信ボタンを選択すると、スクリプトの一部である「無効なファイル」が出力されます。また、空白の説明フィールドを残して送信をクリックすると、javascript にも問題があります。アラートが表示されないことがあります。何か提案してください。ユーザーが両方のフィールドに入力して送信をクリックすると、データベースに移動し、特定のフォルダーにも保存されます。
不完全なスクリプトで申し訳ありませんが、キャンセル ボタンのコードはまだ作成していません。