Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
Carregando comentários...