2012-06-16 56 views
1

我有下一个问题:代码来验证名称,地址和电子邮件的作品,但验证图像不起作用,不知道为什么发生。一如既往打印“选择一个图像”PHP:为什么不能获取我要插入数据库的图像数据?

我做了一个测试,并设置线打印图像的临时名称与“打印$照片”但没有打印!

form.php的

<form id="formregister" name="formregister" action="register.php" method="post"> 
    <input id="name" name="name" type="text"/> 
    <input id="address" name="address" type="text"/> 
    <input id="email" name="email" type="email" /> 
    <input id="photouser" name="imguser" type="file"/> 
    <input id="bregister" name="bregister" type="submit" value="Registrer"/> 
</form> 

register.php

.............. 
$name = $_POST['name']; 
$address = $_POST['address']; 
$email = $_POST['email']; 
$photo = $_FILES['imguser']['tmp_name']; 
$errors = array(); 

    if(!isset($photo)) { 
     $errors[] = "Select an image"; 
    } else { 
     $fototemp = addslashes(file_get_contents($_FILES['imguser']['tmp_name'])); 
     $fotoname = addslashes($_FILES['imguser']['name']); 
     $fotosize = getimagesize($_FILES['imguser']['tmp_name']); 
     if ($fotosize == false) { 
      $errors[] = "Invalid format"; 
     } 
    } 
//Code to validate the other fields (name, address, email) 
.................... 
+0

你打算什么跟那些'和addslashes做() '电话?如果你将它插入到数据库中,那可能不是正确的转义方法。 –

回答

4

你缺少你的表格文件上传正确enctype。它应该是enctype='multipart/form-data'

<form id="formregister" name="formregister" action="register.php" method="post" enctype='multipart/form-data'> 

而不是直接访问二级tmp_name键,测试,如果它被设置第一避免未定义指数告示:

if (isset($_FILES['imguser']) { 
    $photo = $_FILES['imguser']['tmp_name']; 
} 
+0

当然!谢谢 :) – SoldierCorp

相关问题