2014-03-02 87 views
-1

我一直在努力解决这个问题一段时间了,我似乎无法理解如何提出解决问题的办法。我正在尝试发送图像文件路径以及当前用户会话标识。出于某种原因,我不断收到错误消息,指出这两个POST变量是不明indexes.Here是代码:发送变量到MySQL数据库

if (move_uploaded_file($_FILES["image"]["tmp_name"], "Images Upload/" . $_FILES["image"]["name"])) { 
    $target= "Images Upload/".$_FILES["image"]["name"]; 
    $target1= $_POST[$target]; 
    $sessionid= $_SESSION['user_id']; 
    $sessionid1= $_POST[$sessionid]; 

    $query= "insert into images (UserID, Image) values('{$target1}','{$sessionid}')"; 

    if (mysql_query($query)) { 
     echo"<script>alert('Upload Successful!')</script>"; 
    } else { 
     echo "this isn't working"; 
    }   
} else { 
    echo "this isn't working"; 
} 
+0

你为什么要在变量中加上{}?而你的错误意味着'$ _POST'变量不存在(未发送)。 – Shahar

+0

我在YouTube上找到了一个视频,我已将它们带走 – psandhu

回答

0

我想你是无所适从的$ _ POST的目的是什么。 $ _POST变量填写提交一个HTML表单。所以这行:

$target1= $_POST[$target]; 

正试图通过“图像上传/".$_ FILES [”形象“] [”名称“]的名称查找提交的表单输入。像这样:

<input type='text' name='Images Upload/example.png' value = 'someValue'> 

因为它不存在它会给出错误。并将您的target1设置为null。

只是删除这些行,它会假定工作;

$target1= $_POST[$target]; 
$sessionid1= $_POST[$sessionid]; 

并更改该行:

$query= "insert into images (UserID, Image) values('$target','$sessionid')"; 
0

你到底做:

$target1= $_POST[$target]; 

sessionid1= $_POST[$sessionid]; 

请阅读$ _SESSION和$ _POST在这里http://www.php.net/manual/en/index.php

试试这个:

if(move_uploaded_file($_FILES["image"]["tmp_name"], "Images Upload/" . $_FILES["image"]["name"])){ 
$target= "Images Upload/".$_FILES["image"]["name"]; 
$sessionid= $_SESSION['user_id']; 

$query= "insert into images (UserID, Image) values('$target','$sessionid')"; 

if(mysql_query($query)){ 
    echo"<script>alert('Upload Successful!')</script>"; 
    } 
    else{echo "this isn't working";} 

} else{echo "this isn't working";} 

你也需要在目录名“空间”,“图像上传”,尽量避免这些空间。

我希望你有个想法...

相关问题