2016-09-20 8 views
0

私は自分の仕事に別のウェブサイトを複製して新しいウェブサイトを作成しています。フォームアクションがPHPファイルにリダイレクトされていません

私の問題は次のとおりです。サイトは機能していますが、イメージのアップロードが機能していない、何が起きているのかわかりません。私は問題を解決するために多くのことを試みました。たとえば、変数のvar_dumpはデバッグを試みます。ここでは、コードは次のようになります。

<? require_once("header.php"); ?> 
<? require_once("menu.php"); ?> 
<? require_once("ConnFile.php"); ?> 

<? 

if ($_GET["acao"] == "excluir") 
{ 
    $Tabela = "BannerHome"; 
    $TabelaChave = "idBanner"; 

if(is_numeric($_GET["k"])) 
{ 
    $txtIdProduto = $_GET["k"]; 
    $acao = ("UPDATE $Tabela SET Imagem". $_GET["I"] . " = '' WHERE $TabelaChave = $txtIdProduto "); 

    if(mysqli_query($link, $acao)) { 
     echo '<div class="alert alert-success alert-dismissible"" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> Registro removido com sucesso</div>'; 
    } else { 
     echo '<div class="alert alert-danger alert-dismissible"" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> Não foi possível remover o registro. </div>'; 
    } 
} 
} 

?> 
<? 
$id = 0; 
if(is_numeric($_GET["k"])) { 
    $id = $_GET["k"]; 
} 

$DadosProduto = mysqli_fetch_array(mysqli_query($link, "SELECT * FROM BannerHome WHERE idBanner = " . $id)); 

?> 

<? if($DadosProduto["Imagem" . $_GET["I"]] == "") { print '<div class="alert alert-warning alert-dismissible"" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> Este banner ainda não possui imagem cadastrada. </div>'; } ?> 

<? 


    ?> 

<link href="upload/assets/css/style.css" rel="stylesheet" /> 
<h4>Banner home<small>/Imagems/<?=$DadosProduto["Titulo"]; ?> </small></h4> 


<form class="form-horizontal" role="form" id="upload" action="upload/uploadHome.php?k=<?=$id; ?>&I=<?=$_GET['I']; ?>" method="post" enctype="multipart/form-data"> 
    <div id="drop"> 
    <pre> 
    <center> 
      Arreste as imagens (Fundo 1920x400, Superior 420x40) 
      <br> 
      ou 
      <br> 
      <a class="btn btn-primary btn-lg" >Selecione as imagens</a> 
       <input type="file" name="upl" multiple /> 
      </div> 

    </center> 
    </pre> 
      <ul> 
       <!-- The file uploads will be shown here --> 
      </ul> 
    <div style="clear:both";> 
<? 

var_dump($DadosProduto); 

if($DadosProduto["Imagem" . $_GET["I"]] != "") { 

    print '<div class="panel panel-default" style="width:145px; float:left; margin-right:4px;">'; 
    print ' <div class="panel-body">'; 
    print '  <img src="../gdThumb.php?imagem=' . $DadosProduto["Imagem" . $_GET["I"]] . '" alt="" class="img-thumbnail">'; 
    print ' </div>'; 
    print ' <div class="panel-footer"><center><a href="?acao=excluir&k='. $DadosProduto["idBanner"] .'&I='. $_GET["I"] .'"><span class="glyphicon glyphicon-remove"></span> Remover</a></center></div>'; 
    print '</div> '; 

} 


?> 
    </div> 
</form> 

     <script src="upload/assets/js/jquery.knob.js"></script> 

     <!-- jQuery File Upload Dependencies --> 
     <script src="upload/assets/js/jquery.ui.widget.js"></script> 
     <script src="upload/assets/js/jquery.iframe-transport.js"></script> 
     <script src="upload/assets/js/jquery.fileupload.js"></script> 

     <!-- Our main JS file --> 
     <script src="upload/assets/js/script.js"></script> 

<? require_once("footer.php"); ?> 

私は問題はフォームアクション

<form class="form-horizontal" role="form" id="upload" action="upload/uploadHome.php?k=<?=$id; ?>&I=<?=$_GET['I']; ?>" method="post" enctype="multipart/form-data"> 

アップロードフォルダが存在するので、あまりにもPHPファイルであると思います。しかし、フォームがこのアクションを呼び出すと、何も起こりません。私は使用しようとしました:var_dump、die()、echo、単純な反応を見るために多くのこと。私はuploadHome.phpをデバッグすることができません、なぜか分かりません。

connFile.phpだから

を働いている、私は私のイメージとページが呼び出しされていない保存するために、このページを呼び出す必要があります。ここでuploadHome.phpがある:私は何をするかわからないので

<? require_once("../ConnFile.php"); ?> 
<?php 
$idProduto = $_GET["k"]; 
// A list of permitted file extensions 
$allowed = array('png', 'jpg', 'gif','zip'); 

if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ 

    $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); 

    if(!in_array(strtolower($extension), $allowed)){ 
     echo '{"status":"error"}'; 
     exit; 
    } 
    $arquivo = 'BannerHome_'. $_GET["k"] . '_' . rand(1,1500) . '-' . md5($_FILES['upl']['name']) . "." . $extension; 
    if(move_uploaded_file($_FILES['upl']['tmp_name'], '../../img/produto/'. $arquivo)){ 

     mysqli_query($link, "UPDATE BannerHome SET Imagem". $_GET['I'] ." = '$arquivo' WHERE idBanner = " . $_GET["k"]); 

     echo '{"status":"success"}'; 
     exit; 
    } 
} 

echo '{"status":"error"}'; 
exit; 

あなたは私を提供することができる任意の情報を大幅にいただければ幸いです。

+1

あなたは[SQLインジェクション攻撃](http://bobby-tables.com)に脆弱です。あなたのためにこれを構築するために誰かに支払った場合は、あなたのお金を2倍に戻してください。 –

+0

私はあなたがセミコロンを必要としないと思います。 '<?= $ _ GET ['I']; ? > '私は現時点でテストすることはできませんが、私はそれが' 'だと思った構文を使ったことがありましたが、私はどちらの方法でも情報を見つけることができません:/ –

+0

私は問題があると思います: UploadHome.phpはフォームのsubmit、any ideiasで呼び出されていませんか? –

答えて

0

私は許可エラーです。私はajaxが私に何も表示されないので、エラーを見ることができません。

誰もが同様の問題を抱えている場合は、ディレクトリのアクセス許可を確認して変更すると役立ちます。

関連する問題