私はhtmlフォームを持っていて、それを使用して画像をサーバーにアップロードしました
<form id="form1" name="form1" method="post" action="testimage.php" enctype="multipart/form-data" > <table width="1000" border="0">
<tr>
<td width="108">ID</td>
<td width="229">
<input type="text" name="id" id="id" value="<?php if(isset($_GET['editcat'])){echo $_GET['editcat'] ;}; ?>" tabindex="1" />
</td>
<tr>
<td>Image</td>
<td>:</td>
<td><input type="file" name="image" id="image" tabindex="7" /></td>
<td> </td>
</tr>
<tr>
<td>User</td>
<td>:</td>
<td><input type="text" name="user" id="user" value="<?php echo $user ; ?>" tabindex="8" /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><?php if(isset($_GET['editcat'])){ ?> <input name="editcat" type="hidden" value="set" /> <?php }?> </td>
<td><input type="submit" name="submit" id="submit" value="Add/Edit" tabindex="9" /> </td>
<td> </td>
</tr>
</table> </form>
このフォームデータをphpファイルで取得します
<?php session_start();
$user_name = $_SESSION['username'];
$user_pass = $_SESSION['password'];
if ( $user_name == '' ) {
header('location:login.php');
exit();
}
?>
<?php require_once('connection.php');?>
<?php require_once('function.php');?>
<?php
$err = 0;
if(!isset($_SESSION['msgback'])){
$_SESSION['msgback'] = array();
}else{
unset($_SESSION['msgback']);
$_SESSION['msgback'] = array();
}
if(isset($_POST['id'])){
$id = $_POST['id'];
}else{
$id = "";
}if(isset($_POST['user'])){
$user = $_POST['user'];
}else{
$user="";
}
if(!empty($_FILES['image'])){
$name= basename($_FILES['image']['name']);
move_uploaded_file($_FILES["image"] ["tmp_name"],"Hants/admin/uploads/fron_sect/$name")or die(mysql_error());
}
?>
<?php
/////
if(isset($_POST['editcat'])){
if($err == 0){
if($_POST['id'] == ""){ $_SESSION['msgback'][] = "empty id"; }
if(empty($_SESSION['msgback'])){
$user_query = "
UPDATE
pro_category
SET
`image`='$name',
`update_user`='$user'
WHERE
`id`='$id'";
$user_result = mysql_query($user_query) or die(mysql_error());
$_SESSION['msgback'][] = "Product category is updated sucesfully.";
header('location:product_cat.php');
}
}
}
////////Inserting a new Iteme////////
if(!isset($_POST['editcat'])){ echo "editcat not set" ."<br/>";
if($err == 0){
if($_POST['id'] == "") {
$_SESSION['msgback'][] = "empty id";
}
if(empty($_SESSION['msgback'])){
$user_query = "INSERT INTO `pro_category` (`section_id`,`category_name`,`description`,`position`,`visible`,`image`,`pro_view`,`update_user`) VALUES('{$secid}','{$catnam}','{$descrptn}','{$pstion}','{$visble}','{$name}','{$proview}','{$user}')
";
$user_result = mysql_query($user_query) or die(mysql_error());
//if(mysql_affected_rows()){
//$_SESSION['user_name'] = $username;
$_SESSION['msgback'][] = "Successfuly Added";
header('location:product_cat.php');
//}
}else{
$_SESSION['msgback'][] = "Not Successfuly Added";
header('location:product_cat.php');
//redirect_to("product.php?msgback=msgerr");
}
}
}
?>
このコードは、アップロードする画像を選択するとうまく機能します。ただし、場合によっては、画像をアップロードする必要はありませんが、フォームフィールドの残りの部分をサーバーにアップロードする必要があります。画像を選択せずにフォームを送信しようとすると、空白のページが表示され、何も起こりません。エラーがどこにあるのかわかりません。誰かが私を助けることができれば。