Ir para conteúdo

POWERED BY:

Arquivado

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

kel teixeira

GuestBook [Livro de visitas] - erro 800A0034

Recommended Posts

Pessoal, seguinte, tenho problemas com mdb no servidor, os scripts não gravam as informações.

 

Então, procurei muito um sistema de Guestbook [Livro de visitas] que gravasse em .txt.

Pois bem, encontrei, mas o mesmo quando usado online, não funciona, mostra 'File not found'; e se coloco a url completa 'Patch not found'.

No PC ele roda legal se colocar o caminho do arquivo com 'c:\inetpub\wwwroot\guestbook\asp', com http:// nada!

Eis o código um pouco longo, acredito que o mistério esteje nas 'Variáveis de Configuração'.

 

<%
'# Variáveis de Configuração
Wall_File	= "http://localhost/guestbook/asp/mural.txt"
Wall_URL	 = "http://localhost/guestbook/asp"
Wall_Title   = "Livro de visitas"
Wall_Censure = Array("p****", "#@?$%~", "m*****", "#@?$%~")
Wall_Pages   = "5"
Wall_HTML	= True
Wall_Smiles  = False
Wall_Jumper  = True

'# Variáveis de Sistema
Action   = Request.QueryString("Action")
Pager	= Eval(Request.QueryString("Pager"))
Name	 = Request.Form("Name")
Email	= Request.Form("Email")
WebSite  = Request.Form("WebSite")
Message  = Request.Form("Message")
ASP_SELF = Request.ServerVariables("URL")

'# Funções
Function HTMLS(TextsEncode, WritingHTML)
 TextsEncode = Trim(TextsEncode)
 If Wall_HTML = True And WritingHTML = False Then
  TextsEncode = Replace(TextsEncode, "|", "|")
  TextsEncode = Server.HTMLEncode(TextsEncode)
 End If
  TextsEncode = Replace(TextsEncode, "|", "|")
 HTMLS = TextsEncode
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function Censure(TextsCensure)
 For Each ValueCensures In Wall_Censure
  TextsCensure = Replace(TextsCensure, ValueCensures, "***")
 Next
 Censure = TextsCensure
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function Jump(TextsJump, WritingJump)
 TextsJump = Replace(TextsJump, vbTab, " ")
 TextsJump = Replace(TextsJump, "  ", " ")
 If WritingJump = True Then
  TextsJump = Replace(TextsJump, vbCrLf, "{br}")
 ElseIf Wall_Jumper = True Then
  TextsJump = Replace(TextsJump, "{br}", "<br>")
 Else
  TextsJump = Replace(TextsJump, "{br}", " ")
 End If
 Jump = TextsJump
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function Smilies(TextsSmilies)
 If Wall_Smiles = True Then
  If Wall_HTML = True Then
   TextsSmilies = Replace(TextsSmilies, "<", "<")
   TextsSmilies = Replace(TextsSmilies, ">", ">")
  End If
  Code_Smilies = Array("::)", ":)", ";)", ":D", ";D", ">:(", ":(", ":o", "8)", "???", ":P", ":-[", ":-X", ":-/", ":-*", ":'(")
  Image_Smilie = Array("rolleyes", "smiley", "wink", "cheesy", "grin", "angry", "sad", "shocked", "cool", "huh", "tongue", "embarassed", "lipsrsealed", "undecided", "kiss", "cry")
  ConterSmilie = "0"
  For Each ValueSmilie In Code_Smilies
   TextsSmilies = Replace(TextsSmilies, ValueSmilie, "<img src=""" & Wall_URL & "/images/" & Image_Smilie(ConterSmilie) & ".gif"" width=""15"" border=""0"">")
   ConterSmilie = (ConterSmilie + 1)
  Next
 End If
 Smilies = TextsSmilies
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function ValidEmail(TextEmail)
 Valid = True
 If Len(TextEmail) < 5 Or Instr("1", TextEmail, " ") <> "0" Or InStr("1", TextEmail, "@") < "1" Or InStrRev(TextEmail, ".") < (InStr("1", TextEmail, "@") + 2) Then
  Valid = False
 End If
 ValidEmail = Valid
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function Error(errors)
%>
<br>
<div align="center">
  <center>
<table border="1" width="60%" valign="center" cellspacing="0" cellpadding="5" style="border-collapse: collapse" bordercolor="#BE2F60">
 <tr bgcolor="#be2f60">
  <td valign="center"><font size="1"><b>Um Erro Ocorreu !!!</b></font></td>
 </tr><tr bgcolor="#000000">
  <td align="center"><br><font size="1"><b><%= errors %></b></font><br><br></td>
 </tr>
</table>
  </center>
</div>
<br><center>
<a href="java script:window.self.history.back();"><font size="1">[ voltar ]</font></a>
</center><br>
<%
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function ReadMessages()
 Index()
 Set Reading = Server.CreateObject("Scripting.FileSystemObject")
 Set Content = Reading.OpenTextFile(Wall_File)
 Split_Messages = Split(Content.ReadAll, "\n")
 Total_Messages = UBound(Split_Messages)
 Total_Pages	= (Total_Messages / Wall_Pages)
 If InStr("1", Total_Pages, ",") > "1" Then
  Ceil_Number = Split(Total_Pages, ",")
  Total_Pages = Eval(Ceil_Number("0") + 1)
 End If
 If Pager = "" Or IsNumeric(Pager) = False Or Pager <= "0" Or Pager > Total_Pages Then Pager = Eval("1") End If
 Start_Pages = ((Pager - 1) * Wall_Pages)
 Ender_Pages = (Start_Pages + Wall_Pages)
 If Ender_Pages > Total_Messages Then Ender_Pages = Total_Messages End If
 For M = Start_Pages To (Ender_Pages - 1)
  Data_Messages = Split(Split_Messages((Total_Messages - M - 1)), "|")
  Name_Messages = HTMLS(Censure(Data_Messages("0")), False)
  Data_Message  = Jump(Smilies(HTMLS(Censure(Data_Messages("3")), False)), False)
  If Data_Messages("2") = "" Then LinkSite = "" Else LinkSite = "- <a href=""" & HTMLS(Data_Messages("2"), False) & """ target=""_blank"" class=""map2"">WebSite</a>" End If
  Display = "<!-- #" & (M + 1) & " -->" & vbCrLf & "<table width=""80%"" border=""0"" cellspacing=""0"" cellpadding=""2"" align=""center"">" & vbCrLf
  Display = Display & "<tr><td><font size=""1""><i>» Data/Hora: (" & Data_Messages("4") & ")</font></i></td></tr>" & vbCrLf
  Display = Display & "<tr><td bgcolor=""#be2f60""><font size=""1""><b> » " &  Name_Messages & " - <a href=""mailto:" & HTMLS(Data_Messages("1"), False) & """ class=""map2"">E-mail</a> " & LinkSite & "</b></font></td></tr>" & vbCrLf
  Display = Display & "<tr><td bgcolor=""#303437""><font size=""1"">" & Data_Message & "</font></td></tr></table><br>" & vbCrLf & "<!-- #" & (M + 1) & " -->" & vbCrLf
  Response.Write Display
 Next
 Response.Write "<blockquote>" & vbCrLf & "<font color=""#CCCCCC"" size=""1"">[Total <b>" & Total_Messages & "</b> Mensagens - Página <b>" & Pager & "</b> de <b>" & Total_Pages & "</b>]</font><br>" & vbCrLf
 If Pager = "1" Then
  Response.Write "<font color=""#808080""  size=""1"">[+ Novas]</font>"
 Else
  Response.Write "<a href=""" & ASP_SELF & "?Pager=" & (Pager - 1) & """ class=""map""><font  size=""1"">[+ Novas]</font></a>"
 End If
'#----------------
  Response.Write " | "
'#----------------
 If Pager = Total_Pages Then
  Response.Write "<font color=""#808080""  size=""1"">[+ Velhas]</font>" & vbCrLf
 Else
  Response.Write "<a href=""" & ASP_SELF & "?Pager=" & (Pager + 1) & """ class=""map""><font  size=""1"">[+ Velhas]</font></a>" & vbCrLf
 End If
 Response.Write "</blockquote>" & vbCrLf
 Content.Close
 Set Content = Nothing
 Set Reading = Nothing
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function RecordMessages()
 If Name = "" Then
  Error("Você Deve Colocar seu Nome ou Nick")
 ElseIf Email = "" Then
  Error("Você Deve Colocar seu E-mail")
 ElseIf ValidEmail(Email) = False Then
  Error("Você Deve Colocar um E-mail Válido")
 ElseIf Message = "" Then
  Error("Você Deve Colocar sua Mensagem")
 Else
  If WebSite = "" Or WebSite = "" Then WebSite = "" End If
  Data_Jumper = Jump(Message, True)
  Dater_Timer = Date() & " - " & Time()
  Set Reading = Server.CreateObject("Scripting.FileSystemObject")
  Set Writing = Reading.OpenTextFile(Wall_File, "8", True)
  Writing.Write HTMLS(Name, True) & "|" & HTMLS(Email, True) & "|" & HTMLS(WebSite, True) & "|" & HTMLS(Data_Jumper, True) & "|" & Dater_Timer
  Writing.WriteLine "\n"
  Writing.Close
  Set Writing = Nothing
  Set Reading = Nothing
  ReadMessages()
 End If
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

function Index()
 Response.Write vbCrLf & "<br><center>"
 If Action = "Write" Then
  Response.Write "<a href=""" & ASP_SELF & "?Action=Read"" class=""map"">[ <font size=""1"" face=""Verdana,Arial"">Ler Mensagens</font> ]</a>"
 Else
  Response.Write "<a href=""" & ASP_SELF & "?Action=Write"" class=""map"">[ <font size=""1"" face=""Verdana,Arial"">Escrever Mensagem</font> ]</a>"
 End If
 Response.Write "</center><br>" & vbCrLf
End Function

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Function WriteMessages()
 Index()
%>
<script language="JavaScript" type="text/javascript">
function Code(values) { document.MuralSK_ASP.Message.value += ' ' + values; }
</script>
<form action="<%= ASP_SELF %>?Action=Record" method="POST" name="MuralSK_ASP">
<div align="center">
  <center>
<table border="0" cellspacing="0" cellpadding="3" style="border-collapse: collapse">
 <tr>
  <td align="right">
  <p align="left"><font color="#CCCCCC" size="1"><b>Nome*:</b></font></td>
  <td align="left">
  <input type="text" name="Name" style="border: 1px solid #BE2F60;background-color: #303437;color:#28FFF1; font-size:8 pt" size="55"></td>
 </tr><tr>
  <td align="right">
  <p align="left"><font color="#CCCCCC" size="1"><b>E-mail*:</b></font></td>
  <td align="left">
  <input type="text" name="Email" style="border: 1px solid #BE2F60;background-color: #303437;color:#28FFF1; font-size:8 pt" size="55"></td>
 </tr><tr>
  <td align="right">
  <p align="left"><font color="#CCCCCC" size="1"><b>WebSite:</b></font></td>
  <td align="left">
  <input type="text" name="WebSite" value="http://" style="border: 1px solid #BE2F60;background-color: #303437;color:#28FFF1; font-size:8 pt" size="55"></td>
 </tr>
<%
If Wall_Smiles = True Then
%>
 <tr>
  <td colspan="2" align="center">
   </td>
 </tr>
<%
End If
%>
 <tr align="center">
  <td colspan="2">
  <p align="left"><font color="#CCCCCC" size="1"><b>Mensagem*:</b></font><br>
  <textarea name="Message" cols="55" rows="10" style="border: 1px solid #BE2F60;background-color: #303437;color:#28FFF1; font-size:8 pt"></textarea></td>
 </tr><tr align="center">
  <td colspan="2" align="center">
  <input type="submit" value="escrever" style="color: #28FFF1; font-size: 8 pt; border: 1px solid #BE2F60; background-color: #303437"> <input type="reset" value=" limpar " style="color: #28FFF1; font-size: 8 pt; border: 1px solid #BE2F60; background-color: #303437"></td>
 </tr>
 <tr align="center">
  <td colspan="2" align="center">
  <p align="left"><i><font size="1">* itens obrigatórios.</font></i></td>
 </tr>
</table>
  </center>
</div>
</form>
<%
End Function
%>
<html>
 <head>
  <title><%= Wall_Title %></title>
  <link href="http://www.laurapausinionline.com/global.css" rel="stylesheet" type="text/css">
 </head>
<body text="#FFFFFF" link="#28FFF1" alink="#28FFF1" vlink="#28FFF1" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<%
'# Query Strings
If Action = "" Or Action = "Read" Then
 ReadMessages()
ElseIf Action = "Write" Then
 WriteMessages()
ElseIf Action = "Record" Then
 RecordMessages()
Else
 ReadMesages()
End If
%>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já verificou o caminho do arquivo? Verificou permissões de leitura e gravação?

 

Posta o erro completo e a linha com erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já verifiquei, colocando o caminho na barra de endereço o mural.txt abre.

 

Tipo de erro:
Erro de tempo de execução do Microsoft VBScript (0x800A0034)
Nome ou número de arquivo inválido
/guestbook/asp/Default.asp, line 112

ou seja, na linha:

Set Content = Reading.OpenTextFile(Wall_File)

 

codígo original foi editado! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

altere o Wall_File

de "http://localhost/guestbook/asp/mural.txt"

para "c:\Inetpub\wwwroot\asp\mural.txt"

você precisa ter a pasta asp dentro de c:\Inetpub\wwwroot

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o server.mappath no servidor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Através do método Server.MapPath() é possível obter o diretório completo a partir do diretório relativo de seu site.

 

Assim, “/” se torna c:\diretorio\do\meu\site\wwwroot e “/img” irá se tornar c:\diretorio\do\meu\site\wwwroot\img.

 

Tente isso em um arquivo com extensão “.asp”:

< %= Server.MapPath("/") %>

Por possibilitar o funcionamento automático de muitos scripts quando da troca de servidor ou de pasta este método é mais recomendado do que o uso path completa.

 

HTML>
<HEAD>
</HEAD>
<BODY>
O caminho desse arquivo é <% Response.Write Server.MapPath("test.asp") 
%>
O caminho do arquivo 1 <% Response.Write Server.MapPath("\test.asp") 
%>
O caminho do arquivo 2 <% Response.Write Server.MapPath("test\test.asp") 
%>
O caminho do arquivo 3 <% Response.Write Server.MapPath("\") 
%>
</BODY>
</HTML>

Output:

O caminho desse arquivo é D:\Inetpub\wwwroot\test.asp

O caminho do arquivo 1 D:\Inetpub\wwwroot\test.asp

O caminho do arquivo 2 D:\Inetpub\wwwroot\test\test.asp

O caminho do arquivo 3 D:\Inetpub\wwwroot

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, só agora me dá

 

Microsoft VBScript runtime error '800a0046'

 

Permission denied

 

/guestbook/Default.asp, line 216

Sendo q as permissões de pasta e arquivos estão '777'.

 

O que fazer neste caso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve dar permissão na pasta que deseja acessar.

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.