Ir para conteúdo

POWERED BY:

Biel.

executar php sem refresh na página

Recommended Posts

Olá pessoal. Temos Ex1 em javascript funcionando sem refresh na página e EX2 em php funcionando com refresh na página. Existe alguma forma  de executar o código php abaixo fazendo uma ligação com ajax e/ou javascript sem refresh na página ?

EX1

<select name="tete" id="tete" size="3" onChange="funcGGG();">
	<option value=""  ></option>
	<option value="aprendizA"  >aprendizA</option>
	<option value="aprendizB"  >aprendizB</option>
  </select>

   <hr />

<div id="vazio" style="display:none;"> vazio </div>
<div id="aaa" style="display:none;"> aaa </div>
<div id="bbb" style="display:none ;"> bbb </div>


<script>      

function funcGGG(){ 
	var itemSelecionado   = document.getElementById('tete').value;
	

	if(itemSelecionado == ""){
		document.getElementById('vazio').style.display='block';
		document.getElementById('aaa').style.display='none';
		document.getElementById('bbb').style.display='none';
		} 

	if(itemSelecionado == "aprendizA"){
		document.getElementById('vazio').style.display='none';
		document.getElementById('aaa').style.display='block';
		document.getElementById('bbb').style.display='none';
		} 	

	if(itemSelecionado == "aprendizB"){
		document.getElementById('vazio').style.display='none';
		document.getElementById('aaa').style.display='none';
		document.getElementById('bbb').style.display='block';
		} 	

	}

</script>

 

EX2

<form action="" method="post" >
<select name="itemSelecionado" required size="3" onChange="this.form.submit()">
	<option value=""  ></option>
  <option value="aprendizA"  >aprendizA</option>
  <option value="aprendizB"  >aprendizB</option>
</select>
 <hr />


<?php
if (isset($_POST["itemSelecionado"])){
?>

<?php
if ($_POST['itemSelecionado'] == ''){
?>
vazio
<?php
}
elseif ($_POST['itemSelecionado'] == 'aprendizA'){
?>
aprendizA

<?php
}
elseif ($_POST['itemSelecionado'] == 'aprendizB'){
?>

aprendizB

<?php
}
}
?>
</form>
 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu apanhei muito para usar a função assíncrona, eu fiquei muito contente quando consegui montar um HTML e usar o Java como uma ponte de comunicação entre o HTML e o PHP. Mas, na prática, eu não uso nada disso.

 

Eu sou um programador eventual. Eu fiz uma grande besteira em 1990, e agora eu uso o PHP para consertar o banco de dados no MySQL. No começo, eu fiquei desesperado, eu usava o navegador, o MySQL, e o Visual Studio Code. No meu caso, o Java em nada podia me ajudar. Aliás, eu queria eliminar a janela do navegador e a janela do MySQL. Eu ainda não consegui. Mas hoje eu trabalho basicamente com o Visual Studio Code. Ao invés de jogar a resposta no HTML, eu pedi para o PHP jogar a resposta na janela de depuração do Visual Studio.

Ou seja, cada caso é um caso. Se você precisa ganhar muito dinheiro, certamente você vai ter que estudar o Java. Mas se você tem preguiça de estudar (como é o meu caso), a melhor maneira de empurrar a barriga é com o PHP, de preferência sem nenhum HTML. Mas o depurador do Visual Studio só serve para receber resposta, ele não é capaz de receber nenhuma solicitação.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Frank K Hosaka disse:

usar o Java como uma ponte de comunicação entre o HTML e o PHP.

Não estamos falando de Java
Estamos falando de Javascript

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, tetsuo disse:

Não estamos falando de Java
Estamos falando de Javascript

 

Hahahaha... Eu acabei não entendendo a diferença do Java e do JavaScript, mas eu chamo de Java ou JavaScript aleatoriamente tudo que vem dentro do marcador <script></script> ou dentro de um arquivo .js, bem como eu chamo de PHP tanto os arquivos com a extensão .php ou blade.php.

Claro que é muito chato alguém dar o mesmo nome para coisas diferentes, mas estamos no Brasil. Aqui, eu chamo o vencedor das eleições como Senhor Governador, já muitos outros chamam com outro nome.

No mundo da informática, eu uso o sistema de tentativa e erro, tipo:

 

<script>
k=0
j=0
ob={}
async function diario() {
	form = new FormData();
	response=await fetch("php/diario.php", {method: "POST", body: form});
	body=await response.json()
	j=body.length
	ob=body
	listadiario()}
function listadiario() {
	if (k<j) {
		exibe="<table><tr><th>Docto<th>Conta<th>Valor<th>Historico"
		for (i=k;i<k+15;i++){
			if (i==j){break}	
			if (ob[i].debito!=null){valor=parseFloat(ob[i].debito).toLocaleString("pt-br",{minimumFractionDigits:2})}
			if (ob[i].credito!=null){valor="<font color=red>"+parseFloat(ob[i].credito).toLocaleString("pt-br",{minimumFractionDigits:2})+"</font>"}
			exibe+="<tr><td>"+ob[i].docto+"<td>"+ob[i].conta+"<td align=right>"+valor+"<td>"+ob[i].hist}
		if (i!=j) {exibe+="<tr><td><td><td><td><input type=submit value=Continua onclick=listadiario()>"}
		exibe+="</table>"
		recdiv.innerHTML=exibe
		k=i
		if (k>=j){k=0}
		}}
</script>

Isso daí eu copiei de vários tutoriais que encontrei na internet, levei três meses para fazer esse troço funcionar, até que eu consegui. Se o nome disso é Java ou JavaScript, eu não acho importante, eu só sei que passei três meses chorando!

 

O mais importante é que eu não uso esse código. Eu uso o PHP, e estou abandonando o método POST e usando o método GET, enchendo a barra de navegação com um monte de informações que não são sigilosas. Nesse mês eu aprendi a usar o PHP SEM O NAVEGADOR, ele manda a resposta que eu preciso direto na tela de depuração do Visual Studio Code, claro que ao invés de usar "echo" passei a usar "print_r" para tornar legível. Espero que num futuro próximo, o VS Code aceite solicitações do tipo "<input>", esse negócio de ficar alternando entre a janela do editor e do navegador é muito chato!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Biel.
      Olá pessoal. Ao digitar um texto qualquer no input e pressionar submit o valor do atributo href é alterado temporariamente. Como alterar permanentemente no corpo do documento  o valor do atributo href, digitando um nome de link qualquer no campo input e em seguida submit ?
      <!DOCTYPE html> <html> <head> <style> input { width: 100%; font-size: 20px; } textarea { width: 100%; font-size: 16px; height: 200px; } .class88 { margin-top: 50px; padding: 10px; max-width: 100px; } </style> </head> <body> <h2> alterar valor do atributo href</h2> digite um texto qualquer <input type="text" class="class42" value=""> <a id="linkToChange" href="teste5.php" class="class43"></a> <input type="submit" class="class88" value="enviar" onclick="alterarHref()"> <script> function alterarHref() { // pega o valor da class42 var valorDaclass42 = document.querySelector('.class42').value.trim(); // altera o valor do atributo href para o valorDaclass42 sugerido document.querySelector('.class43').setAttribute('href', valorDaclass42); console.log("Href alterado:", valorDaclass42); } </script> </body> </html>  
    • Por Biel.
      Olá pessoal. BannerA está funcionando normalmente. Como usar mesmo script para bannerB e bannerC.
      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Banner Aleatório</title> <style> /* Estilos opcionais para o banner */ #divPai { margin: auto; border: 2px solid red; } #bannerA { width: 240px; height: 480px; overflow: hidden; position: relative; } #bannerA img { width: 100%; height: auto; position: absolute; top: 0; left: 0; transition: 1.5s ease-in; } #bannerA img.active { opacity: 1; } </style> </head> <body> <div id="divPai"> <div id="bannerA" class="bannerA"> <a href="link1"><img src="image1.jpg" alt="Imagem 1"></a> <a href="link2"><img src="image2.jpg" alt="Imagem 2"></a> <a href="link3"><img src="image3.jpg" alt="Imagem 3"></a> </div> <!-- <hr> <div id="bannerB" class="bannerB"> <a href="link4"><img src="image4.jpg" alt="Imagem 4"></a> <a href="link5"><img src="image5.jpg" alt="Imagem 5"></a> <a href="link6"><img src="image6.jpg" alt="Imagem 6"></a> </div> <hr> <div id="bannerC" class="bannerC"> <a href="link7"><img src="image7.jpg" alt="Imagem 7"></a> <a href="link8"><img src="image8.jpg" alt="Imagem 8"></a> <a href="link9"><img src="image9.jpg" alt="Imagem 9"></a> </div> --> </div> <hr> <script> document.addEventListener("DOMContentLoaded", function() { // var banner = document.getElementById("divPai"); // var images = banner.querySelectorAll("img"); var images = document.querySelectorAll("#bannerA img"); // Função para exibir uma imagem aleatória function showRandomImage() { // Escolhe aleatoriamente um índice de imagem var randomIndex = Math.floor(Math.random() * images.length); // Define todas as imagens como ocultas images.forEach(function(img) { img.style.display = "none"; }); // Exibe a imagem aleatória images[randomIndex].style.display = "block"; } // Chama a função inicialmente e define um intervalo para exibir novas imagens a cada 3 segundos showRandomImage(); setInterval(showRandomImage, 1000); // makeSliderKind('.bannerA', 1000); // makeSliderKind('.bannerB', 2000); // makeSliderKind('.bannerC', 3000); }); </script> </body> </html>  
    • Por Biel.
      Olá pessoal. O banner abaixo está funcionando e o link acompanha o banner, até aqui tudo ok ! Quero muito fazer uma transição suave entre uma image e outra, colocando as propiedades e valores no css ou diretamente no javascript e nada de propiedades e valores no html através do style . Se possível coloque no código somente o que precisa . Obrigado!
      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Banner</title> <style> /* Estilos opcionais para o banner */ .banner { width: 240px; height: 480px; overflow: hidden; position: relative; } .banner img { width: 100%; height: auto; position: absolute; top: 0; left: 0; transition: 1.5s ease-in; } .banner img.active { opacity: 1; } </style> </head> <body> <div class="banner" id="banner"> <a href="link1" class="ggg"><img src="image1.jpg" alt="Imagem 1"></a> <a href="link2" class="ggg"><img src="image2.jpg" alt="Imagem 2"></a> <a href="link3" class="ggg"><img src="image3.jpg" alt="Imagem 3"></a> <a href="link4" class="ggg"><img src="image4.jpg" alt="Imagem 4"></a> <a href="link5" class="ggg"><img src="image5.jpg" alt="Imagem 5"></a> </div> <script> document.addEventListener("DOMContentLoaded", function() { var banner = document.getElementById("banner"); var images = banner.querySelectorAll("img"); // Função para exibir uma imagem aleatória function showRandomImage() { // Escolhe aleatoriamente um índice de imagem var randomIndex = Math.floor(Math.random() * images.length); // Define todas as imagens como ocultas images.forEach(function(img) { img.style.display = "none"; }); // Exibe a imagem aleatória images[randomIndex].style.display = "block"; } // Chama a função inicialmente e define um intervalo para exibir novas imagens a cada 3 segundos showRandomImage(); setInterval(showRandomImage, 3000); }); </script> </body> </html>  
       
    • Por Biel.
      Olá pessoal. O banner abaixo está funcionando normalmente, mas a transição entre uma imagem e outra está um tanto truculenta. Quero deixar suave. Como resolver isso? Obrigado !
      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>transition suave entre uma image e outra</title> <style> #banner { width: 240px; height: 480px; overflow: hidden; position: relative; } #bannerGG { width: 100%; height: auto; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 1s ease-in-out; } /* #tete:active { opacity: 1; } */ </style> </head> <body> <div id="banner"> <img class="bannerGG" src="imagem1.png" alt="Image 1"> <img class="bannerGG" src="imagem2.png" alt="Image 2"> <img class="bannerGG" src="imagem3.png" alt="Image 3"> <img class="bannerGG" src="imagem4.png" alt="Image 4"> <img class="bannerGG" src="imagem5.png" alt="Image 5"> </div> <script> const image = document.querySelectorAll('.bannerGG'); const banner = document.getElementById('banner'); function showRandomImage() { const randomIndex = Math.floor(Math.random() * image.length); const randomImage = image[randomIndex]; const imgElement = document.createElement('img'); imgElement.src = randomImage.src; const linkElement = document.createElement('a'); linkElement.appendChild(imgElement); banner.innerHTML = ''; banner.appendChild(linkElement); } showRandomImage(); setInterval(showRandomImage, 3000); </script> </body> </html>  
    • Por Biel.
      Olá pessoal. O banner abaixo está funcionando, mas quero que o link do banner venha da tag a  e não do javascript . Como resolver? 
      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mostrar link do banner que está na tag a</title> <style> #banner { width: 240px; height: 480px; overflow: hidden; position: relative; } .banner-img { width: 100%; height: 100%; object-fit: cover; position: absolute; /* opacity: 0; */ transition: opacity 0.5s ease-in-out; } .banner-link { display: block; width: 100%; height: 100%; } </style> </head> <body> <div id="banner"> <a href="link147"><img class="banner-img" src="imagem1.png" alt="Image 1"></a> <a href="link254"><img class="banner-img" src="imagem2.png" alt="Image 2"></a> <a href="link350"><img class="banner-img" src="imagem3.png" alt="Image 3"></a> <a href="link462"><img class="banner-img" src="imagem4.png" alt="Image 4"></a> <a href="link538"><img class="banner-img" src="imagem5.png" alt="Image 5"></a> </div> <script> const images = document.querySelectorAll('.banner-img'); const banner = document.getElementById('banner'); function showRandomImage() { const randomIndex = Math.floor(Math.random() * images.length); const randomImage = images[randomIndex]; const imgElement = document.createElement('img'); imgElement.src = randomImage.src; imgElement.alt = randomImage.alt; imgElement.classList.add('banner-img'); const linkElement = document.createElement('a'); // linkElement.appendChild(imgElement); linkElement.href = randomImage.href; linkElement.classList.add('banner-link'); linkElement.href = "page" + (randomIndex + 1) + ".html"; // Link para cada imagem linkElement.appendChild(imgElement); banner.innerHTML = ''; banner.appendChild(linkElement); } showRandomImage(); setInterval(showRandomImage, 1000); </script> </body> </html> Resolvido,  Obrigado a todos !
×

Informação importante

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