Ir para conteúdo
Fórum Script Brasil
  • 0

Verificação Se Login Ja Existe


Carlos Rocha

Pergunta

Ola pessoal, to com um problema.

Sou novato em asp.net, e criei um form para criar usuarios no meu site.

O problema é que eu não estou sabendo como fazer para verificar se o nome de usuario que a pessoa escolheu, já esta cadastrada, e como negar o cadastro.

No asp classico eu sei mas no .net muda muito.

Segue meu código:

Se alguém puder ajudar desde já agradeço.


<%@ Page Language="VB" ContentType="text/html" %>
<%@ Register TagPrefix="MM" Namespace="DreamweaverCtrls" Assembly="DreamweaverCtrls,version=1.0.0.0,publicKeyToken=836f606ede05d46a,culture=neutral" %>
<MM:Insert
runat="server"
CommandText='<%# "INSERT INTO dbo.usuarios (Usuario, Senha) VALUES (@Usuario, @Senha)" %>'
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_usuarios") %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_usuarios") %>'
Expression='<%# Request.Form("MM_insert") = "form1" %>'
CreateDataSet="false"
SuccessURL='<%# "default.aspx" %>'
FailureURL='<%# "portal/cadastra.aspx" %>'
Debug="true"
>
  <Parameters>
    <Parameter Name="@Usuario" Value='<%# IIf((Request.Form("Usuario") <> Nothing), Request.Form("Usuario"), "") %>' Type="VarChar" />
    <Parameter Name="@Senha" Value='<%# IIf((Request.Form("Senha") <> Nothing), Request.Form("Senha"), "") %>' Type="VarChar" />
  </Parameters>
</MM:Insert>
<MM:PageBind runat="server" PostBackBind="true" />

<form method="post" name="form1" runat="server">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Usuario:</td>
      <td>
        <asp:textbox id="Usuario" TextMode="SingleLine" Columns="32" runat="server" />
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Senha:</td>
      <td>
        <asp:textbox id="Senha" TextMode="SingleLine" Columns="32" runat="server" />
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td>        <asp:Button Text="Insert" runat="server" id="Button"/>        </td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;</p>


Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
Ola pessoal, tudo que eu preciso, é fazer um cadastro de clientes sendo que, antes de fazer o insert no banco, preciso verificar se o nome já existe cadastrado no banco pra evitar duplicidade.

Bom, já que você insiste em fazer a consulta, dê uma olhada neste tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=25935. Nele tem um exemplo de como fazer uma consulta a um banco de dados utilizando VB.NET e ADO.NET.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Olha só pessoal, o problema é o seguinte:

Eu to usando o dreamweaver e to criando o arquivo web.config automatico pelo dreamweaver.

E na hora de criar o formulario de cadastro, estou usando na aba insert, o opção aplication, o insert record, dai sai esse script automaticamente.

E eu não to conseguindo por um data reader nesse código.

me deem, uma ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, seu código usa componentes do Dreamweaver que eu não possuo aqui, por isso não tive como "ajeitar" o seu código. Em todo caso, como prometi via e-mai, fiz um exemplo completo do que você quer (em VB.NET). Uma das vantagens do ASP.NET é permitir que o código HTML e o código .NET da aplicação (seja ele em qualquer linguagem .NET: VB.NET, C#, Boo, etc.) fiquem separados. Assim não fica aquela "bagunça" que havia no ASP. Você pode baixar o exemplo aqui: http://www.graymalkin.globalhosts.com.br/stuff/Teste2.zip. Basta descompactá-lo para uma pasta dentro do seu diretório de trabalho do IIS (seu site) e chamar o endereço: http://localhost/Teste2/WebForm1.aspx

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - carlos rocha -

Oi, o código ta dando o seguinte erro:

Erro de Servidor no Aplicativo '/'.

Erro de configuração

Descrição: Erro durante o processamento de um arquivo de configuração necessário para o serviço desta solicitação. Examine os detalhes específicos do erro e modifique esse arquivo de configuração apropriadamente.

Mensagem de Erro do Analisador: É um erro usar uma seção registrada como allowDefinition='MachineToApplication' além do nível de aplicativo. Esse erro pode ser causado por um diretório virtual não configurado como um aplicativo no IIS.

Erro de Origem:

Linha 23: "Forms", "Passport" and "None"

Linha 24: -->

Linha 25: <authentication mode="Windows" />

Linha 26:

Linha 27:

Arquivo de Origem: c:\inetpub\wwwroot\Teste2\web.config Linha: 25

Informações sobre a Versão: Microsoft .NET Framework Versão:1.1.4322.2032; Versão do ASP.NET:1.1.4322.2032

Criei um dirertóreio virtual no iis mas continua

Link para o comentário
Compartilhar em outros sites

  • 0
E sim, deu certo agora.

Mas eu gostaria de saber, como neste código meu eu poderia colocar uma validação para verificar se o usuario já existe...

Aí eu já não sei como seria. Ao que parece o Dreamweaver já tem scripts prontos e ele é que é utilizado para a inserção do registro. Pelo que eu entendi, a parte que faz o cadastro é essa aqui:

<MM:Insert
runat="server"
CommandText='<%# "INSERT INTO dbo.usuarios (Usuario, Senha) VALUES (@Usuario, @Senha)" %>'
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_usuarios") %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_usuarios") %>'
Expression='<%# Request.Form("MM_insert") = "form1" %>'
CreateDataSet="false"
SuccessURL='<%# "default.aspx" %>'
FailureURL='<%# "portal/cadastra.aspx" %>'
Debug="true"
>

Não estou vendo nenhum OleDbConnection por aí, por isso não tenho idéia de como isso seria feito nesse caso. sad.gif Procure na documentação ou na net, sobre uma maneira de personalizar esse script. Bom, se precisar de ajuda com ASP.NET puro (com VB.NET ou C#), 'stamos aí. smile.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

O arquivo web.config

<configuration>
	<appSettings>
  <add key="MM_CONNECTION_HANDLER_Usuarios" value="sqlserver.htm" />
  <add key="MM_CONNECTION_STRING_Usuarios" value="SERVER=casa;UID=sa;PWD=;DATABASE=usuarios" />
  <add key="MM_CONNECTION_DATABASETYPE_Usuarios" value="SQLServer" />
  <add key="MM_CONNECTION_SCHEMA_Usuarios" value="" />
  <add key="MM_CONNECTION_CATALOG_Usuarios" value="" />
	</appSettings>
</configuration>

Ele contem a conexao não por oledbsqlconecction mas por sqlconecction.

É tudo do mesmo jeito o que muda é que onde esta escrito oledb se poe sql

Link para o comentário
Compartilhar em outros sites

  • 0
O arquivo web.config

<configuration>
	<appSettings>
  <add key="MM_CONNECTION_HANDLER_Usuarios" value="sqlserver.htm" />
  <add key="MM_CONNECTION_STRING_Usuarios" value="SERVER=casa;UID=sa;PWD=;DATABASE=usuarios" />
  <add key="MM_CONNECTION_DATABASETYPE_Usuarios" value="SQLServer" />
  <add key="MM_CONNECTION_SCHEMA_Usuarios" value="" />
  <add key="MM_CONNECTION_CATALOG_Usuarios" value="" />
	</appSettings>
</configuration>

Ele contem a conexao não por oledbsqlconecction mas por sqlconecction.

É tudo do mesmo jeito o que muda é que onde esta escrito oledb se poe sql

Ainda assim... qual o nome da conexão?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Usuarios

Então, teoricamente, você pode fazer isso:

        Dim cmd As New SqlCommand("SELECT * FROM Logins WHERE usuario='" & txtUsuário.Text & "';", usuario)
        Dim dr As Object = cmd.ExecuteScalar()
        If dr Is Nothing Then
            Response.Write("Não achou!")
        Else
            Response.Write("Achou!")
        End If

Só não sei onde isso entraria nesse código do Dreamweaver... sad.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Esse é o problema, onde por esse código no meu.

Um exemplo assim eu tenho, mas desse jeito eu não consigo usar os scripts automaticos do dreamweaver

Sim... esta é uma das razões pelas quais eu não gosto de scripts automáticos... dry.gif Não teria mesmo como você fazer em ASP.NET simples, como o exemplo que eu te enviei?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Tem jeito sim, mas se pudesse ser automatico, mas...

voce sabe onde encontro datareader no dreamweaver?

Humm... vi algo interessante lá agora. No menu Insert -> Application Objects existe a opção DataSet que te permite criar um DataSet (e inclusive colocar um filtro, ou seja, você poderia filtrar pelo nome de usuário). E também existe, em Insert -> Application Objects -> Show Region, uma opção chamada Show If DataSet Is Empty, ou seja, "mostre se o dataset estiver vazio". Acredito que um dataset que não consiga achar um determinado registro (pelo filtro) poderá estar vazio (ou pode ser que a datatable dentro dele é que vá estar vazia... unsure.gif ). Em todo caso, experimente aí combinar essas duas opções para ver se dá pra fazer o que você quer.

Abraçso,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Isso já tentei mas ele manda escolher uma posição do script e so aceita a opção campo hidden do form.

aí garra né?

É, aí é difícil. Vou ver com um amigo meu que mexe com ASP.NET pra ver se ele sabe fazer isso no Dreamweaver.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, falei com ele e o conselho dele foi o mesmo que o meu: esqueça esses scripts prontos do Dreamweaver e utilize ASP.NET normal. rolleyes.gif Você pode até desenhar a página toda no Dreamweaver e depois utilizar o Visual Studio.NET para editá-la e entrar com a parte da programação. Falou? wink.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...