www.IT-Visions.de-Diskussionsforen (Version 2.1)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)


Diese Foren stehen den Lesern unserer Bücher und allen anderen registrieren Benutzern dieser Website zur Verfügung. Wir würden uns freuen, wenn viele Nutzer dieser Website hier nicht nur Fragen stellen, sondern auch die Fragen anderer Nutzer beantworten. Diese Foren sind ein ehrenamtlicher, nicht-kommerzieller, unmoderierter Community-Dienst von www.IT-Visions.de. Wenn Sie kommerzielle Unterstützung für .NET/Scripting/PowerShell suchen, schauen Sie bitte auf unser Support-Angebot und unsere Schulungsangebote für Scripting und Schulungsangebote für .NET.



Bestätigungslink aus Email funktioniert nicht
Autor:  TobiasTrumpfheller
E-mail:  Antworten bitte nur in das Forum!
Datum:  07.11.2006 08:29:52
Subject:  Bestätigungslink aus Email funktioniert nicht
Bezug zum Buch: 
Message:  Hallo,

betr. ASP.NET 2.0 und Access-DB mit VWD 2005 unter WinXP.

Bitte dringend um Hilfe. Ich habe ein Formular erstellt welches die Emailadresse aus einer Access-DB ausliest und diese versendet mit einem Bestätigungslink mit emailadresse und einer IDNr. Das funktioniert wunderbar. Sobald man auf die Schaltfläche Senden in dem Formular klickt, bekommen die User aus der DB eine Email mit einem BestätigungsLink, z. B.

http://localhost/geodis/verify.aspx?mbr=ttrumpfheller@geodis.de&cnf=2591062

gesendet.

Und um genau diesen Link geht es. Dieser Link soll in der Datenbank in der lezten Spalte "bestätigt" einen Haken setzen (Ja/Nein Feld). Diese Seite (verify.aspx) prüft, ob die aus dem Link übergebene Nummer "cnf" gleich der Id aus der Datenbank ist, wenn ja, setze den
Haken bei bestätigt auf true.

Leider wird der Haken nicht gesetzt und ich weiß nicht warum. Die Rechte in der Access-Datenbank für die Tabelle "inserenten" sind auf "Schreiben" erlaubt gesetzt für den Benutzer "IUSR_P50355" (mittlerweile habe ich allen Usern Vollzugriff erteilt). Jetzt benötige ich Hilfe, warum der Haken beim Bestätigen des Links in der DB nicht gesetzt wird.

Ich hoffe, mein Problem einigermaßen gut beschrieben zu haben. Ist es möglich Euch den Code für die Seite "verify.aspx" hier zu posten.

<%@ Page language="vb" explicit="true" debug="true" AutoEventWireup="false" Inherits="httpdocs2.verify" buffer="True" CodeFile="verify.aspx.vb" %>
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
<%@ Register TagPrefix="httpdocs2" TagName="banner"
             src="banner.ascx" %>
<HTML>
    <HEAD>
        <title>Registrierung bestätigt</title>
        <meta name="vs_snapToGrid" content="True">
        <script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim conClasf As OleDbConnection
Dim cmdClasf As New OleDbCommand
Dim strSQL As String
Dim intRowsAff As Integer
Dim strMember As String
Dim strBestaetigungsNr As String
Dim lngBestaetigungsNr As Long
Dim lngDbConf As Long = -100
strMember = Request.QueryString("mbr")
If strMember = "" Then
    litErrMsg.Text = "Bestätigung fehlgeschlagen. " & _
                   "Benutzerkennung fehlt."
    Exit Sub
End If
strBestaetigungsNr = Request.QueryString("cnf")
If strBestaetigungsNr = "" Then
    litErrMsg.Text = "Bestätigung fehlgeschlagen. " & _
                     "Bestätigungsnummer fehlt."
    Exit Sub
End If
If Not IsNumeric(strBestaetigungsNr) Then
    litErrMsg.Text = "Bestätigung fehlgeschlagen. " & _
                     "Bestätigungsnummer ungültig."
    Exit Sub
End If
lngBestaetigungsNr = Clng(strBestaetigungsNr)
conClasf = New OleDbConnection(Session("conClasf"))
conClasf.Open
strSQL = "SELECT bestaetigungsnr " & _
             "FROM inserenten " & _
            "WHERE inserentenid = '" & strMember & "' "
cmdClasf = New OleDbCommand(strSQL, conClasf)
lngDbConf = cmdClasf.ExecuteScalar()
If lngDbConf = lngBestaetigungsNr Then
    cmdClasf.CommandText = _
           "UPDATE inserenten " & _
              "SET bestaetigt = True " & _
            "WHERE inserentenid = '" & strMember & "' "
    intRowsAff = cmdClasf.ExecuteNonQuery
    If intRowsAff = 1 Then
      tblWelcome.Visible = True
    Else
      litErrMsg.Text = "Aktualisierung fehlgeschlagen."
    End if
Else
    litErrMsg.Text = "Bestätigung fehlgeschlagen. " & _
                     "Bestätigungsnummer ist falsch."
End If
conClasf.Close
End Sub
        </script>
        <link rel="stylesheet" type="text/css" href="normal.css">
    </HEAD>
    <body>
        <httpdocs2:banner runat="server" id="Banner1" />
        <p><asp:Literal id="litErrMsg" EnableViewState="False" runat="server" /></p>
        <table id="tblWelcome" visible="true" runat="server" border="0" cellpadding="5" cellspacing="5"
            align="center">
            <tr>
               <td>
                    <P align="center">Vielen Dank !!!</P>
                    <P align="center">Herzlich willkommen
                    </P>
                    <P align="center">Tobias</P>
               </td>
            </tr>
            <tr>
               <td>
                    <p align="center"> </p>
               </td>
            </tr>
        </table>
    </body>
</HTML>

Vielen Dank für Eure Hilfe.



Gruss
Tobias

Antworten

  Zurück zum Forum



 .NET Framework-Programmierung -- C#, VB.NET, ASP.NET, u.a.
 Bestätigungslink aus Email funktioniert nicht von TobiasTrumpfheller  am 7.11.2006 8:29:52 AM


www.IT-Visions.de - Dr. Holger Schwichtenberg / 1998-2018