Ir para conteúdo

POWERED BY:

Arquivado

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

kania

MOdificando chamada de PHP para Asp

Recommended Posts

Olá pessoal,

 

algém sabe como faço para escrever esta linha

 

 

$_SERVER['Minha-Funcao']

que esta em PHP em ASP?

 

Esta linha esta comentado em um código que peguei na internet, parte do código é:

 

}else{ //POST
			ajax.open(method, url ,true);
			ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			ajax.setRequestHeader("Content-length", query.length);			
		}
		ajax.setRequestHeader('X-Requested-With', 'ajax'); //dizendo ao servidor que foi pedido via ajax. Recupera-se com $_SERVER['X-Requested-With'] (no php)
		ajax.setRequestHeader("Cache-Control", "no-cache");
		ajax.setRequestHeader("Pragma", "no-cache");
		ajax.send(query);

Pois estou precisando recuperar um valor digitado em um campo input do form e enviar a um script asp para verificar se o valor é verdadeiro ou falso no banco de dados e retornar a informação para o usuário

 

o código asp que pega o valor digitado no form é

 

<%
IdConsultor =' <---- AQUI QUE VEM O VALOR ENVIADO PELO AJAX, EM ASP EU COLOCO Request.QueryString("IdConsultor"), POREM DESTA FORMA NÃO ESTA RECUPERANDO O VALOR

Set RS = Server.CreateObject("adodb.recordset")
	SQL = "select *  from cad_consultor where IdConsultor = '" & IdConsultor & "'"
	RS.Open SQL,Conn,3,3
	If Rs.EOF then
%>
<div id="SemPatrocinador">
<p><%=IdConsultor%>****ERRO: Partocinador não encontrador.<br>Por favor verifique o ID do Patrociandor, pois não é possivel efetuar modificações após a finalização do cadastro.</p>
</div>
<%
else
Session("IdConsultor") = RS("IdConsultor")
Session("Nome") = RS("Nome")
%>
<div id="PatrocinadorOK">
<p><%=Session("IdConsultor")%> - <%=Session("Nome")%>
</div>
<%
end if
RS.Close
Set RS = Nothing
%>

Se eu jogar na chamda da função a url assim verifica_patrocinador.asp?IdConsultor=2 funciona, mas é claro que eu não posso definir manualmente o ID do individuo, pois este será digitado no campo, eu não sei quan é o ID ainda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$_SERVER é o mesmo que Request.ServerVariables em ASP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Hargon, obrigado pela resposata, eu coloquei assim

 

IdConsultor = Request.ServerVariables("X-Requested-With")

Porem de qualquer forma ele não consegue recuperar o valor que foi digitado no campo input do form, esta errado a forma de indicar o Request.ServerVariables?

 

e se colocar assim

 

IdConsultor = Request.ServerVariables(X-Requested-With)

Sem Aspas

 

Falha no carregamento. 500: Erro desconhecido do servidor

Ou seja não aceita o X-Requested-With como uma variavel onde estaria carregado o valor digitado no form

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que realmente você deseja fazer ?

 

olha a coleção ServerVariables contém várias informações enviadas do browser do cliente e informações do servidor. Estas variáveis de ambiente são sempre criadas quando uma nova página ASP é requisitada no servidor. O uso das ServerVariables são bem útil em várias aplicações que necessitam de informações do servidor ou do navegador do cliente.

 

ServerVariables

 

A sintaxe para o uso dessa coleção é a mesma usada nas outras coleções do objeto request: (objeto.coleção("elemento")) - request.ServerVariables("variável_de_ambiente"). A varável de ambiente é uma entre as várias existentes, como por exemplo: request.ServerVariables("SCRIPT_NAME"). Este contém as informações sobre o PATH da raiz virtual do servidor até o nome do arquivo como: adm/arquivos/teste.asp. Abaixo listaremos as variáveis de ambiente dessa coleção e sua respectiva função.

 

ALL_HTTP - Lista todos os headers HTTP enviados pelo browser do cliente ao servidor. Informações tais como: host origem, página de origem, caracteristicas do navegador cliente, entre outras.

ALL_RAW - Retorna todas as informações enviadas por cabeçalho HTTP da página em seu estado original.

APPL_MD_PATH - Devolve o caminho lógico do arquivo ASP em questão (path do metabase).

APPL_PHYSICAL_PATH - Caminho físico do arquivo no disco. Este corresponde ao caminho lógico do APPL_MD_PATH (path do metabase).

AUTH_TYPE - Método de autenticação utilizado pelo servidor para validar usuários que solicitam um script.

AUTH_USER - Nome de usuário fornecido ao servidor em caso de não permitir acesso anônimo ao diretório. Este poderá ser o nome de um usuário de domínio ou usuário do Windows.

AUTH_PASSWORD - Senha referente ao usuário logado. Esta variável apenas se encontra disponível no modo básico de autenticação (basic authentication). Para este, é necessário o login ser feito pela caixa de diálogo ao requisitar a página.

CERT_COOKIE - ID do certificado digital do cliente.*

CERT_FLAGS - Valor de dois bits: bit 0 igual a 1 indica se o certificado do cliente está presente, bit 1 igual a 1, indica que a autoridade de certificação do certificado do cliente é inválida.*

CERT_ISSUER - Campo Issuer do certificado do cliente (O=MS, OU=IAS, CN=usuário, C=USA).*

CERT_KEYSIZE - Número de bits na chave de conexão Secure Sockets Layer - SSL. Ex.: 64, 128.*

CERT_SECRETKEYSIZE - Número de bits na chave do "Server certificate private" (chave privada).*

CERT_SERIALNUMBER - Campo Serial Number do certificado digital do cliente.*

CERT_SERVER_ISSUER - Campo Issuer do certificado do servidor.*

CERT_SERVER_SUBJECT - Campo Subject do certificado SSL do servidor.*

CERT_SUBJECT - Campo Subject do certificado do cliente.*

CONTENT_LENGTH - Tamanho em bytes, do conteúdo de uma requisição request ao servidor.

CONTENT_TYPE - Tipo de requisição enviada ao servidor pelo cliente.

GATEWAY_INTERFACE - Tipo de interface CGI usada no servidor web para manipular a solicitação (request).*

HTTP_nomeheader - Valor armazenado no header especificado. Podemos destacar os mais comuns: HTTP_ACCEPT, HTTP_ACCEPT_ENCODING, HTTP_ACCEPT_LANGUAGE, HTTP_COOKIE, HTTP_USER_AGENT, HTTP_REFERER.

HTTPS - Retorna à uma solicitação request, dizendo se o canal é seguro (ON) ou não seguro (OFF).

HTTPS_KEYSIZE - Número de bits na chave de conexão Secure Sockets Layer - SSL.*

HTTPS_SECRETKEYSIZE - Número de bits na chaver do "server certificate private".*

HTTPS_SERVER_ISSUER - Campo Issuer do certificado do servidor.*

HTTPS_SERVER_SUBJECT - Campo subject do certificado do servidor.*

INSTANCE_ID - ID, em formato texto, para a instância do Internet Information Server (IIS).*

INSTANCE_META_PATH - Path do metabase para a instância do Internet Information Server (IIS) que responde à solicitação (request).*

LOCAL_ADDR - Retorna o endereço lógico do servidor onde foi feito a requisição (o endereço do servidor onde se encontra o arquivo chamado).

LOGON_USER - Conta do usuário usada para efetuar o logon no Windows.*

PATH_INFO - Caminho virtual do arquivo que realizou a requisição, apartir da raiz do servidor. Ex.: /arquivos/documento.asp

PATH_TRANSLATED - Versão da variável "PATH_INFO" transformado em path físico.

QUERY_STRING - Retorna as variáveis passadas por cabeçalho HTTP à uma página via QueryString. Estes são apresentados apartir do ponto de interrogação - ? . Ex.: arquivo.asp?id=1&opcao=2=versao=a. Esta varável retorna: id=1&opcao=2=versao=a

REMOTE_ADDR - Retorna endereço IP da máquina cliente que requisitou algo ao servidor.

REMOTE_HOST - Nome do host que requisitou algo ao servidor.

REMOTE_USER - Nome da máquina que solicitou o arquivo asp ao servidor. Disponível somente se disponível.

REQUEST_METHOD - Método usado pela requisição ao servidor (GET ou POST)

SCRIPT_NAME - Path virtual do arquivo ASP requisitado ao servidor.

SERVER_NAME - Nome do servidor onde foi realizada a requisição (pode ser retornado o endereço IP, DNS alias ou nome do host).

SERVER_PORT - Retorna o número da porta onde foi realizada a requisição ao servidor.

SERVER_PORT_SECURE - Retorna 0 ou 1. Diz se a porta onde é recebida as solicitações pelo servidor é segura (1) ou não segura (0).

SERVER_PROTOCOL - Retorna nome e versão respectivamente do protocolo usado pelo servidor WEB para interpretar a solicitação. Ex.: HTTP/1.1

[/b] - Retorna nome e versão do servidor WEB. Ex.: Microsoft-IIS/5.1

URL - Endereço URL base requisitado (sem a QueryString) pelo browser cliente.*

 

 

As variáveis que HTTPS, provavelmente não poderão ser testadas ou usadas sem um ambiente seguro.

 

Vejamos abaixo como usar algumas essas variáveis:

 

<%
Dim variavel_1
Dim variavel_2
Dim variavel_3

variavel_1 = request.ServerVariables("LOCAL_ADDR")
variavel_2 = request.ServerVariables("REMOTE_ADDR")
variavel_3 = request.ServerVariables("PATH_INFO")

response.write("Endereço (local) Servidor: " & variavel_1)
response.write("<br>")
response.write("Endereço Cliente: " & variavel_2)
response.write("<br>")
response.write("Path raiz: " & variavel_3)
response.write("<br>")
response.write("Nome do Servidor: " & request.ServerVariables("SERVER_NAME"))
%>

 

* Informações retiradas do livro "ASP - Guia de Consulta Rápida"

Compartilhar este post


Link para o post
Compartilhar em outros sites

então oque estou tentando fazer é passar via Ajax o ID (numero informado no campo input do form para um pagina asp, que vai conectar no BD e verificar se o ID digitado no campo é valido e existe no BD e então trazer o nome do Usuário equivalente aquele ID, porem bão esta dando, estou com outra função aqui que funciona certinho o IE mas não funciona no FF, vejam a função.

 

 

try{
	xmlhttp = new XMLHttpRequest();
}catch(ee){
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(E){
			xmlhttp = false;
		}
	}
}

fila=[];
ifila=0;

function ajaxLoad(url, destino){
	if(destino!=Object){ destino = document.getElementById(destino); }
	if(destino.nodeName=="SELECT"){
		while(destino.options.length>0)destino.options[0]=null;
		destino.options[0]=new Option(" -- Aguarde -- "," -- Aguarde -- ");
	} else {
		destino.innerHTML="Carregando...";
	}
	fila[fila.length]=[url,destino];
	if((ifila+1)==fila.length)ajaxRun();
}

function ajaxShow(valor,destino){
	if(destino.nodeName=="SELECT"){
		while(destino.options.length>0)destino.options[0]=null;
		if(valor.charAt(0)=="[" && valor.charAt(valor.length-1)=="]"){
			var destinoTmp=eval(valor);
			for(var i=0;i<destinoTmp.length;i++){
				destinoTmp[i][0]=unescape(destinoTmp[i][0]);
				destinoTmp[i][1]=unescape(destinoTmp[i][1]);
				destino.options[destino.options.length]=new Option(destinoTmp[i][1],destinoTmp[i][0]);
			}
		} else {
			destino.options[destino.options.length]=new Option(valor,valor);
		}
	} else {
		destino.innerHTML = unescape(valor.replace(/\+/g," ")); 
	}
}

function ajaxRun(){
	url = fila[ifila][0];
	destino = fila[ifila][1];
	xmlhttp.open("POST", url, true);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
	xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	xmlhttp.setRequestHeader("Pragma", "no-cache");
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4){
			switch(xmlhttp.status){
				case 200: { ajaxShow(xmlhttp.responseText,destino); break }
				case 204: { ajaxShow("O servidor não respondeu ao chamado",destino); break }
				case 400: { ajaxShow("Endereço inválido",destino); break }
				case 403: { ajaxShow("Você não possui permissão para acessar esse arquivo",destino); break }
				case 404: { ajaxShow("Arquivo não encontrado",destino); break }
				case 500: { ajaxShow("Erro interno do servidor...",destino); break }
				case 502: { ajaxShow("Servidor ocupado.",destino); break }
				case 503: { ajaxShow("O servidor não respondeu no tempo limite",destino); break }
				 default: { ajaxShow("Algum erro ocorreu ao carregar este conteúdo...",destino); break }
			}
			ifila++;
			if(ifila<fila.length)setTimeout("ajaxRun()",20);
		}
	}
	xmlhttp.send(url);
}

function ajaxForm(f, url, destino){
	if(f!=Object){ f = document.getElementById(f); };
	var query=url;
	for (i=0;i<f.elements.length;i++){
		query += i==0 ? '?' : '&';
		query += f.elements[i].name + '=' + f.elements[i].value;
	}
	ajaxLoad(query, destino);
}

no campo do form eu coloco

 

onblur="java script:ajaxForm('formCadastro','verifica_patrocinador.asp','MostraPatrocinador'); return false;"

Como disse esta função esta funcionando no IE, mas não funciona no FF, apesar de estar referenciaod no inicio do código Ajax os elementos

 

 

try{
	xmlhttp = new XMLHttpRequest();
}catch(ee){
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(E){
			xmlhttp = false;
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

é gerado algum erro ???

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.