Armazenando dados do formulário em uma sessão de JavaScript
-
20-09-2019 - |
Pergunta
Eu queria saber se é possível armazenar dados de formulário, como 'título' e 'descrição' em uma sessão de JavaScript?
Estou usando o script de upload para ter um uploader em flash, mas o script não está passando o título e a descrição. Este é o meu código no momento;
<script type="text/javascript">
jQuery(document).ready(function() {
title = $("input#title").val();
description = $("textarea#description").val();
$('#uploadImage').uploadify({
'uploader': 'flash/uploadify.swf',
'script': 'process/process_uploaded_image.php',
'folder': 'submitted/pictures',
'cancelImg': 'images/cancel.png',
'queueID' : 'fileQueueImages',
'auto' : false,
'multi' : false,
'fileExt' : '*.jpg;*.png;*.gif;*.jpeg;*.JPG',
'fileDesc': 'Images ONLY (.jpg, .png, .gif, .jpeg, .JPG)',
'buttonText' : 'BROWSE',
'scriptData': {'title':title,'description':description,'user':'<?php echo $usr["id"] ?>'},
'sizeLimit' : '2097152', //2MB
//'buttonImg' : '/components/com_mm/assets/images/button-upload-images.png',
//'width' : '218',
//'height' : '66',
onAllComplete: function() {
//$('#uploadedImage').load(location.href+" #uploadedImages>*","");
//location.reload(); //uncomment this line if youw ant to refresh the whole page instead of just the #allfiles div
location.href = "upload-pics-thanks.php";
},
//onComplete: function(a, b, c, d, e){
// if (d !== '1')
// alert(d);
//},
onError: function (a, b, c, d) {
alert("Error: "+d.type+" Info: "+d.info);
},
onSelect: function () {
}
});
});
</script>
Solução
Veja isso Então responde E caso isso não funcione ...
Você viu este post nos fóruns de uploads? Talvez isso indique você na direção certa e usa tanto spam nesses fóruns.
Outras dicas
O JavaScript não tem sessões. Provavelmente, a melhor maneira é enviar seu título e descrição via Ajax para o servidor.
Se você usar a versão mais recente do upload, os dados em scriptData
será passado para script
como também _POST
ou _GET
(o padrão é agora POST
) variável. Portanto, no seu arquivo php, você pode obter o título e a descrição usando:
$_POST['title']
$_POST['description']
$_POST['user']
Apenas considere o mesmo com o envio do formulário de manuseio, apenas ele é originado do Flash Flash. Observe também que o flash não está passando os cookies atuais que existem atualmente no navegador. Se o seu PHP estiver usando a sessão armazenada nos cookies, ele deve ser aprimorado para lê -lo de $_POST
em vez de.
Eu uso o CodeIgniter e há patch para o fórum CodeIgniter. Se você apenas usar o Build na sessão PHP, pode passar no PHPSESSID
lado de dentro scriptData
, então no lado script
PHP, reinicializa a sessão usando dados passados. Foi respondido em outra pergunta no StackOverflow, basta pesquisar com o Uploadify Keyword.