Avatar billede Slettet bruger
25. januar 2005 - 17:52 Der er 10 kommentarer og
1 løsning

Problemer med ASP'en.

Jeg har en form der sender til denne asp kode, for at opdatere oplysninger om brugeren i en Database.

Problemet er at de 2 password felter skal være ens for at blive godkendt men nu bliver jeg hele tiden sendt til "opdater_fejl.asp" siden også hvis passwords er ens i begge form felter når man trykker opdater.

Nogen der kan finde årsagen?

(Her er koden til begge asp filer)


----------------------------------------------------------

********** Opdater_check.asp (funktionen) **********



<% @language=javascript %>
<%

navn=Request.form("navn");
adresse=Request.form("adresse");
city=Request.form("by");
email=Request.form("email");
pass=Request.form("password");
pass2=Request.form("password2");

b = Request.Cookies("bruger");

if(pass==pass2)

conn = Server.CreateObject("ADODB.Connection");
DBPath = "DBQ=" + Server.mappath("db/database.mdb");
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " + DBPath);

rs = conn.Execute("DELETE FROM BRUGER WHERE Brugernavn='"+b+"'  ");

rs = conn.Execute("INSERT INTO BRUGER (brugernavn, password, navn, adresse, city, email) VALUES

('"+b+"','"+pass+"','"+navn+"','"+adresse+"','"+city+"','"+email+"')  " );



Response.Redirect("opdater_ok.asp");

conn.Close();   

}else{
Response.Redirect("opdater_fejl.asp");
}

%>



----------------------------------------------------------

********** Opdater.asp (formen) **********


<%
b = Request.Cookies("bruger");

conn = Server.CreateObject("ADODB.Connection");
DBPath = "DBQ=" + Server.mappath("db/database.mdb");
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " + DBPath);

rs = conn.Execute("SELECT * FROM BRUGER WHERE BRUGERNAVN='"+b+"'" );
%>

<form name="form" method="post" action="opdater_check.asp">
<table cellspacing="0" cellpadding="0">
<tr>
<td width="111">Navn:</td>
<td><input type="text" name="navn" size="20" value="<%=rs.fields('NAVN')%>"></td>
</tr>

<tr>
<td>Adresse:</td>
<td><input type="text" name="adresse" size="20" value="<%=rs.fields('ADRESSE')%>"></td>
</tr>

<tr>
<td>Postnummer & By:</td>
<td><input type="text" name="by" size="20" value="<%=rs.fields('CITY')%>"></td>
</tr>

<tr>
<td>Email:</td>
<td><input type="text" name="email" size="20" value="<%=rs.fields('EMAIL')%>"></td>
</tr>

<tr>
<td>Brugernavn:</td>
<td height="19"><%=rs.fields('BRUGERNAVN')%></td>
</tr>

<tr>
<td>Password:</td>
<td><input type="text" name="password" size="20" value="<%=rs.fields('PASSWORD')%>"></td>
</tr>

<tr>
<td>Gentag Password:</td>
<td><input type="text" name="password2" size="20" value="<%=rs.fields('PASSWORD')%>"></td>
</tr>

<tr>
<td></td>
<td height="29"><input type="submit" name="Submit" value="Opdater"></td>
</tr>
</table>
</form>

<%
conn.Close();   
%>
Avatar billede softspot Forsker
25. januar 2005 - 23:26 #1
Prøv at lave

Response.Write(pass + ", " + pass2);
Response.End();

i stedet for at navigere til opdater_fejl.asp, så kan du muligvis komme nærmere hvorfor den ikke reagerer som du ønsker.
Avatar billede softspot Forsker
25. januar 2005 - 23:27 #2
Du mangler også en tuborg-start umiddelbart efter if-sætningen...

if(pass==pass2)

conn = Server.CreateObject("ADODB.Connection");


det skal vel være:

if(pass==pass2)
{
conn = Server.CreateObject("ADODB.Connection");
Avatar billede softspot Forsker
25. januar 2005 - 23:28 #3
Desuden skal Server.mappath skrives Server.MapPath (da JavaScript er case sensitive, men det ved du nok allerede :))...
Avatar billede softspot Forsker
25. januar 2005 - 23:29 #4
Er der i øvrigt en grund til at du ikke benytter UPDATE i stedet for DELETE og INSERT?
Avatar billede softspot Forsker
25. januar 2005 - 23:31 #5
Husk i øvrigt at lukke din databaseforbindelse inden du redirecter (når nu det går godt) :)
Avatar billede Slettet bruger
26. januar 2005 - 01:08 #6
Har prøvet det men jeg bliver stadig sendt til opdater_fejl.asp siden. :-/
Avatar billede softspot Forsker
26. januar 2005 - 22:29 #7
må jeg se den kode du er kommet frem til nu?
Avatar billede frank74 Nybegynder
27. januar 2005 - 16:34 #8
Har du prøvet med TheForm???
Det virkede for mig...
Indsæt dette javescript i stedet for :

---------------------------------------------------------------------------------

<script LANGUAGE="JavaScript">
    <!-- HIDE FROM OTHER BROWSERS
    function validate(theForm)
    {
        if (theForm.navn.value == "")
              {
            alert("Navn kræves. Tak.");
            theForm.navn.focus();
            return (false);
              }
        if (theForm.adresse.value == "")
              {
            alert("Adresse kræves. Tak.");
            theForm.adresse.focus();
            return (false);
              }
        if (theForm.city.value == "")
              {
            alert("By kræves. Tak.");
            theForm.city.focus();
            return (false);
              }
        if (theForm.email.value == "")
              {
            alert("E-Mail kræves. Tak.");
            theForm.email.focus();
            return (false);
              }
            if(theForm.password.value == "")
        {
      alert("Password kræves. Tak.");
          theForm.password.focus();
      return (false);
        }
    if(theForm.password2.value == "")
        {
      alert("Skriv dit Password igen. Tak.");
          theForm.password2.focus();
      return (false);
        }
    if(theForm.password2.value != theForm.password.value)
        {
      alert("Password er IKKE ens...");
          theForm.password.focus();
      return (false);
        }
        return (true);
    }
    // STOP HIDING FROM OTHER BROWSERS -->
</script>

---------------------------------------------------------------------------------
Avatar billede frank74 Nybegynder
27. januar 2005 - 16:37 #9
Hvis et felt ikke er udfyldt korrekt får du besked med det sammeog curseren "stiller" sig der hvor en indtastning mangler. Du behøver altså ikke din "opdater_fejl.asp" mere...
Avatar billede frank74 Nybegynder
27. januar 2005 - 16:45 #10
Du kan også skifte

  if(theForm.password.value == "")
        {
      alert("Password kræves. Tak.");
      theForm.password.focus();
      return (false);
        }

ud med følgende

      if (theForm.password.value.length < 6)
      {
      alert("Password skal være på mindst 6 tegn.");
        theForm.password.focus();
      return (false);
          }
Avatar billede frank74 Nybegynder
25. september 2010 - 04:25 #11
Lukketid ???
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