Fehler bei Benutzerdaten (mit Passwort) editieren
Joel Eymard
- asp.net
0 Tom20 Joel Eymard0 Tom2
FOlgendes:
Ich habe im Adminbereich die möglichkeit geschaffen, dass ein Admin
jemandem neuen ebenfalls eine benutzerberechtigung erstellen kann.
Die Tabelle (tab_user) hat die Attribute userid, pword, email und
als primKey uid. Alle sind textfelder.
Habe ein Form mit dem ich einen Eintrag erfassen kann und ein FIle das
sowohl den DS erfasst als auch die möglichkeit der kontrolle bietet,
ob alles richtig erfasst wurde. Das funzt. auf der 2. page hat es die
möglichkeit, nochmals etwas zu ändern, wenn etwas falsch sein sollte.
also, wieder rein in ein form. auch das funzt.
Aber wenn ich das update starte, habe ich immer folgende mld.:
GET /diploma/update_user.asp?hiddenLoginID=3&tbxUsername=TestBenutzer&tbxEmail=email@tld.com&tbxPassword=TestPasswort&btnSubmit=jetzt+aendern...
Was läuft da falsch? Offensichtlich wird es aber in der URL uebergeben. DIes zu testzwecken, danach möchte ich schon mit POST dahinter :-)
Als zweites möchte ich das passwort auch irgendwie verschlüsseln mit einem sehr einfachen algoritmus.
Wer kann einer armen Seele helfen???
Joel
Hi <- Dies ist eine Begrüssung
Aber wenn ich das update starte, habe ich immer folgende mld.:
GET /diploma/update_user.asp?hiddenLoginID=3&[...]
Bekommst du keine richtige Fehlermeldung? Poste das mal (mit den betroffenen Zeilen aus deinem Skript). Hast du die Methode im form-Tag auf post gestellt?
Als zweites möchte ich das passwort auch irgendwie verschlüsseln mit einem sehr einfachen algoritmus.
Nur 5 Postings weiter Unten hättest du die Antwort gefunden. Ich habe im Thread </?m=132704&t=24028> dieselbe Frage gestellt und bin jetzt dran, den MD5-Algorithmus in meine Applikation einzubauen.
MfG
Tom2
Hi <- Dies ist eine Begrüssung
Aber wenn ich das update starte, habe ich immer folgende mld.:
GET /diploma/update_user.asp?hiddenLoginID=3&[...]
Bekommst du keine richtige Fehlermeldung? Poste das mal (mit den betroffenen Zeilen aus deinem Skript). Hast du die Methode im form-Tag auf post gestellt?
Als zweites möchte ich das passwort auch irgendwie verschlüsseln mit einem sehr einfachen algoritmus.
Nur 5 Postings weiter Unten hättest du die Antwort gefunden. Ich habe im Thread </?m=132704&t=24028> dieselbe Frage gestellt und bin jetzt dran, den MD5-Algorithmus in meine Applikation einzubauen.
Hi Tom2,
Habe im moment GET im Form damit ich in der URL nachschauen kann ob alles mitgeht.
Das editierForm wirdkorrekt gefüllt deshalb hier nur
das Scriptteil mit dem FORM (zwischen den Scripts eine Linie mit----- zum orientieren)...
<form action="update_user.asp" method="get" name="userEditieren">
<table align="center" cellpadding="2" cellspacing="2" border="0" width="490">
<tr>
<td class="tableContentEven" width="180">Benutzer-Name:</td>
<td class="tableContentEven" width="310">
<input value="<% = strUID %>" type="hidden" name="hiddenLoginID" size="30">
<input value="<% = txtUser %>" type="text" name="tbxUsername" size="30">
<span class="formObligatorisch">*</span>
</td>
</tr>
<tr>
<td class="tableContentEven">Email:</td>
<td class="tableContentEven">
<input value="<% = txtEmail %>" type="text" name="tbxEmail" size="30">
<span class="formObligatorisch">*</span>
</td>
</tr>
<tr>
<td class="tableContentEven">Passwort:</td>
<td class="tableContentEven">
<input value="<% = txtPword %>" type="password" name="tbxPassword" size="30">
<span class="formObligatorisch">*</span>
</td>
</tr>
<tr>
<td class="tableContentEven" valign="top"> </td>
<td class="tableContentEven">
<input type="submit" name="btnSubmit" value="jetzt aendern..." width="20">
<input type="reset" name="btnReset" value="löschen..." width="20">
</td>
</tr>
</table>
</form>
------------------------------------------
und hier das script das das update macht:
<% @Language=VBScript %>
<!-- #include file="Scripts/meta.asp" -->
<%
dim objCON,objRS
dim strCON,strDB,strTABELLE,strSQL
dim srvMODE,srvUID,strUID
dim query,strConnUser,strConnPass,txtZeile
' TabellenVariablen...
dim txtLoginID,txtLogin, txtPword, txtEmail
'SetLocale("de")
srvMODE=request.QueryString("MODE")
srvUID=request.QueryString("id")
%>
<!-- #include file="Scripts/db.asp" -->
<%
strTabelle="tab_login"
strUID = Request.QueryString("hiddenLoginID")
txtLogin = Request.QueryString("tbxUsername")
txtPword = Request.QueryString("tbxPasswort")
txtEmail = Request.QueryString("tbxEmail")
set objCON = Server.CreateObject("ADODB.Connection")
objCON.open strCON
set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strTABELLE, objCON
' Abfrage...
strSQL="UPDATE tab_login SET tab_login.userid='" & txtLogin & "',tab_login.pword='" & txtPword & "',tab_login.email='" & txtEmail & "' WHERE tab_login.loginid=" & strUID & ";"
objCON.execute strSQL
objRS.Close
Set objRS=Nothing
objCON.Close
Set objCON=Nothing
%>
<html>
<head>
<title>Erlebnis Toskana: Mutierte Benutzerdaten von <% = txtUser %> - <% = txtEmail %> in der Tabelle eingetragen</title>
<!-- #include file="Scripts/meta.asp" -->
<link href="scripts/toskana_main.css" rel="stylesheet" type="text/css">
<link href="index.css" rel="stylesheet" type="text/css">
<link href="scripts/nav.css" type="text/css" rel="stylesheet">
<!--Script mit LastModified - Links etc. -->
<script language="JavaScript" src="scripts/actions.js" type="text/javascript"></script>
<!-- 2 Script fuer Navigation Coolmenu... -->
<script language="JavaScript1.2" src="scripts/coolmenus4.js"></script>
<script language="JavaScript1.2" src="scripts/cm_addins.js"></script>
</head>
<body>
<script language="JavaScript" src="scripts/createMenuAdmin.js"></script>
<noscript>
<!-- #include file="Scripts/noscript.asp" -->
</noscript>
<br> <br>
<TABLE align="center" cellpadding="0" cellspacing="0" border="0" width="550">
<TR>
<TD align="right" class="topL" width="10" height="10"><img src="images/cleardot.gif" width="1" height="1" border="0" alt=""></TD>
<TD class="top" height="10" width="530"><img src="images/cleardot.gif" width="10" height="1" border="0" alt=""></TD>
<TD align="left" class="topR" width="10" height="10"><img src="images/cleardot.gif" width="1" height="1" border="0" alt=""></TD>
</TR>
<TR>
<TD class="left" width="10" height="10"><img src="images/cleardot.gif" width="10" height="1" border="0" alt=""></TD>
<TD class="bg" width="550">
<span class="container">
<p align='center'>
<img src='images/tit_erfolgreich500.gif' width='490' border='0' alt=''>
</p>
<p align="justify">
Die Adresse von <b>"<% = txtLogin %> <% = txtEmail %>"</b> wurde erfogreich erfasst. <br>
Bitte Kontrollieren Sie Ihre Eingaben nochmals. Der untenstehende Text
gibt Ihre Eingaben wieder.
</p>
<table cellpadding="5" cellspacing="0" border="0" width="485">
<tr><td valign='top' class='bg'><b>Login ID:</b> </td><td valign='top' class='bg'><% = strUID %> - (Zahl nicht änderbar!)</td></tr>
<tr><td valign='top' class='tableContentEven'><b>Benutzername</b> </td><td valign='top' class='tableContentEven'><span class='objekt'><% = txtLogin %></span></td></tr>
<tr><td valign='top' class='bg'><b>Emailadresse:</b> </td><td valign='top' class='bg'><a href='mailto:<% = txtEmail %>'><% = txtEmail %></a></td></tr>
<tr><td valign='top' class='tableContentEven'><b>Passwort:</b> </td><td valign='top' class='tableContentEven'><% = txtPword %></td></tr>
<tr><td valign='top' class='bg' colspan="2"> </td></tr>
<tr><td valign='top' class='tableContentEven'> </td><td valign='top' class='tableContentEven'></td></tr>
<tr>
<td valign='top' class='bg' align="center">
<a href="list_user_table.asp" class="blueLinks">
[ <img src="images/icons/icon_edit_32x29.jpg" width="32" height="29" border="0" alt=""> edit ]
</a>
</td>
<td valign='top' class='bg' align="right">
<a href="edit_user.asp?id="<% = srvUID %> "class="blueLinks">
[ <img src='images/icons/DELETE.GIF' width='18' height='18' border='0' alt=''> auflisten ]
</a>
</td>
</tr>
</table>
</span>
</TD>
<TD class="right" width="10" height="10"><img src="images/cleardot.gif" width="10" height="1" border="0" alt=""></TD>
</TR>
<tr>
<td class="botL" width="10" height="10" align="right"><img src="images/cleardot.gif" width="1" height="1" border="0"></td>
<td class="bot" width="530" height="10"><img src="images/cleardot.gif" width="1" height="1" border="0"></td>
<td class="botR" width="10" height="10" align="left"><img src="images/cleardot.gif" width="1" height="1" border="0"></td>
</tr>
<tr>
<td colspan="3"> <!-- leerzeile --></td>
</tr>
<tr>
<td colspan="3">
<script>
footer()
</script>
</td>
</tr>
</TABLE>
</body>
</html>
------------------------------------------
So, das war's (diese paar Wörtchen da. :-)
Kannst Du damit was anfangen?
joel
Hi
---->8 *SNIP* 8<-----
*xzeilencodelösch*
---->8 *SNAP* 8<-----
Kannst Du damit was anfangen?
äem... nein?! Du solltest die Fehlermeldung und die paar Codezeilen posten, die den Fehler verursachen, nicht das ganze Skript, nicht mehrere Skripten! *g* Sorry, ich kann nicht den ganzen Code durchgehen - hier bei mir liegt auch noch Arbeit auf dem Schreibtisch. Ändere die Methode auf post und probier das so mal. Poste die Fehlermeldung und dann schauen wir mal weiter...
MfG
Tom2
Hi
---->8 *SNIP* 8<-----
*xzeilencodelösch*
---->8 *SNAP* 8<-----
nochmehrzeilenlösch :-)
Errormeld. ist:
HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services
--------------------------------------------------------------------------------
Technical Information (for support personnel)
Error Type:
Microsoft JET Database Engine (0x80004005)
Field 'tab_login.pword' cannot be a zero-length string.
/diploma/update_user.asp, line 35
Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Page:
GET /diploma/update_user.asp?hiddenLoginID=4&tbxUsername=test&tbxEmail=test&tbxPassword=test&btnSubmit=jetzt+aendern...
Time:
Wednesday, 18. September 2002, 14:32:03
und der Code ist:
set objCON = Server.CreateObject("ADODB.Connection")
objCON.open strCON
set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strTABELLE, objCON
' Abfrage...
strSQL="UPDATE tab_login SET tab_login.userid='" & txtLogin & "',tab_login.pword='" & txtPword & "',tab_login.email='" & txtEmail & "' WHERE tab_login.loginid=" & strUID & ";"
objCON.execute strSQL ' -DIES IST ZEILE 35 ---
Errormeld. ist:
HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services
Technical Information (for support personnel)
Error Type:
Microsoft JET Database Engine (0x80004005)
Field 'tab_login.pword' cannot be a zero-length string.
/diploma/update_user.asp, line 35
Hi,
na prima, genau das da liegt der Hase im Pfeffer!
in deiner Access-Datenbank in der Tabelle "tab_login" gibt es ein Feld "pword", und dieses ist so deklariert, dass es keine leeren Zeichenfolgen beinhalten darf, diesen Parameter solltest du in der Designansicht der Tabelle in MS Access ändern. steht in Deutsch glaub ich als "Leere Zeichenfolge" so da. Sollte das noch nicht funktionieren, gibt es direkt darüber den Parameter "Erforderlich" vielleicht solltest du dann diesesn auch mal ändern.
Ich hoffe, diese Info hilft dir.
Gruß, Frank
Errormeld. ist:
...
Hi,
na prima, genau das da liegt der Hase im Pfeffer!
in deiner Access-Datenbank in der Tabelle "tab_login" gibt es ein Feld "pword", und dieses ist so deklariert, dass es keine leeren Zeichenfolgen beinhalten darf, diesen Parameter solltest du in der Designansicht der Tabelle in MS Access ändern. steht in Deutsch glaub ich als "Leere Zeichenfolge" so da. Sollte das noch nicht funktionieren, gibt es direkt darüber den Parameter "Erforderlich" vielleicht solltest du dann diesesn auch mal ändern.
Ich habe aber einen Eintrag drin, das ist ja das schlimme :-/
und bei "Eingabe erforderlich" steht Nein
und bei Leere Zeichenfolge steht ebenfalls Nein
Was soll ich nur tun *ich unbeholfenes ding ich* :-)
und bei Leere Zeichenfolge steht ebenfalls Nein
klingelts da nicht ein bisschen??
ich verstehe diesen eintrag so:
dieses Feld darf !keine! leeren Zeichenfolgen beinhalten
du versuchst aber gerade mit deinem SQL-Statement da eine leere Zeichenfolge hineinzuschreiben.
;-)
Tschau, Frank
Hi nochmal,
vielleicht solltest du vor dem Verarbeiten auch die gesendeten Daten validieren, dann ich glaube nicht, daß es sehr sinnvoll ist, einen Nutzer ohne Passwort zu haben -> ergibt sicherheitstechnisch ein schönes Scheunentor. Eventuell hast du auch die Variable falsch geschrieben, die in das SQL gesetzt wird... gegenüber der die gesendet wird.
wenn das Element im Formal "meinfeld1" heißt und du aber Request.QueryString("menfeld1") abrufst, ist letzterer Wert mehr oder weniger NULL, bzw. ein vbNullString
Tschau, Frank
Hi nochmal,
vielleicht solltest du vor dem Verarbeiten auch die gesendeten Daten validieren, dann ich glaube nicht, daß es sehr sinnvoll ist, einen Nutzer ohne Passwort zu haben -> ergibt sicherheitstechnisch ein schönes Scheunentor. Eventuell hast du auch die Variable falsch geschrieben, die in das SQL gesetzt wird... gegenüber der die gesendet wird.
wenn das Element im Formal "meinfeld1" heißt und du aber Request.QueryString("menfeld1") abrufst, ist letzterer Wert mehr oder weniger NULL, bzw. ein vbNullString
Das schau ich gleich nochmals nach.
das könnte evtl. sein
danke
joel
Hallo,
strSQL="UPDATE tab_login SET tab_login.userid='" & txtLogin & "',tab_login.pword='" & txtPword & "',tab_login.email='" & txtEmail & "' WHERE tab_login.loginid=" & strUID & ";"
was soll das ; am ende?
nach tab_login.loginid=" & strUID
sollte schluss sein... ein ; am ende ist mir nicht bekannt...
sieh mal deine anderen sql-statements an...
Odium
Hallo,
strSQL="UPDATE tab_login SET tab_login.userid='" & txtLogin & "',tab_login.pword='" & txtPword & "',tab_login.email='" & txtEmail & "' WHERE tab_login.loginid=" & strUID & ";"
was soll das ; am ende?
nach tab_login.loginid=" & strUID
sollte schluss sein... ein ; am ende ist mir nicht bekannt...
sieh mal deine anderen sql-statements an...
Hi,
Das müste keine Rolle spielen (habs auch ohne ; versucht ohne erfolg), denn ich habs eigentlich bei allen Files und dort funzts.
Joel
Hallo,
strSQL="UPDATE tab_login SET tab_login.userid='" & txtLogin & "',tab_login.pword='" & txtPword & "',tab_login.email='" & txtEmail & "' WHERE tab_login.loginid=" & strUID & ";"
-die tab_login.loginid ist der primärschlüssel? strUID hört sich so nach string an... stimmt das überein?
Odium