Jump to content



Photo

Script De Upload De Imagens Sem Componentes


  • Please log in to reply
Nenhuma resposta neste tópico

#1 Jow Xavier

Jow Xavier

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino

Posted 15/07/2008, 17:50

Bom primeiro começando a agradecendo o dark0 , pois tava precisando de um UPLOAD de imagem, tbm agradecendo ao Mário Monteiro, o hargon e o Ted'k que me ajudaram a fazer as adaptações nesse script q ficou muito massa, estou postando o código completo ... Vamos lá !!!

Estou utilizando banco de dados MySql, hehehe novidade né ... Criando a base de dados upload e a tabela produtos e categorias
CREATE DATABASE upload;

CREATE TABLE categorias(
id int(10) unsigned not null auto_increment,
classificacao varchar(100) not null,
primary key (id));

CREATE TABLE produtos(
id int(10) unsigned not null auto_increment,
id_categoria varchar(100) not null,
cod_produto varchar(100) not null,
descricao varchar(100) not null,
foto varchar(100) not null,
primary key (id));

conexao.asp // eu salvei dentro de uma pasta config ... opcional
<%
dim cnn
sub abre_conectar
set cnn=server.CreateObject("adodb.connection")
cnn.open "upload" 
end sub
sub fecha_conectar
	 cnn.close
	 Set cnn = nothing
end sub 
%>

produtos.asp
<!-- #include file = "upload_funcoes.asp" -->
<!-- #include file="config/conexao.asp"-->
<% call abre_conectar
sql = "Select * from categorias"
set tab = cnn.execute(sql)%>

<form name="form1" action="inserir_produto.asp" method="post" enctype="multipart/form-data">
<table align="center">
<tr>
<td class="titulo1">Classifica&ccedil;&atilde;o:</td>
<td>
<% if not tab.EOF then %>  
						   
	<SELECT NAME="id_categoria" class="formulario">
<%
		while not tab.EOF %>
		<OPTION value="<%=tab("classificacao")%>"><%=tab("classificacao")%></OPTION>			 
		<% 
			tab.movenext
		wend 
%>
	</SELECT>
<%
	end if
	call fecha_conectar
	set tab = nothing
%>
</td>

</tr>
<tr>
<td class="titulo1">Código produto:</td>
<td><input name="cod_produto" type="text" class="formulario" size="20"></td>
</tr>
<tr>
<td class="titulo1">Descrição:</td>
<td><textarea name="descricao" cols="30" rows="5" class="formulario"></textarea></td>
</tr>
<tr>
<td class="titulo1">Foto:</td>
<td><input name="foto" type="file" class="formulario" size="14">
</td>
</tr>
  <tr>
	<td width="27%"><input type="submit" class="formulario" value="Salvar"></td>
	<td width="30%"><input type="reset" class="formulario" value="Limpar"></td>
	<td width="31%"><a href="escolhe_pra_alterar_produtos.asp" class="linkmenuativo">Alterar</a></td>
	<!--<td width="12%"><a href="form_exclui_clientes.asp" class="link1_inativo">Excluir</a></td> -->
  </tr>
  </table>
  </form>

upload_funcoes.asp // página q faz o upload sem componentes, ñ altere
<%
' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume next

PosBeg = 1
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)

Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))

Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")

Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg = Pos + 6
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)

If PosFile <> 0 And (PosFile < PosBound) Then
PosBeg = PosFile + 10
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "FileName", FileName
Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
PosBeg = Pos + 14
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "ContentType", ContentType
PosBeg = PosEnd + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
PosBeg = Pos + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End If

UploadControl.Add "Value", Value
UploadRequest.Add Name, UploadControl
BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
Loop
End Sub

Function getByteString(StringStr)
For i = 1 To Len(StringStr)
Char = Mid(StringStr, i, 1)
getByteString = getByteString & ChrB(AscB(Char))
Next
End Function

Function getString(StringBin)
getString = ""
For intCount = 1 To LenB(StringBin)
getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
Next
End Function

' Fim upload sem Componentes -----------------------------------------
%>

inserir_produto.asp
<!-- #include file = "upload_funcoes.asp" -->
<%
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

' Recuperando os Dados Digitados ----------------------
classificacao = UploadRequest.Item("id_categoria").Item("Value")
cod_produto = UploadRequest.Item("cod_produto").Item("Value")
descricao = UploadRequest.Item("descricao").Item("Value")

'id_categoria = UploadRequest.Item("id_categoria").Item("Value")

' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("imagens/")
nome_foto = "/"&nome_foto

' pasta + nome dos arquivos
cfoto = "imagens" + nome_foto

' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close
end if

' Conecta-se ao Banco de Dados %>
<!-- #include file="config/conexao.asp"--> 

<%
call abre_conectar
' cadastra os dados no banco de dados
sql = "insert into produtos (id_categoria,cod_produto,descricao,foto) values ('"&classificacao&"', '"&cod_produto&"', '"&descricao&"', '"&cfoto&"')"
set tab = cnn.execute(sql)

call fecha_conectar
set tab = nothing

' Mostra Mensagem de Confirmação na Tela
Response.write "Dados Cadastrados com Sucesso!"

' Redireciona após 5 segundos
response.redirect "produtos.asp"
%>

form_altera_produtos.asp
<!-- #include file = "upload_funcoes.asp" -->
 <!-- #include file="config/conexao.asp"-->

<%

call abre_conectar

'sql = "Select * from membros"  

'set tab = cnn.execute(sql) %>

&lt;script type="text/javascript">

/***********************************************
* Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)
* Copyright 2002-2007 by Sharon Paine
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* IMPORTANT: Put script after tooltip div or 
	 put tooltip div just before </BODY>. */

var dom = (document.getElementById) ? true : false;
var ns5 = (!document.all && dom || window.opera) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false;

var origWidth, origHeight;

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

///////////////////////  CUSTOMIZE HERE   ////////////////////
// settings for tooltip 
// Do you want tip to move when mouse moves over link?
var tipFollowMouse= true;	
// Be sure to set tipWidth wide enough for widest image
var tipWidth= 160;
var offX= 20;	// how far from mouse to show tip
var offY= 12; 
var tipFontFamily= "Verdana, arial, helvetica, sans-serif";
var tipFontSize= "8pt";
// set default text color and background color for tooltip here
// individual tooltips can have their own (set in messages arrays)
// but don't have to
var tipFontColor= "#000000";
var tipBgColor= "#DDECFF"; 
var tipBorderColor= "#000080";
var tipBorderWidth= 3;
var tipBorderStyle= "ridge";
var tipPadding= 4;

// tooltip content goes here (image, description, optional bgColor, optional textcolor)
var messages = new Array();
// multi-dimensional arrays containing: 
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip
<% 
id1 = Request.QueryString("alterar")

sql = "SELECT * FROM produtos WHERE id = "&id1
set tab = cnn.execute(sql) %>
messages[0] = new Array('<%=tab("foto")%>','Imagem Cadastrada',"#FFFFFF");


////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// preload images that are to appear in tooltip
// from arrays above
if (document.images) {
	var theImgs = new Array();
	for (var i=0; i<messages.length; i++) {
	  theImgs[i] = new Image();
		theImgs[i].src = messages[i][0];
  }
}

// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function
// startStr goes before image, midStr goes between image and text
var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</td></tr></table>';

////////////////////////////////////////////////////////////
//  initTip	- initialization for tooltip.
//		Global variables for tooltip. 
//		Set styles
//		Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
	if (nodyn) return;
	tooltip = (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
	tipcss = tooltip.style;
	if (ie4||ie5||ns5) {	// ns4 would lose all this on rewrites
		tipcss.width = tipWidth+"px";
		tipcss.fontFamily = tipFontFamily;
		tipcss.fontSize = tipFontSize;
		tipcss.color = tipFontColor;
		tipcss.backgroundColor = tipBgColor;
		tipcss.borderColor = tipBorderColor;
		tipcss.borderWidth = tipBorderWidth+"px";
		tipcss.padding = tipPadding+"px";
		tipcss.borderStyle = tipBorderStyle;
	}
	if (tooltip&&tipFollowMouse) {
		document.onmousemove = trackMouse;
	}
}

window.onload = initTip;

/////////////////////////////////////////////////
//  doTooltip function
//			Assembles content for tooltip and writes 
//			it to tipDiv
/////////////////////////////////////////////////
var t1,t2;	// for setTimeouts
var tipOn = false;	// check if over tooltip link
function doTooltip(evt,num) {
	if (!tooltip) return;
	if (t1) clearTimeout(t1);	if (t2) clearTimeout(t2);
	tipOn = true;
	// set colors if included in messages array
	if (messages[num][2])	var curBgColor = messages[num][2];
	else curBgColor = tipBgColor;
	if (messages[num][3])	var curFontColor = messages[num][3];
	else curFontColor = tipFontColor;
	if (ie4||ie5||ns5) {
		var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
		tipcss.backgroundColor = curBgColor;
	 	tooltip.innerHTML = tip;
	}
	if (!tipFollowMouse) positionTip(evt);
	else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
	standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
	mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
	mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
	if (tipOn) positionTip(evt);
}

/////////////////////////////////////////////////////////////
//  positionTip function
//		If tipFollowMouse set false, so trackMouse function
//		not being used, get position of mouseover event.
//		Calculations use mouseover event position, 
//		offset amounts and tooltip width to position
//		tooltip within window.
/////////////////////////////////////////////////////////////
function positionTip(evt) {
	if (!tipFollowMouse) {
		standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
		mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
		mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
	}
	// tooltip width and height
	var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
	var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
	// document area in view (subtract scrollbar width for ns)
	var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft;
	var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop;
	// check mouse position against tip and window dimensions
	// and position the tooltip 
	if ((mouseX+offX+tpWd)>winWd) 
		tipcss.left = mouseX-(tpWd+offX)+"px";
	else tipcss.left = mouseX+offX+"px";
	if ((mouseY+offY+tpHt)>winHt) 
		tipcss.top = winHt-(tpHt+offY)+"px";
	else tipcss.top = mouseY+offY+"px";
	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
}

function hideTip() {
	if (!tooltip) return;
	t2=setTimeout("tipcss.visibility='hidden'",100);
	tipOn = false;
}

document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>')

</script>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style>

<table width="100%" height="290" border="0">
<tr>
	<td height="43"></td>
  </tr>
  <tr>
	<td height="43"></td>
  </tr>
  <tr>
	<td height="241"><div align="center"> 


<%
On error resume Next
'Dim objConn, stringSQL, strConnection, id, strDBPath


'Deletando registro da tabela contato onde esta a id
if err <> 0 Then%>
	
<div align="left">
	<center><span class="titulo1">Ocorreu algum erro!</span>
	</font>
  <a href="java script:history.back(-1)" class="link1_inativo">Volta</a></center></div>
<table>
  <tr>
	<td>
	  <%else%>
			
	  <form name="form1" action="altera_dados_produtos.asp" method="post" enctype="multipart/form-data">
 
			 <table border="0" width="502">
				<tr> 
				  <td width="109" valign="top" class="titulo1">Classificação</td>
				  <td width="319"><select name="id_categoria" class="formulario">
				  <option <%Response.Write("selected=""selected""") %>><%=tab("id_categoria")%></option>
				   <%call fecha_conectar
	set tab = nothing%>
	

	<% call abre_conectar
	sql = "Select * from categorias WHERE id > 1 "
	set tab = cnn.execute(sql)%>

	<%while not tab.EOF %>
	 <option><%=tab("classificacao")%></option>
	 <%tab.movenext
		wend%>							   
				</select>
				<%call fecha_conectar
	set tab = nothing%>
	
	<% call abre_conectar
	sql = "SELECT * FROM produtos WHERE id = "&id1
set tab = cnn.execute(sql) %>
				</td>
				   </tr>
				   <tr>
				  <td width="109" valign="top" class="titulo1">Código Produto</td>
				  <td width="319"><input name="cod_produto" type="text" class="formulario" value="<%=tab("cod_produto")%>"></td>
				  </tr>
				   <tr>
				  <td width="109" valign="top" class="titulo1">Descrição</td>
				  <td width="319"><textarea name="descricao" cols="30" rows="5" class="formulario"><%=tab("descricao")%></textarea></td>
				  </tr>
				  <tr>
				  <td width="109" valign="top" class="titulo1">Foto</td>
				  <td width="319"><a onMouseOver="doTooltip(event,0)" onMouseOut="hideTip()"><input name="foto" type="file" class="formulario"></a>
				  <input type="hidden" name="id" value="<%=tab("id")%>"></td>			   
					</tr>
				<tr> 
				  <td> 
					<input name="enviar" type="submit" class="formulario" value="Alterar">
					</td>
				  </tr>
			  </table>
			
	  </form>
	  <%end if%>	</td>
  </tr>
</table>
</td>
  </tr>
</table></td>
  </tr>
</table>
</td>
  </tr>
</table>

escolhe_pra_alterar_produtos.asp
<table width="100%" height="290" border="0">
  <tr>
	<td></td>
  </tr>
  <tr>
	<td height="241"><div align="center"><form action="action_excluir_produtos.asp" method="get">

					  <table width="361">
<tr> 
						  <td width="78" class="titulo1">Classificação</td>
			  <td width="78" class="titulo1">Código Produto</td>
			  <td width="78" class="titulo1">Descrição</td>
		  <td width="63"> 
				  <input name="Submit" type="submit" class="formulario" value="Excluir"></td>
						</tr>

 <!-- #include file="config/conexao.asp"-->					   
<%

call abre_conectar

'Seleciona da tabela contato
sql = "SELECT * FROM produtos "
set tab = cnn.execute(sql)

%>
						<%While Not tab.EOF %>
						<tr> 
						  <td><a href="form_altera_produtos.asp?alterar=<%=tab("id")%>" class="linkmenuativo"><%=tab("id_categoria")%></a></td>
						  <td><a href="form_altera_produtos.asp?alterar=<%=tab("id")%>" class="linkmenuativo"><%=tab("cod_produto")%></a></td>
						  <td><a href="form_altera_produtos.asp?alterar=<%=tab("id")%>" class="linkmenuativo"><%=tab("descricao")%></a></td>						  
					<td> 
							  <input name="radio" type="checkbox" value="<%=tab(0)%>"></td>
						</tr>
					   
						<%
  'Move para o próximo registro
  tab.MoveNext
  Wend
  'Fechando as conexões
  call fecha_conectar
set tab = nothing
  %>
					  </table>
</form></div></td>
  </tr>
</table>

altera_dados_produtos.asp
<!--#include file="config/conexao.asp"-->
<%

call abre_conectar
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

' Recuperando os Dados Digitados ----------------------
id_categoria = UploadRequest.Item("id_categoria").Item("Value")
cod_produto = UploadRequest.Item("cod_produto").Item("Value")
descricao = UploadRequest.Item("descricao").Item("Value")
id = UploadRequest.Item("id").Item("Value")

' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("imagens/")
nome_foto = "/"&nome_foto

' pasta + nome dos arquivos
cfoto = "imagens" + nome_foto

' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close

sql = "UPDATE produtos SET id_categoria = '"&id_categoria&"', cod_produto='"&cod_produto&"', descricao='"&descricao&"', foto = '"&cfoto&"' WHERE id ="&id

On error Resume Next

set tab = cnn.execute(sql)
else
sql = "UPDATE produtos SET id_categoria = '"&id_categoria&"', cod_produto='"&cod_produto&"', descricao='"&descricao&"' WHERE id ="&id

On error Resume Next

set tab = cnn.execute(sql)
end if

'Fecha o Objeto de Conexão
call fecha_conectar
set tab = nothing

if err = 0 Then
	'Redireciona o usuário caso não tenha ocorrido erro na transação
	response.redirect "menu.asp"
end if
%>

action_excluir_produtos.asp
<!-- #include file="config/conexao.asp"-->

<%

call abre_conectar

'Option Explicit
Dim objConn, stringSQL, strConnection, array_id, i, sql_id, id,strDBPath
id = Request.QueryString("radio")
'Caso ocorra algum erro os precessos não são interrompidos 
'e é passado para a próxima linha de comando
On error Resume Next %><style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style>

	<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
	<td height="43"></td>
  </tr>
  <tr>
<tr>
	<td height="43"></td>
  </tr>
	  <tr> 
		<td valign="top">
		  <div align="left">
			<% 
		if err = 0 and id <> "" then
			array_id = split(id,",")
			For i=0 to ubound(array_id)
				sql_id = sql_id & "produtos.id = " & Trim(array_id(i)) & " OR "
														 'campo texto, entao" & Trim(array_id(i)) & " OR "
														 'caso numerico '" & Trim(array_id(i)) & "' OR "
			Next
			sql_id = left(sql_id,(len(sql_id)-4))
			sql = "DELETE FROM produtos WHERE "&sql_id&""
			
						set tab = cnn.execute(sql)
			
			call fecha_conectar
set tab = nothing
		  
%>
			<table align="center">
				<tr bgcolor="">
				  <td>Seus 
					dados foram exclu&iacute;dos com sucesso!</td>
						  </tr>
			  </table>
			
			  
				<%else%>
				<br>
				<center>Ocorreu algum erro!<br>
				<br>
				Nenhum dado foi excluido!</span><br><br>
				<a href="java script:history.back(-1)" class="link1_inativo">Volta</a></center></div>
		  
		  <%End if%>		</td>
	  </tr>
	</table>

</td>
  </tr>
</table></td>
  </tr>
</table>

Bom galera é isso ai ... espero q gostem hehehe ... Dúvidas ou elogios postem ai

obs: Para gerar uma imagem thumb é necessário de um script de upload com componentes, infelismente sem componentes isso ñ é possivel, mas é possivel gerar a imagem menor no próprio código como se fosse um thumb ... manda imprimir na tela uma imagem menor <img src="pasta/<%=variavel("campo")%>" height="120" width="120" border="0"></a> Abraçosssss

Edited by Jow Xavier, 15/07/2008, 17:52.

  • 0




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq