Ir para conteúdo

POWERED BY:

Arquivado

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

dinhotaswolf

como colocar o valor de uma função javascript em uma variavel php

Recommended Posts

Tenho a necessidade de utilizar a função confirm() do javascript e o valor da função preciso passar para uma variável PHP em um if.

 

Abaixo os trechos de código:

 

Trecho do javascript:

<script language='JavaScript'>
	function confirmacao($confir){
		if(confirm('Você tem certeza de que deseja remover esta categoria e seus veículos do sistema?')) {
			return true;
		}
		else{
			return false;
		}
	}
</script>			  

Trecho do PHP:

echo "<script language='JavaScript'>confirmacao($confir);</script>";
if ($confir == true) {

A função confirm() funciona. O problema é que não sei como fazer para testar o retorno da função no if.

 

Estou no aguardo de sujestões.

 

Grato pela ajuda e pela atenção,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja bem, @dingotaswolf...

 

O Javascript é, como já diz o nome, uma linguagem de script, que roda do lado do cliente, ou seja, quem faz a renderização do Javascript é o browser do usuário.

 

O PHP, por outro lado, é uma linguagem server-side. Seu código é totalmente processado antes de qualquer renderização de browser.

 

Na teoria, não existe a possibilidade de enviar uma variável Javascript para o PHP, já que este não poderá receber algo que ainda não existe, já que não foi renderizado pelo browser no momento em que o código PHP está sendo executado.

 

Porém, como tudo na vida, há uma, ou várias, soluções.

 

O que me vem à mente rapidamente é uma requisição AJAX.

 

Pesquise sobre a utilização de AJAX + Javascript e também sobre a utilização de JSON.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para melhor entendimento do citado no 1º post estou disponibilizando todo o código para analise.

 

?>

<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">









esse é o trecho do javascript
<script language='JavaScript'>
	function confirmacao($confir){
		if(confirm('Você tem certeza de que deseja remover esta categoria e seus veículos do sistema?')) {
			return true;
		}
		else{
			return false;
		}
	}
</script>			









  
</head>
<body>
</body>
</html>

<?
require 'config/config.php';

// recebe valor de campos ocultos no formulário
$i          = $_GET["pagina"];
$get        = $_GET["sel"];
$getalt     = $_GET["exclui"];

if ($get == 'cboCategorias') {
    // SELECT para busca dos dados atuais
	$link = mysql_connect($dbhost, $dbuser, $dbpass);
	$query = "SELECT categorias FROM $dbcat WHERE id = $getalt";
	$result = mysql_db_query($dbname, $query, $link);
	$dadosatual = mysql_fetch_array($result);

	// busca dados no banco de dados
	$query = "SELECT $dbcat.categorias, $dbvin.categoria, $dbvin.codigo FROM $dbcat, $dbvin WHERE $dbcat.categorias=$dbvin.categoria AND $dbcat.categorias='$dadosatual[categorias]' AND $dbvin.categoria='$dadosatual[categorias]'";
	$result = mysql_db_query($dbname, $query, $link);
	
	// Exclusão caso exista automóveis cadastrados naquela categoria
	if (mysql_num_rows($result)) {
		echo "<script language='JavaScript'>alert('Categoria possui veículo cadastrado!!! É necessário a exclusão dos veículos cadastrados!!!');</script>";









                // esse é o trecho que estou com problemas.
		echo "<script language='JavaScript'>confirmacao($confir);</script>";
		if ($confir == true) {










			while($busca = mysql_fetch_assoc($result)){
				// deleta os registros nas tabelas categorias e veiculos
				$query = "DELETE FROM $dbcat, $dbvin WHERE $dbcat.categorias=$dbvin.categoria AND $dbcat.categorias='$dadosatual[categorias]' AND $dbvin.categoria='$dadosatual[categorias]'";
				mysql_db_query($dbname,$query,$link) or die(mysql_error());
							
				// obter os nomes de imagem dbimg
				$query = "SELECT thumb, image FROM $dbimg WHERE codigo='$busca[codigo]'";
				$result = mysql_db_query($dbname, $query, $link);
				if(mysql_num_rows($result)) {

					// apagar arquivos de imagem/miniatura se algum foi encontrado
					while($row = mysql_fetch_array($result)) {
						unlink("miniaturas/$row[thumb]");
						unlink("fotos/$row[image]");
					}

					// remover anúncios de imagem do banco de dados
					$query = "DELETE FROM $dbimg WHERE codigo='$busca[codigo]'";
					mysql_db_query($dbname, $query, $link);
				}					
			}
			mysql_close($link);
			echo "<script language='JavaScript'>alert('Categoria e Veículos excluidos!!!');</script>";
			echo "<script language='JavaScript'>window.location.href='catmca.php?sel=$get&pagina=$i';</script>";
		}
		else {
			mysql_close($link);			
			echo "<script language='JavaScript'>alert('Categoria e Veículos não excluidos!!!');</script>";
			echo "<script language='JavaScript'>window.location.href='catmca.php?sel=$get&pagina=$i';</script>";
		}
	}
	// Exclusão caso não exista automóveis cadastrados naquela categoria
	else{
		// Exclusão no banco de dados
		$query = "DELETE FROM $dbcat WHERE id = $getalt";  
		mysql_db_query($dbname,$query,$link) or die(mysql_error());						
		mysql_close($link);
				
		echo "<script language='JavaScript'>alert('Categoria excluida!!!');</script>";
		echo "<script language='JavaScript'>window.location.href='catmca.php?sel=$get&pagina=$i';</script>";		
	}
}
?>

O código está quase todo funcionando. Só não consigo fazer aquele IF referente ao resultado do javascript funcionar.

 

Grato pela ajuda e pela atenção,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja bem, @dingotaswolf...

 

O Javascript é, como já diz o nome, uma linguagem de script, que roda do lado do cliente, ou seja, quem faz a renderização do Javascript é o browser do usuário.

 

O PHP, por outro lado, é uma linguagem server-side. Seu código é totalmente processado antes de qualquer renderização de browser.

 

Na teoria, não existe a possibilidade de enviar uma variável Javascript para o PHP, já que este não poderá receber algo que ainda não existe, já que não foi renderizado pelo browser no momento em que o código PHP está sendo executado.

 

Porém, como tudo na vida, há uma, ou várias, soluções.

 

O que me vem à mente rapidamente é uma requisição AJAX.

 

Pesquise sobre a utilização de AJAX + Javascript e também sobre a utilização de JSON.

 

[2]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja bem, @dingotaswolf...

 

O Javascript é, como já diz o nome, uma linguagem de script, que roda do lado do cliente, ou seja, quem faz a renderização do Javascript é o browser do usuário.

 

O PHP, por outro lado, é uma linguagem server-side. Seu código é totalmente processado antes de qualquer renderização de browser.

 

Na teoria, não existe a possibilidade de enviar uma variável Javascript para o PHP, já que este não poderá receber algo que ainda não existe, já que não foi renderizado pelo browser no momento em que o código PHP está sendo executado.

 

Porém, como tudo na vida, há uma, ou várias, soluções.

 

O que me vem à mente rapidamente é uma requisição AJAX.

 

Pesquise sobre a utilização de AJAX + Javascript e também sobre a utilização de JSON.

 

 

Obrigado Daniel R. Gomes pelas dicas. Vou pesquisar suas dicas. Postei todo o código para melhor analise dos interessados.

 

Fico no aguardo no novas sugestões.

 

Grato pela ajuda e pela atenção,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @dingotaswolf,

 

Como nosso amigo @Daniel R. Gomes disse o JavaScript é um linguagem que roda na máquina do cliente e não no servidor (como o PHP).

Para resolver o seu problema deve fazer o seguinte:

* Primeiro separar a programação que é apagado o item (categoria) com todo o restante. Uma sugestão é colocar em outro arquivo

* Fazer na programação receber um parâmetro no GET tipo o id no arquivo que você tenha criado anteriormente (ex: apagar.php?id=5)

***** Nesta página não haverá nenhuma confirmação, simplesmente ao acessar com tal id, esse id terá de ser apagado.

* Na página que lista os itens você coloca um link para a pagina de apagar.php com o respectivo id do item, para que asism este seja apagado.

* Ainda na pagina que lista os itens, ao clicar no link você deve exibir sim uma comfirmacao, mas não juntar com PHP... voce deve fazer algo assim:

 

<a href="apagar.php?id=ID_DO_ITEM" onclick="return confirm('deseja mesmo apagar este item?');">apagar</a>

 

Caso tenha mais dúvidas poste aí, esta é a função deste fórum.

 

Espero ter ajudado.

 

 

 

This is it!

 

Vinicius Cainelli

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.