Avatar billede mema Nybegynder
16. august 2006 - 11:41 Der er 4 kommentarer og
1 løsning

Formularen skulle ikke kunne sendes igen

Hej,
Jeg har en simple formular med 6 felter, som sender data til en Access database. Jeg ville forhindre, at folk sender formularen igen.
Det handler om en konkurrence, og man skulle ikke kunne deltage mere end engang i konkurrencen.

Her er min aspx.cs filen:
----
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace SNSTips.tipskupon
{
/// <summary>
public class tipskupon : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox fNavn;
protected System.Web.UI.WebControls.TextBox fAdresse;
protected System.Web.UI.WebControls.TextBox fAlder;
protected System.Web.UI.WebControls.TextBox fTlf;
protected System.Web.UI.WebControls.DropDownList fSvar1;
protected System.Web.UI.WebControls.DropDownList fSvar2;
protected System.Web.UI.WebControls.Button btnSvar;
protected System.Web.UI.WebControls.Label lblFejl;

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
InitializeComponent();
base.OnInit(e);
}
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
       
private void InitializeComponent()
{   
this.btnSvar.Click += new System.EventHandler(this.btnSvar_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

private void btnSvar_Click(object sender, System.EventArgs e)
{
Page.Validate();
if (Page.IsValid)
{
try
{
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + MapPath("../fpdb/Tips.mdb");
OleDbConnection myConnection = new OleDbConnection(connStr);
string strSQL = "INSERT INTO tips(Navn,Adresse,Alder,Tlf,Svar1,Svar2) Values (@fNavn,@fAdresse,@fAlder,@fTlf,@fSvar1,@fSvar2)";
OleDbCommand cmdInsert = new OleDbCommand( strSQL, myConnection );   
                   
cmdInsert.Parameters.Add( "@Navn", fNavn.Text );
cmdInsert.Parameters.Add( "@Adresse", fAdresse.Text );
cmdInsert.Parameters.Add( "@Alder", fAlder.Text );
cmdInsert.Parameters.Add( "@Tlf", fTlf.Text );
cmdInsert.Parameters.Add( "@Svar3", fSvar1.Text );
cmdInsert.Parameters.Add( "@Svar3", fSvar2.Text );                   
myConnection.Open();
cmdInsert.ExecuteNonQuery();
myConnection.Close();
}
catch (Exception errorVariable)
{
lblFejl.Text = "" + errorVariable.ToString();
}
finally
{
btnSvar.Visible = false;
}
}return;
}
}
}
Avatar billede snepnet Nybegynder
16. august 2006 - 12:32 #1
Så må du sørge for at brugeren logger ind med unikt brugernavn og adgangskode, og checke på om vedkommende har tilføjet til konkurrencen. Hvis det er tilføjet må du så forklare brugeren det, og undlade at give dem muligheden for at tilføje igen.
Mvh
Avatar billede mema Nybegynder
16. august 2006 - 22:16 #2
Hej snepnet.
Tak for svaret.
- Betyder "unikt brugernavn og adgangskode", at hver bruger skal have forskellige brugernavn og adgangskode? og i dette tilfælde skulle være login infos gemt i en database?
- Kan du venligst fortælle lidt mere om hvordan skal tjek på eksisterende deltager i konkurrencen foretages?
Mvh
Avatar billede snepnet Nybegynder
16. august 2006 - 22:32 #3
Du kan ikke garantere at der kun bliver én udfyldt formular pr. bruger, med mindre du selv giver dine potentielle brugere et brugernavn og en adgangskode, så ja - kombinationen af brugernavn og adgangskode skal være unik.
Hvordan checket skal foretages ... det må du jo selv om, men da jeg går ud fra at du skal kunne koble de indsendte data til en bruger, må du jo relatere dem til hinanden (altså f.eks. med et brugerid på tabellen hvor du gemmer indtasningerne).
Mvh
Avatar billede mema Nybegynder
18. august 2006 - 09:31 #4
Tak for svaret. Send venligst et svar.:-)
Mvh
Avatar billede snepnet Nybegynder
18. august 2006 - 09:32 #5
Kommer her :o)
Mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester