2016-09-20 3 views
0

Ich erstelle eine neue Website, indem ich eine andere Website in meine Arbeit klicke und ich habe diese nicht erstellt oder codiert.Formularaktion leitet nicht auf eine PHP-Datei um

Also, mein Problem ist: Die Seite funktioniert, aber das Bild hochladen funktioniert nicht, ich habe nicht ideia, was passiert. Ich habe viele Dinge versucht, um das Problem zu lösen, wie var_dump in Variablen, um zum Beispiel debuggen zu versuchen. Hier ist der Code:

<? 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"); ?> 

denke ich, das Problem in der Form Aktion ist

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

Da die Upload-Ordner vorhanden ist und die php zu Datei. Aber wenn die Form diese Aktion aufruft, passiert nichts. Ich habe versucht zu verwenden: var_dump, sterben(), Echo, eine Menge Dinge, um eine einfache Reaktion zu sehen. Ich kann die uploadHome.php nicht debuggen, ich weiß nicht warum.

Die connFile.php arbeitet

Also, ich brauche diese Seite aufrufen mein Bild zu speichern und die Seite ruft nicht. Hier ist die 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; 

Alle Informationen, die Sie mir zur Verfügung stellen kann wäre sehr dankbar, weil ich nicht weiß, was zu tun ist.

+1

Sie sind anfällig für [sql injection attacks] (http://bobby-tables.com). Wenn du jemanden bezahlst, der das für dich baut, solltest du das doppelte Geld zurückfordern. –

+0

Ich glaube nicht, dass Sie das Semikolon brauchen, ' 'Ich kann im Moment nicht testen, aber die paar Male, die ich diese Syntax verwendet habe, dachte ich, es wäre' '.. und ich finde keine Informationen, um beide Wege zu überprüfen:/ –

+0

Ich denke, das Problem ist: Die UploadHome.php ruft nicht im Formular submit auf, irgendwelche ideias? –

Antwort

0

Ich war mit Erlaubnis Fehler. Ich kann den Fehler nicht sehen, weil Ajax mir nichts zeigt.

Wenn jemand ein ähnliches Problem hat, kann das Überprüfen und Ändern der Verzeichnisberechtigung helfen.

Verwandte Themen