barezi Posted August 2, 2012 at 04:06 PM Report #471305 Posted August 2, 2012 at 04:06 PM (edited) Olá a todos. Então deparei-me com um problema, o qual é o seguinte... tenho uma pagina onde tenho uma variavel php para apanhar o id que está na url dessa pagina, e funciona, mas depois vem o problema, dentro dessa pagina onde tenho a variavel que apanha o id da url tenho uma div onde inicialmente nao tem nada la dentro mas se eu carregar num botao dessa pagina irá aparecer outra pagina dentro dessa div, é a lógica basica do ajax, agr o problema é, eu faço load dessa pagina nova dentro da div com o ajax, e preciso do valor da variavel que está a fazer get no id da url e nao consigo telo pois nao passa pelo ajax. vou escrever um simples exemplo para ser mais explicito... pagina inicial.php $GetID= $_GET['id']; <html> <body> --Aqui botao para fazer load da pagina na div uma <div id="uma"> </div> </body> </html> pagina para entrar na div uma vario codigo e agora preciso de conseguir passar a variavel $GetID para esta pagina, nao posso voltar a fazer a opçao do $_GET e nao consigo passar a variavel, nem por javacript nem com hidden inputs, se alguem tiver uma soluçao, opiniao etc, e possa ajudar será muito bom, obrigado 🙂 Edited August 2, 2012 at 04:08 PM by barezi
scorch Posted August 2, 2012 at 04:12 PM Report #471306 Posted August 2, 2012 at 04:12 PM Na conexão feito pelo javascript, pode passar variáveis por POST ou GET. Se usares JQuery, é bastante simples: http://stackoverflow.com/questions/4218063/php-jquery-pass-value-through-ajax-to-php-and-check-against-variable PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.
barezi Posted August 2, 2012 at 04:48 PM Author Report #471310 Posted August 2, 2012 at 04:48 PM pois se usar jquery com aqela funcao do ajax é simples o meu problema é que eu apenas faço uma coisa com o jquery que é se o botao com o id qualquer coisa tiver click ele faz load de uma pagina na div com o id tal. e assim dessa forma nao dá para passar valores nenhuns, só se eu em vez de ter a pagina que quero fazer load estiver em php com um echo escrevendo em json o código html, assim conseguirei passar os valores pelo ajax e fazer load da pagina com a variavel lá, será uma boa solução?pois a pagina que estou a fazer load nao tem nenhum echo pois estou a fazer load entao está escrita em html, mas posso tb fazer dessa forma que disse, nao me estava a ocorrer mas parece-me uma solução, contudo gostava de saber a opiniao pois nao tenho certezas se será uma opção segura e valida. Obrigado pela ajuda
HappyHippyHippo Posted August 2, 2012 at 05:04 PM Report #471312 Posted August 2, 2012 at 05:04 PM 1º - tenta usar um melhor português, porque ler o que escreveste é mesmo muito confuso 2º - se o javascript sabe o ID quando carregas no botão (sei lá que método usas) onde está o problema ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
barezi Posted August 3, 2012 at 04:25 PM Author Report #471401 Posted August 3, 2012 at 04:25 PM (edited) sim tens razão peço desculpa pelo português mas por vezes estou á pressa e sai tudo um bocado confuso, vou ter mais atenção com isso. Bom voltando ao problema, tenho um novo script.... config.php <?php// Includesrequire_once 'classes.php';// Database Connection$UserFunctions = new User();$Con = $UserFunctions->DatabaseConnection();?>[/Code] classes.php [Code]public function hello() {...code}[/Code] Jquery file [Code=javascript]$(document).ready(function() {$("#MyDiv").click(function() {$.ajax({async: false,url: 'file.php',type: 'POST',dataType: 'json',data: {},success:function(data) {$("#someDiv").prepend(data);}});});});[/Code] file.php [Code]nesta parte eu estou a tentar chamar a função hello que está no ficheiro classes.php sei que a ligação com o ficheiro está correta mas não é possivel chamar a função possivelmente porque estou a usar o jquery com o ajax para fazer a ligação, falta-me mesmo só esta parte para terminar esta parte de ligações onde estou a ter algumas dificuldades, se alguem conseguir ajudar nesta parte será mesmo importante, Obrigado a todos pela ajuda[/Code] Edited August 3, 2012 at 07:46 PM by barezi geshi
HappyHippyHippo Posted August 3, 2012 at 04:33 PM Report #471402 Posted August 3, 2012 at 04:33 PM porreiro mesmo era apresentares o ficheiro "file.php" e também informares se está tudo no mesmo directório IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
barezi Posted August 3, 2012 at 04:43 PM Author Report #471404 Posted August 3, 2012 at 04:43 PM (edited) sim em relação a estar tudo no mesmo diretório e estar tudo a conheçer as ligações entre um e outro ficheiro está tudo bem, nao te preocupes com isso das ligações pois tenho 100% certeza que está tudo bem. o file.php é esta ultima parte que eu digo php5 loaded by ajax jquery file posso dar-te um exemplo assim desse ficheiro: echo json_encode (' algum código html com divs etc e no meio dessa div quero chamar a tal função hello');[/Code] [/font][/color][color=#282828][font=helvetica, arial, sans-serif]nao te preocupes com se o ficheiro tem as ligações para conhecer essa parte de chamar a função ou isso, pois sei que está bem as ligações pois se eu fizer o código todo igual mas na parte do jquery em vez de usar a função ajax usar load, ou seja vou fazer load do file.php onde lá dentro eu estou a chamar a função e tudo está a correr bem, o problema é que se eu usar o load nao consigo passar a variavel que preciso para o ficheiro php, e se usar o ajax conseguia passar...[/font][/color] [font=helvetica, arial, sans-serif][color=#282828]eu não tenho a certeza mas penso que nao seja permitido chamar funções de classes em ficheiros com php5 onde os quais são carregados pelo ajax[/color][/font] Edited August 3, 2012 at 04:49 PM by barezi
MASNathan Posted August 3, 2012 at 04:55 PM Report #471408 Posted August 3, 2012 at 04:55 PM (edited) boas, tens de fazer o json_encode de uma array e não de uma string EDIT: não a certeza mas se alguem poder confirmar era melhor Edited August 3, 2012 at 04:55 PM by MASNathan
HappyHippyHippo Posted August 3, 2012 at 05:02 PM Report #471412 Posted August 3, 2012 at 05:02 PM (edited) nem vou comentar sobre as tuas ideias de AJAX ... vou deixar o tempo passar e aprenderes para que no futuro te lembres no que disseste. agora, se o problema é : $.ajax({ async: false, url: 'file.php', type: 'POST', dataType: 'json', data: { // ups, nao sei por aqui o ID do request !!! }, success:function(data) { $("#someDiv").prepend(data); } }); a única coisa que tens de fazer é adicionar um input do tipo hidden na página com um id bem conhecido e com o valor do ID pretendido exemplo $_GET['id'] = (int)$_GET['id']; echo "<input type='hidden' id='requestID' value='{$_GET['id']}' />"; agora, basta simplesmente ler esse input: $.ajax({ async: false, url: 'file.php', type: 'POST', dataType: 'json', data: { id: $('#requestID').val() }, success:function(data) { $("#someDiv").prepend(data); } }); Edited August 3, 2012 at 05:03 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
barezi Posted August 3, 2012 at 07:42 PM Author Report #471421 Posted August 3, 2012 at 07:42 PM (edited) realmente de ajax pouco percebo, mas quando me estou a referir ao ajax é sempre utilizando esta parte com jquery pois é por enquanto o que percebo: $.ajax({ async: false, url: 'file.php', type: 'POST', dataType: 'json', data: { id: $('#requestID').val() }, success:function(data) { $("#someDiv").prepend(data); } }); voltando agr á tua resposta, essa parte de apanhar o valor e passar para o ficheiro file.php sei como funciona, o problema nao é esse o problema é que eu preciso de chamar a função hello dentro do file.php e nao dá Edited August 3, 2012 at 07:45 PM by barezi
HappyHippyHippo Posted August 3, 2012 at 10:59 PM Report #471432 Posted August 3, 2012 at 10:59 PM mas porque raio dizes tu que não podes !!! IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
barezi Posted August 4, 2012 at 12:06 PM Author Report #471451 Posted August 4, 2012 at 12:06 PM ja consegui resolver tudo, usando esse método nao dava ele nao reconhecia a funçao que eu estava a chamar de uma class externa, tive que usar o load do jquery e dentro do load passar uma variavel para o ficheiro, e pelo load reconhece a função que estou a chamar da class externa. Obrigado na mesma pelas ajudas
HappyHippyHippo Posted August 4, 2012 at 04:26 PM Report #471468 Posted August 4, 2012 at 04:26 PM porque é que fiquei a sensação que ou não sabes falar ou não sabes o que fizeste ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now