Ir para conteúdo

POWERED BY:

Arquivado

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

masterofdreams

Probleminha chatinho

Recommended Posts

estou com este arquivo index.html

 

<html>

<head>

<title>Newsletter</title>

</head>

 

<body>

<table width="100%" height="100%">

<tr>

<td align="center">

<table>

<tr>

 

<td width="284"><form action="processar.asp" method="post" name="newsletter" id="newsletter">

<table width="95%" border="1" align="center" cellpadding="0" cellspacing="0">

<tr>

<td colspan="3"><div align="center">Newsletter</div></td>

</tr>

<tr>

<td width="19%"> Nome:</td>

<td width="55%"><input name="nome" type="text" id="nome"></td>

<td width="26%"> </td>

</tr>

<tr>

<td> E-mail:</td>

<td><input name="email" type="text" id="email"></td>

<td><div align="center">

<input type="submit" name="Submit" value="Enviar">

</div></td>

</tr>

<tr>

<td colspan="3"><div align="center">

<input name="opcao" type="radio" value="adicionar" checked>

Adicionar

<input type="radio" name="opcao" value="remover">

Remover</div></td>

</tr>

</table>

</form></td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>

 

 

processar.asp

 

<%

'Aqui abrimos a conexão com nosso banco de dados

Set Conex = Server.CreateObject ("ADODB.Connection")

Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("database/dados.mdb")

 

 

'Coletamos os dados do formulário

nome = request("nome")

email = request("email")

opcao = request("opcao")

 

'Verificamos os dados

if nome = "" then

alerta = alerta + "- Nome<br>"

end if

if instr(email,"@") = 0 then

alerta = alerta + "- E-mail inválido."

end if

 

 

 

'Se não forem encontrados erros ele executa as instruções abaixo

if alerta = "" then

 

'Pega os dados do formulário e verifica se o email já não está cadastrado no banco

Set verificar = Server.CreateObject("ADODB.Recordset")

sql = "Select * from usuarios where nome='"&nome&"'and email='"&email&"'"

verificar.open sql, conex, 1,1

 

'Se não for encontrado o registro e a opção for igual a adicionar

if verificar.eof and opcao = "adicionar" then

'Efetua o cadastro

Set cadastra = Server.CreateObject("ADODB.Recordset")

sql = "Select * from usuarios"

cadastra.open sql, conex, 3,3

cadastra.addnew

cadastra("nome") = nome

cadastra("email") = email

cadastra.update

 

'Exibe uma mensagem de que o cadastro foi realizado

alerta = ("Cadastro realizado com sucesso!")

 

'Se não for encontrado o registro e a opção for igual a remover

elseif verificar.eof and opcao = "remover" then

alerta = ("Seu e-mail não foi encontrado.")

 

'Se o registro for encontrado e a opção for igual a remover

elseif opcao = "remover" then

'Remove o e-mail

Set remover = Server.CreateObject("ADODB.Recordset")

sql = "Select * from usuarios where nome='"&nome&"'and email='"&email&"'"

remover.open sql, conex, 3,3

remover.delete

'Exibe uma mensagem de que o registro foi removido com sucesso

alerta = ("Seu e-mail foi removido de nossa lista com sucesso!")

 

'Se a opção for igual a adicionar e o email for encontrado

else

'Exibe uma mensagem de erro

alerta = ("Seu e-mail já está cadastrado em nosso banco!")

 

 

end if

end if

 

'Exibe as mensagens na tela

response.Write(alerta)

%>

 

 

 

e quando processa da erro

 

 

Tipo de erro:

Microsoft JET Database Engine (0x80040E09)

Não é possível atualizar. O banco de dados ou o objeto é somente leitura.

/processar.asp, line 36

 

 

Alguem pode me ajudar, nao aguento mais...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O BD é somente leitura, e provavelmente você terá que solicitar permissão de escrita (peça ao seu host) na pasta que está o BD.Se não for isso... entra nas propriedades do arquivo mdb (click direito do mouse) pra ver se não tá como "Somente Leitura". Se tiver, é só desclicar.[]'s

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.