Avatar billede aspprogram Nybegynder
20. maj 2002 - 12:07 Der er 17 kommentarer og
2 løsninger

hjælp.... please....

den vil ikke update min database...

jeg fik følgende besked fra eagleeye:

eagleeye -> du gav mig denne besked, men den opdatere ikka databasen...

Hej.

Den SQL skal se sådan her ud:
SQL = "UPDATE users SET user_email = '"& SQLReplace(Request.Form("email")) &"', user_password = '"& SQLReplace(Request.Form("password")) &"' WHERE ....."

Jeg har lavet ..... fordi du skal hvade en WHERE id = brugerID ellers opdater du hele din database. Så du skal havde en kolonne som du kan identificer en unikbruger enten ved username eller id (autonummer-felt).

Hvis du bruger ID så skal du lave en hidden felt i din form som så bliver først med, her antager jeg har ID er lig med session("mail_login")
<input type="hidden" name="id" value="<%=session("mail_login")%>">

Det her felt som du kan rette email i mangler et navn (name):
<input type="text" value="<% = mail(session("mail_login")) %>" size="30">
Ret til denne:
"><input type="text" name="email" value="<% = mail(session("mail_login")) %>" size="30">


Så kommer din SQL til at se sådan her ud:
SQL = "UPDATE users SET user_email = '"& SQLReplace(Request.Form("email")) &"', user_password = '"& SQLReplace(Request.Form("password")) &"' WHERE id = " & Request.Form("id")


når jeg så indsetter den, så reloader den bare siden, den opdaterer ikke...

her er koden

<%@ Language=VBScript %>
<!--#include file="code_lib.asp"-->
<% SessionTjek() %>
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
For each item in Request.Form
  If Request.Form(item) = "" Then
  fejl = True
End if
NEXT
If Not fejl = True Then
SQL = "UPDATE users SET user_email = '"& SQLReplace(Request.Form("email")) &"', user_password = '"& SQLReplace(Request.Form("password")) &"' WHERE id = " & Request.Form("id")
  Conn.ExeCute(SQL)
  Response.Redirect("bruger.asp")
Else
End If
End If
%>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="da">
<TITLE>Sport / Idræt - Medier</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<TABLE WIDTH=741 BORDER=0 CELLPADDING=0 CELLSPACING=0 align="center" valign="middle">
<TR>
<TD>
<IMG SRC="images2/spacer.gif" WIDTH=25 HEIGHT=1></TD>
<TD>
<IMG SRC="images2/spacer.gif" WIDTH=1 HEIGHT=1></TD>
<TD>
<IMG SRC="images2/spacer.gif" WIDTH=145 HEIGHT=1></TD>
<TD>
<IMG SRC="images2/spacer.gif" WIDTH=25 HEIGHT=1></TD>
<TD>
<IMG SRC="images2/spacer.gif" WIDTH=519 HEIGHT=1></TD>
<TD>
<IMG SRC="images2/spacer.gif" WIDTH=26 HEIGHT=1></TD>
</TR>
<TR>
<TD COLSPAN=6><IMG SRC="images2/over_01.gif" WIDTH=741 HEIGHT=21></TD>
</TR>
<TR>
<TD ROWSPAN=14><IMG SRC="images2/over_02.gif" WIDTH=25 HEIGHT=484></TD>
<TD ROWSPAN=2><IMG SRC="images2/over_03.gif" WIDTH=1 HEIGHT=70></TD>
<TD COLSPAN=3><IMG SRC="images2/over_04.gif" WIDTH=689 HEIGHT=69></TD>
<TD ROWSPAN=14><IMG SRC="images2/over_05.gif" WIDTH=26 HEIGHT=484></TD>
</TR>
<TR>
<TD COLSPAN=3><IMG SRC="images2/over_06.gif" WIDTH=689 HEIGHT=1></TD>
</TR>
<TR>
<TD COLSPAN=4><IMG SRC="images2/over_07.gif" WIDTH=690 HEIGHT=19></TD>
</TR>
<TR>
<TD COLSPAN=2><a href="mails.asp"><IMG SRC="images2/over_08.gif" WIDTH=146 HEIGHT=31 border="0"></a></TD>
<TD ROWSPAN=11><IMG SRC="images2/over_09.gif" WIDTH=25 HEIGHT=395></TD>
<TD ROWSPAN=11 background="images2/over_10.gif" valign="top">
<form action="bruger.asp" METHOD="POST">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="center" colspan="2"><input type="hidden" name="id" value="<%session("mail_login")%>"</td>
</tr>
<tr>
<td width="50%" align="center">Navn</td>
<td width="50%"><% = username(session("mail_login")) %></td>
</tr>
<tr>
<td width="100%" align="center" colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="50%" align="center">Status</td>
<td width="50%"><% = status(session("mail_login")) %></td>
</tr>
<tr>
<td width="100%" align="center" colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="100%" align="center" colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="50%" align="center">Password</td>
<td width="50%"><input type="password" name="password" value="<% = password(session("mail_login")) %>" size="30"></td>
</tr>
<tr>
<td width="100%" align="center" colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="50%" align="center">E-mail*</td>
<td width="50%"><input type="text" name="email" value="<% = mail(session("mail_login")) %>" size="30"></td>
</tr>
<tr>
<td width="100%" align="center" colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="100%" align="center" colspan="2"><input type="submit" value="Update"></td>
</tr>
<tr>
<td width="100%" colspan="2">
&nbsp;* E-mailen er den e-mail som du bruger mest udenfor systemet, og som du vil være nemmest at blive kontaktet på.
<br>
<br>
Hvis du ikke vil oplyse din mail, så skal du i stedet skrive N/A.
</td>
</tr>
</table>
</form>
</TD>
</TR>
<TR>
<TD COLSPAN=2><IMG SRC="images2/over_11.gif" WIDTH=146 HEIGHT=19></TD>
</TR>
<TR>
<TD COLSPAN=2><a href="member.asp"><IMG SRC="images2/over_12.gif" WIDTH=146 HEIGHT=31 border="0"></a></TD>
</TR>
<TR>
<TD COLSPAN=2><IMG SRC="images2/over_13.gif" WIDTH=146 HEIGHT=20></TD>
</TR>
<TR>
<TD COLSPAN=2><a href="kampkort.asp"><IMG SRC="images2/over_14.gif" WIDTH=146 HEIGHT=30 border="0"></a></TD>
</TR>
<TR>
<TD COLSPAN=2><IMG SRC="images2/over_15.gif" WIDTH=146 HEIGHT=19></TD>
</TR>
<TR>
<TD COLSPAN=2><a href="bruger.asp"><IMG SRC="images2/over_16.gif" WIDTH=146 HEIGHT=30 border="0"></a></TD>
</TR>
<TR>
<TD COLSPAN=2><IMG SRC="images2/over_17.gif" WIDTH=146 HEIGHT=71></TD>
</TR>
<TR>
<TD COLSPAN=2><a href="logout.asp"><IMG SRC="images2/over_18.gif" WIDTH=146 HEIGHT=30 border="0"></a></TD>
</TR>
<TR>
<TD COLSPAN=2><IMG SRC="images2/over_19.gif" WIDTH=146 HEIGHT=19></TD>
</TR>
<TR>
<TD COLSPAN=2 background="images2/over_20.gif" width="144" height="93" valign="top"></TD>
</TR>
<TR>
<TD COLSPAN=6><IMG SRC="images2/over_21.gif" WIDTH=741 HEIGHT=25></TD>
</TR>
<TR>
<TD COLSPAN=6><IMG SRC="images2/over_22.gif" WIDTH=741 HEIGHT=1></TD>
</TR>
</TABLE>
</BODY>
</HTML>
Avatar billede doc404 Novice
20. maj 2002 - 12:29 #1
du bruger en var Fejl...

Er du sikker på den default er false? I din kode sætter du den til true hvis du afleverer noget blankt, men du sætter den ikke til false

Det kan være derfor du aldrig får udført din sql
Avatar billede aspprogram Nybegynder
20. maj 2002 - 12:31 #2
det den gør, er hvis man ikke skriver noget, melder den fejl, og hvis den ikke melder fejl, så opdatere den...
Avatar billede eagleeye Praktikant
20. maj 2002 - 12:48 #3
Når man logger ind hvad bliver session("mail_login") så sat lig med ???
  session("mail_login") = rs("id") eller ????
Avatar billede aspprogram Nybegynder
20. maj 2002 - 12:53 #4
den bliver sat til:

Session("mail_login") = tjek("user_id")
Avatar billede eagleeye Praktikant
20. maj 2002 - 12:57 #5
Ok.. jeg prøve at spørge på en anden måde, bliver Session("mail_login") sat til den værdi som svare til ID i databasen?

I den UPDATE SQL benyttes WHERE id = XX

Der den id den samme som Session("mail_login") bliver sat til ved tjek("user_id")?
Avatar billede aspprogram Nybegynder
20. maj 2002 - 12:58 #6
i databasen hedder den user_id... ja det skulle gerne være den samme
Avatar billede eagleeye Praktikant
20. maj 2002 - 13:01 #7
Prøv at ændre din SQL til, id skal nok rettets til user_id:

SQL = "UPDATE users SET user_email = '"& SQLReplace(Request.Form("email")) &"', user_password = '"& SQLReplace(Request.Form("password")) &"' WHERE user_id = " & Request.Form("id")
Avatar billede aspprogram Nybegynder
20. maj 2002 - 13:06 #8
okai... takker.... jeg kan ikke tjekke det nu, for asp siderne hos friserverplads er vist nede :(

men jeg skal nok vende tilbage med dine point....
Avatar billede aspprogram Nybegynder
20. maj 2002 - 15:12 #9
den opdaterer stadig ikke.... jeg har rettet den om til det du skrev....
Avatar billede eagleeye Praktikant
20. maj 2002 - 15:51 #10
Så må du vise lidt kode fra include filen, for jeg har lige copy-pase din kode og det virker fint.
Bland andet denne funktion mail() og password()
Avatar billede aspprogram Nybegynder
20. maj 2002 - 16:14 #11
dette er hele include filen

<%
set Conn = Server.createobject("adodb.connection")
conn.Open "DBQ="& Server.MapPath(".") &"/projekt.mdb; DefaultDir=DBQ="& Server.MapPath("/") &";Driver={Microsoft Access Driver (*.mdb)};"

Response.Buffer = True

REM Diverse funktioner start
Function DatoVis(dato)
    maned = Array(,"januar", "februar", "marts", "april", "maj", "juni", "juli", "august","september", "oktober", "november", "devember")
    ugedag = Array(,"Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "L&oslash;rdag", "S&oslash;ndag")
    DatoVis = ugedag(Weekday(dato,2)) &"&nbsp;d.&nbsp;"& Day(dato)&".&nbsp;"& maned(month(dato)) &"&nbsp;"& Year(dato)
End Function

Function checklogin(email,password)
    set tjek = Conn.Execute("SELECT user_id FROM users WHERE user_email = '"& email &"' AND user_password = '"& password &"'")
    If tjek.EOF THEN
        Response.Write "Bruger ikke fundet"
    Else
        Session("mail_login") = tjek("user_id")
        Response.Redirect("logon.asp")
    End If
End Function

Function sendmail(modtager, overskrift, body)
overskrifttjek = overskrift
bodytjek = body
    If overskrifttjek = "" Then overskrifttjek = "&nbsp;"
    If bodytjek = "" Then bodytjek = "&nbsp;"
    SQL = "INSERT INTO mails (mail_owner, mail_from, mail_subject, mail_body) VALUES ("& modtager &","& Session("mail_login") &", '"& overskrifttjek &"', '"& Replace(bodytjek, VbCrLf,"<BR>") &"')"
    Conn.Execute(SQL)
    Response.Redirect("inbox.asp")
End function

Function deletemail(mailid,ref_url)
    If mailid = "" Then Response.Redirect(Right(ref_url,Len(ref_url)-1))
    mails = Split(mailid,",",-1,1)
    For a = 0 To Ubound(mails)
        Conn.ExeCute("UPDATE mails SET mail_deleted = True WHERE mail_id = "& mails(a) &" AND mail_owner = "& Session("mail_login") &"")
    Next
    Response.Redirect(Right(ref_url,Len(ref_url)-1))
End Function

function status(user_id)
Set name = Conn.Execute("SELECT user_status FROM users WHERE user_id = "& Session("mail_login") &"")
status = name("user_status")
End function

function mail(user_id)
Set name = Conn.Execute("SELECT user_email FROM users WHERE user_id = "& Session("mail_login") &"")
mail = name("user_email")
End function

function password(user_id)
Set name = Conn.Execute("SELECT user_password FROM users WHERE user_id = "& Session("mail_login") &"")
password = name("user_password")
End function

Function username(user_id)
    Set uname = Conn.ExeCute("SELECT user_name FROM users WHERE user_id = "& Session("mail_login") &"")
    username = uname("user_name")
End Function

Function SessionTjek()
    If Not Session("mail_login") > 0 Then Response.Redirect("login.asp")
End Function

Function sqlreplace(streng)
    sqlreplace = Replace(streng,"'","''")
End Function
REM Diverse funktioner slut
%>
Avatar billede eagleeye Praktikant
20. maj 2002 - 16:23 #12
det ser fint ud så vidt jeg lige kan se du ka evt rette update SQL'en til:


SQL = "UPDATE users SET user_email = '"& SQLReplace(Request.Form("email")) &"', user_password = '"& SQLReplace(Request.Form("password")) &"' WHERE user_id = " & Session("mail_login")
Avatar billede aspprogram Nybegynder
20. maj 2002 - 16:38 #13
virker stadig ikke
Avatar billede kimiwan Nybegynder
20. maj 2002 - 16:42 #14
aspprogram: prøv at udskrive din update query:


*lige* efter SQL = "UPDATE ....." skriver du:

response.write SQL
response.end

så fortæl os hvordan din sqlstreng ser ud der.
Avatar billede aspprogram Nybegynder
20. maj 2002 - 16:53 #15
2 sec
Avatar billede aspprogram Nybegynder
20. maj 2002 - 16:56 #16
den skriver ikke noget....

hvis du vil prøve, så er adr. www.friserverplads.dk/medie-projekt/login.asp

E-mail : pedersen
password : kgp

og det er knappen som hedder: brugeroplysninger
Avatar billede eagleeye Praktikant
20. maj 2002 - 17:01 #17
Prøv lige at sætte fejl = false ind til at starte med:

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
fejl = false
For each item in Request.Form
Avatar billede eagleeye Praktikant
20. maj 2002 - 17:09 #18
Prøv enten at fjerne denne linie:
<td width="100%" align="center" colspan="2"><input type="hidden" name="id" value="<%session("mail_login")%>"</td>


Eller rette den til dette:
<td width="100%" align="center" colspan="2"><input type="hidden" name="id" value="<%=session("mail_login")%>"></td>
Avatar billede aspprogram Nybegynder
20. maj 2002 - 17:45 #19
kan ikke tjekke det, da de har taget serverne ned hos friserverplads
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
Kurser inden for grundlæggende programmering

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