Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AlexChande

Ajuda Erro na pagina de Cadastro

Recommended Posts

este e o erro que aparece

Warning: imagejpeg(galerias/94500516f9724e630fa5a72096441d8d.jpg): failed to open stream: No such file or directory in/home/u347838814/public_html/crop.php on line 15
estou com problema nesse código ele esta dando um erro que não consigo achar o que estou fazendo de errado
(Codigo CROP)
<?php
function crop($pasta, $imagem_original, $largura, $altura, $novo_nome){
list($current_width, $current_height) = getimagesize ($imagem_original);
$left = $current_width/3;
$top = $current_height/3;
$width = $current_width/3;
$height = $current_height/3;
$thumb = imagecreatetruecolor ($largura, $altura);
$image = imagecreatefromjpeg ($imagem_original);
imagecopyresampled ($thumb,$image, 0,0,$left,$top,$largura,$altura,$width, $height);
if(imagejpeg($thumb, "$pasta/".$novo_nome,100)){
return true;
}else{
return false;
}
}
?>
(CÓDIGO CADASTRAR)
<?php include_once "config.php";?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Cadastrar Galeria</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="box_form">
<h1>Cadastrar nova Galeria</h1>
<?php
if(isset ($_POST['acao']) && $_POST['acao'] == 'enviar'){
$titulo = strip_tags(filter_input(INPUT_POST, 'titulo'));
$imagem = $_FILES['imagem'];
if($titulo == ''){
echo'<div class="no">Informe o Titulo da Galeria</div>';
}elseif($imagem['error'] == '4'){
echo'<div class="no">Informe a imagem de capa da galeria</div>';
}else{
include_once "crop.php";
$nova_imagem = md5 (uniqid(rand(), true)).'.jpg';
if(crop('galerias', $imagem['tmp_name'], '200', '200', $nova_imagem)){
$cadastrar_galeria = $pdo->prepare("INSERT INTO 'galerias' SET titulo = ?, capa = ?, status = 0");
$dados = array($titulo, $nova_imagem);
if($cadastrar_galeria->execute($dados)) {
echo '<script>alert("Galeraia Cadastrada!");location.href="cadastrar.php"</script>';
}
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<label>
<span>Titulo da Galeria</span>
<input type="text" name="titulo" />
</label>
<label>
<span>Imagem</span>
<input type="file" name="imagem" />
</label>
<input type="hidden" name="acao" value="enviar" />
<input type="submit" value="Cadastrar Galeria" />
</form>
<div style="clear:both;"</div>
</div>
</body>
</html>
(Código STYLE)
*{margin:0; padding:0;}
body{background:#f4f4f4;
text-align:center;
}
.no{ padding:5px; float:left; background:#f5bdbd; border:1px solid #f00; color:#b90000; width:490px; text-align:left; margin-bottom:4px;}
.ok{ padding:5px; float:left; background:#09d5b2; border:1px solid #17bf15; color:#2a9e07; width:490px; text-align:left; margin-bottom:4px;}
#box_form{
width:500px;
padding:4px;
background:#fff;
border:1px solid #ccc;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
margin:20px auto;
}
#box_form h1{
float:left;
padding:5px;
background:#036;
font:18px Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif;
color:#fff;
font-weight:bold;
text-shadow:#000 0 3px 0;
width:490px;
text-align:left;
margin-bottom:6px;
}
#box_form label{
float:left;
text-align:left;
display:block;
margin:3px 0;
}
#box_form label span {
display:block;
float:left;
width:100%;
font:15px Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif;
text-transform:uppercase;
color:#ccc;
margin:4px 0;
}
#box_form label input[type=text]{
padding:6px 4px;
border:1px solid #ccc;
font:15px Constantia, "Lucida Bright", "DejaVu Serif", Georgia, serif;
color:#666;
width:485px;
margin:3px;
}
#box_form label input[type=file]{
float:left;
margin:4px 0;
width:auto;
}
#box_form input[type=submit]{float:right; padding:4px 6px; background:#036; font:16px Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif; color:#fff; text-shadow:#000 0 2px 0; border:1px solid #fff; -moz-box-shadow:#000 0 1px 2px; -webkit-box-shadow:#000 0 1px 2px; height:40px; margin:10px 4px;}
#box_form input[type=submit]:hover{ cursor:pointer; background:#069;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado me ajudou muito passei por alguns fórum nem um ajudou aqui consegui ajuda.

só que agora não esta mandado a imagem para o banco de dados não aprece nem um erro ele envia a imagem para a pasta galerias no servidor mas no banco de dados não vai por que sera

pode me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o arquivo cadastrar.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

este é o arquivo cadastrar.php

<?php include_once "config.php";?>
 
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Cadastrar Galeria</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
 
<body>
   <div id="box_form">
   <h1>Cadastrar nova Galeria</h1>
  <?php
  if(isset ($_POST['acao'])  && $_POST['acao'] == 'enviar'){
 $titulo = strip_tags(filter_input(INPUT_POST, 'titulo'));
 $imagem = $_FILES['imagem'];
 
if($titulo == ''){
echo'<div class="no">Informe o Titulo da Galeria</div>';
}elseif($imagem['error'] == '4'){
echo'<div class="no">Informe a imagem de capa da galeria</div>';
}else{
include_once "crop.php";
$nova_imagem = md5 (uniqid(rand(), true)).'.jpg';
if(crop('galerias', $imagem['tmp_name'], '200', '200', $nova_imagem)){
$cadastrar_galeria = $pdo->prepare("INSERT INTO 'galerias' SET titulo = ?, capa = ?, status = 0");
$dados = array($titulo, $nova_imagem);
if($cadastrar_galeria->execute($dados)) {
echo '<script>alert("Galeria Cadastrada!");location.href="cadastrar.php"</script>';
}
}
 
}
}
 
  ?>
   <form action="" method="post" enctype="multipart/form-data">
    <label>
     <span>Titulo da Galeria</span>
     <input type="text" name="titulo" />
    </label>
    <label>
     <span>Imagem</span>
     <input type="file" name="imagem" />
    </label>
    <input type="hidden" name="acao" value="enviar" />
    <input type="submit" value="Cadastrar Galeria" />
   </form>
   <div style="clear:both;"</div>
   </div>
</body>
</html> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua query está específica para MySQL, troque ela para seguir o padrão SQL.

"INSERT INTO 'galerias' SET titulo = ?, capa = ?, status = 0"
veja um exemplo e corrija a sua:

http://stackoverflow.com/questions/18655706/pdo-with-insert-into-through-prepared-statements

Compartilhar este post


Link para o post
Compartilhar em outros sites

(Me desculpe o incomodo ai pessoal e que to aprendendo então to buscando ajuda para o que não consigo resolver obrigado pela paciência)

tentei seguir o exemplo que você passou pelo site mas da esse erro aqui.

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INERT INTO galerias(titulo, capa, status) VALUES('gabi','5dc2708c581' at line 1' in /home/u347838814/public_html/cadastrar.php:30 Stack trace: #0 /home/u347838814/public_html/cadastrar.php(30): PDOStatement->execute(Array) #1 {main} thrown in/home/u347838814/public_html/cadastrar.php on line 30

Compartilhar este post


Link para o post
Compartilhar em outros sites

a palavra INSERT ficou escrita errado. INERT INTO

Compartilhar este post


Link para o post
Compartilhar em outros sites

arrumei a palavra só que esta dando erro ainda assim

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''galerias' SET titulo = 'gabi', capa = '1fce5ed69841d5a63257c06340ebe2a0.jpg', s' at line 1' in /home/u347838814/public_html/cadastrar.php:29 Stack trace: #0 /home/u347838814/public_html/cadastrar.php(29): PDOStatement->execute(Array) #1 {main} thrown in/home/u347838814/public_html/cadastrar.php on line 29

<?php include_once "config.php";?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Cadastrar Galeria</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="box_form">
<h1>Cadastrar nova Galeria</h1>
<?php
if(isset ($_POST['acao']) && $_POST['acao'] == 'enviar'){
$titulo = strip_tags(filter_input(INPUT_POST, 'titulo'));
$imagem = $_FILES['imagem'];
if($titulo == ''){
echo'<div class="no">Informe o Titulo da Galeria</div>';
}elseif($imagem['error'] == '4'){
echo'<div class="no">Informe a imagem de capa da galeria</div>';
}else{
include_once "crop.php";
$nova_imagem = md5 (uniqid(rand(), true)).'.jpg';
if(crop('galerias', $imagem['tmp_name'], '200', '200', $nova_imagem)){
$cadastrar_galeria = $pdo->prepare("INSERT INTO 'galerias' SET titulo = ?, capa = ?, status = 0");
$dados = array($titulo, $nova_imagem);
if($cadastrar_galeria->execute ($dados)){
echo '<script>alert("Galeria Cadastrada!");location.href="cadastrar.php"</script>';
}
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<label>
<span>Titulo da Galeria</span>
<input type="text" name="titulo" />
</label>
<label>
<span>Imagem</span>
<input type="file" name="imagem" />
</label>
<input type="hidden" name="acao" value="enviar" />
<input type="submit" value="Cadastrar Galeria" />
</form>
<div style="clear:both;"</div>
</div>
</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque:

$cadastrar_galeria = $pdo->prepare("INSERT INTO 'galerias' SET titulo = ?, capa = ?, status = 0");
por

$cadastrar_galeria = $pdo->prepare("INSERT INTO galerias (titulo, capa, status) VALUES(?,?,0) ");
veja o primeiro link que enviei sobre PDO e os que o Fernando C mandou também..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.