Ir para conteúdo

POWERED BY:

Arquivado

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

didizinn

[Resolvido] Problema no com post

Recommended Posts

Fala pessoal,

estou com um problema para enviar o id via post a uma página e não to entendendo o porque não ta indo...

vai abaixo o código.

 

<script type="text/javascript">

	var uploader = "";

	$(function() {
		$("#album").submit(function() {
			// Não continue caso já exista uma instância do multiUploader
			if (typeof uploader == "object")
				return false;

			var data = $(this).serialize(); // Dados do formulário

			$(":text,textarea").attr("disabled", "disabled"); // Desabilitar os textos

			// Envia o formulário via Ajax
			$.ajax({
				type: "POST",
				url: "savealbum.php",
				data: data,
				cache: false,
				dataType: "json",
				success: function(json)
				{
					if (json.id > 0) // Se recebemos um id então o álbum foi salvo com sucesso
					{
						// Cria uma instância do multiUpload
						uploader = new multiUpload('uploader', 'uploader_files', {
							swf:             'swf/multiUpload.swf',
							script:          'upload.php',
							expressInstall:  'swf/expressInstall.swf',
							multi:           true,
							data:            json, // Envia a variável json para o script de upload (com o id do álbum)
							fileDescription: 'JPEG Images',
							fileExtensions:  '*.jpg;*.jpeg',
							onComplete:      function(e)
							{
								var id = e.data; // O id retornado
								var file = $("#file_"+e.id+" div:first").text(); // Nome do arquivo
								var ext = file.split('.').pop(); // Extensão do arquivo
								var thumb = file.replace('.'+ext, '_thumb.'+ext); // Miniatura
								var $caption = $('<div class="caption" rel="'+id+'"><input type="text" name="Caption" value="Legenda da imagem" /></div>');
								var $button = $('<input type="button" value="Salvar" class="save" />').click(function() {
									$.post("savecaption.php", { id: $(this).parent().attr("rel"), caption: $(this).prev().val() }, function(data){
										$caption.html('<strong>'+data+'</strong>');
									});
								});
								$("#file_"+e.id+" div:first").prepend('<img src="uploads/'+thumb+'" width="64" height="48" />')
									.append($caption.append($button));
							}
						});

						// Cria o html base para listagem dos arquivos selecionados e barra de progresso
						uploader.createBaseHtml();

						// Mostra as ações (Iniciar Upload, limpar fila)
						$(".upload_actions").show();
					}
					else // Caso o álbum não seja salvo
					{
						$(":text,textarea").removeAttr("disabled"); // Habilita os textos novamente
						alert(json.msg); // Mostra a mensagem de erro retornada
					}
				}
			});

			return false; // Previne o form de ser enviado pela forma normal
		});

		$(":text,textarea").removeAttr("disabled");
	});
</script>

 

e a página que precisa receber o id é esta

 

 

<?php
include("conexao.php");
$id = $_POST['id'];
$caption = addslashes($_POST['caption']);

if (!empty($caption))
{
$query = "UPDATE albums_photos SET caption = '$caption' WHERE id = $id";

if (mysql_query($query))
	die($caption);
}

die("Erro");
?>

 

eu ponho no savecaption.php

um

print_r($_POST);

para ver se vem alguma coisa, e ele recebe o id sim. Porém, ele da o seguinte erro.

 

Array ( [id] => 
Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\sites\teste\upload.php on line 28
60 [caption] => 12da imagem )

 

ai procurei a linha onde ele da erro, seria essa :

 

$ext = end(explode(".", $new_path)); // Pega a extensão do arquivo

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o arquivo: upload.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
include("conexao.php");

$file = $_FILES['Filedata'];

$album = (int)$_POST['id'];
$filename = $file['name'];

$query = "INSERT INTO albums_photos (album, file) VALUES ('$album', '$filename')";

mysql_query($query);

$path     = $file['tmp_name'];
$new_path = "uploads/".$file['name'];

move_uploaded_file($path, $new_path);

// Vamos usar a biblioteca WideImage para o redimensionamento das imagens
require("lib/WideImage/WideImage.php");

// Carrega a imagem enviada
$original = WideImage::load($new_path);

// Redimensiona a imagem original para 1024x768 caso ela seja maior que isto e salva
$original->resize(1024, 768, 'inside', 'down')->saveToFile($new_path, null, 90);

// Cria a miniatura
$ext = end(explode(".", $new_path)); // Pega a extensão do arquivo
$thumb = str_replace(".$ext", "_thumb.$ext", $new_path); // Substitui a extensão

$original->resize(100, 75, 'inside', 'down')->saveToFile($thumb, null, 90); // Redimensiona e salva

echo mysql_insert_id(); // Retorna o id da foto
?>

 

bom eu arrumei aqui mudei o

 

$ext = end(explode(".", $new_path)); // Pega a extensão do arquivo

 

para

 

$ext = 'jpg';

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.