php表单在线发送空数据但在localhost上运行正常

时间:2014-08-14 05:05:52

标签: php mysql database forms emptydatatext

我在php中有一些表格,所以我可以将数据上传到mysql数据库,我已经在xampp的本地主机服务器上进行试验,但是当我将我的文件上传到我的主机ftp时,表单不起作用,所以,我是认为这与我把这个文件和" connect.php"这个事实有关。一个也受密码限制,这也与文件权限有关,但我已经授予数据库用户的权限和文件的权限,我也试过没有密码保护的东西,什么都没有,总是有同样的结果,所以我开始尝试一点,我发现图像上传到数据库,但没有其他任何事情做到这一点,知道我试图"回声"其他输入结果,但没有它显示的东西,我得出结论,我的表格发送空数据,有人可以TELLME如果我正确吗?,为什么这是发生!请帮助,继承我的代码...

<html>
<head>
<meta charset="UTF-8">
  <title>Untitled Document</title>
</head>
<body>
<div id="slider_upload">

<h1>Slider principal</h1>
    <div class="forma">

    <form action="sliderPrincipal.php" method="post" enctype="multipart/form-data">
        <p><label for="encabezado">Encabezado</label>
        <input type="text" id="encabezado" name="encabezado" /></p><br>
        <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
        <p><label for="fileupload">File to upload</label>
        <input type="file" id="fileupload" name="fileupload" /></p><br>
        <p><label for="articulo">Articulo</label>
        <textarea id="articulo" name="articulo" rows="26" style="width: 100%;" >Escribir aqui</textarea></p><br>
         <button type="submit" name="submit" value"send">Upload File</button>
    </form><br><br>

</div>
</div>

<div class="message">
    <?php 



$file_dir = "../uploaded";

if (isset($_POST['encabezado'])){
$encabezado = mysql_real_escape_string($_POST['encabezado']);
$articulo = mysql_real_escape_string($_POST['articulo']);
}


foreach($_FILES as $file_name => $file_array){
   //echo "path: ".$file_array['tmp_name']."<br />\n";
   //echo "name: ".$file_array['name']."<br/>\n";
   //echo "type: ".$file_array['type']."<br/>\n";
   //echo "size: ".$file_array['size']."<br/><br/>\n";
   //echo "encabezado ".$encabezado;

        if(is_uploaded_file($file_array['tmp_name'])){
        move_uploaded_file($file_array['tmp_name'], "$file_dir/".$file_array['name']) or die ("Your image couldnt be uploaded <br>");   
        $newpath = addslashes("uploaded/".$file_array['name']);
        include "connect.php"; 
        $addfile = "INSERT INTO slider (encabezado, image, articulo) VALUES ('$encabezado','$newpath', '$articulo')"; 
        $result = mysql_query($addfile);
        if ( $result === FALSE ) {
            echo "your post could not be uploaded but we already got your image in our files ";
        } else{
            echo '<p style="padding: 20px;"><h1>Your post was successfully uploaded <h2></p><br><br>';

        }


        mysql_close();  

    } else "No file found";


 }

 ?>
</div>  
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

$file_dir = "../uploaded";
if($_REQUEST['submit']) {
    $encabezado = mysql_real_escape_string($_POST['encabezado']);
    $articulo = mysql_real_escape_string($_POST['articulo']);
    foreach($_FILES as $file_name => $file_array){
        if(is_uploaded_file($file_array['tmp_name'])){
            move_uploaded_file($file_array['tmp_name'], "$file_dir/".$file_array['name']) or die ("Your image couldnt be uploaded <br>");   
            $newpath = addslashes("uploaded/".$file_array['name']);
            include "connect.php"; 
            $addfile = "INSERT INTO slider (`encabezado`, `image`, `articulo`) VALUES ('$encabezado','$newpath', '$articulo')"; 
            $result = mysql_query($addfile);
            if ( $result === FALSE ) {
                echo "your post could not be uploaded but we already got your image in our files ";
            } else{
                echo '<p style="padding: 20px;"><h1>Your post was successfully uploaded <h2></p><br><br>';

            }
        mysql_close();  

        } else "No file found";


 }
}

尝试以上代码。

注意:未经测试。