Avatar billede steen_hansen Forsker
29. juni 2005 - 21:26 Der er 25 kommentarer og
1 løsning

Tjek valg

Hvordan tjekker jeg på radiobuttons?

<%
Dim showfullname
If LCase(Request.Form("showfullname")) = 1 Then
    showfullname = 1
ElseIf Request.Form("showfullname") = 2 Then
    showfullname = 2
ElseIf Request.Form("showfullname") = 3 Then
    showfullname = 3
End If
%>

<table border="0" cellpadding="0" cellspacing="0" class="full">
    <tr>
        <td align="left"><input type="radio" value="1" name="showfullname"<% If RS("showfullname") = "1" Then %> checked<% End If %>></td>
        <td align="left">Vis ikke mit navn</td>
        <td align="left"><input type="radio" value="2" name="showfullname"<% If RS("showfullname") = "2" Then %> checked<% End If %>></td>
        <td align="left">Vis mit fulde navn</td>
        <td align="left"><input type="radio" value="3" name="showfullname"<% If RS("showfullname") = "3" Then %> checked<% End If %>></td>
        <td align="left">Vis dele af mit navn, som jeg vælger herunder:</td>
    </tr>
</table>
Avatar billede nielle Nybegynder
29. juni 2005 - 21:27 #1
<%
Dim showfullname
If LCase(Request.Form("showfullname")) = "1" Then
    showfullname = 1
ElseIf Request.Form("showfullname") = "2" Then
    showfullname = 2
ElseIf Request.Form("showfullname") = "3" Then
    showfullname = 3
End If
%>
Avatar billede nielle Nybegynder
29. juni 2005 - 21:28 #2
Alt hvad der kommer tilbage til serveren via Request.Form(...) kommer som tekst.
Avatar billede steen_hansen Forsker
29. juni 2005 - 21:37 #3
Hej nielle :) Nu er jeg røget ud i endnu en "Check the manual that corresponds to your MySQL server version for the right syntax to use near ...". Vender tilbage om et øjeblik ...
Avatar billede steen_hansen Forsker
29. juni 2005 - 21:38 #4
Selvfølgelig, jeg havde glemt "X" :o/
Avatar billede steen_hansen Forsker
29. juni 2005 - 21:51 #5
Har du tid/lyst til at kigge dette igennem? Jeg tror jeg har stirret mig blind på det :o/

        If SQLEncode(Request.Form("newpass")) <> "" Then
            mySQLstr = "UPDATE profiles SET pass='" & _
                "'" & Trim(SQLEncode(Request.Form("newpass"))) & "', " & _
                "'" & showlastseen & "' , " & _
                "'" & showstatus & "', " & _
                "'" & showfullname & "', " & _
                "'" & showfirstname & "', " & _
                "'" & Trim(SQLEncode(Request.Form("firstname"))) & "', " & _
                "'" & showmiddlename & "', " & _
                "'" & Trim(SQLEncode(Request.Form("middlename"))) & "', " & _
                "'" & showlastname & "', " & _
                "'" & Trim(SQLEncode(Request.Form("lastname"))) & "', " & _
                "'" & showaddress1 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("address1"))) & "', " & _
                "'" & showaddress2 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("address2"))) & "', " & _
                "'" & showzip & "', " & _
                "'" & Trim(SQLEncode(Request.Form("zip"))) & "', " & _
                "'" & showemail & "', " & _
                "'" & Trim(SQLEncode(Request.Form("email"))) & "', " & _
                "'" & showphoneathome & "', " & _
                "'" & Trim(SQLEncode(Request.Form("phoneathome"))) & "', " & _
                "'" & showcellphone1 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("cellphone1"))) & "', " & _
                "'" & showcellphone2 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("cellphone2"))) & "', " & _
                "'" & showphoneatwork & "', " & _
                "'" & Trim(SQLEncode(Request.Form("phoneatwork"))) & "', " & _
                "'" & showcellphoneatwork & "', " & _
                "'" & Trim(SQLEncode(Request.Form("cellphoneatwork"))) & "', " & _
                "'" & Trim(SQLEncode(Request.Form("description"))) & "', " & _
                "'" & lastIP & "' WHERE username='" & SQLEncode(Session("username")) & "'"
                Response.Write "DEBUG: " & mySQLstr & "<br>"
            Conn.Execute mySQLstr
            Conn.Close
        Else

            mySQLstr = "UPDATE profiles SET showlastseen='" & _
                "'" & showlastseen & "', " & _
                "'" & showstatus & "', " & _
                "'" & showfullname & "', " & _
                "'" & showfirstname & "', " & _
                "'" & Trim(SQLEncode(Request.Form("firstname"))) & "', " & _
                "'" & showmiddlename & "', " & _
                "'" & Trim(SQLEncode(Request.Form("middlename"))) & "', " & _
                "'" & showlastname & "', " & _
                "'" & Trim(SQLEncode(Request.Form("lastname"))) & "', " & _
                "'" & showaddress1 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("address1"))) & "', " & _
                "'" & showaddress2 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("address2"))) & "', " & _
                "'" & showzip & "', " & _
                "'" & Trim(SQLEncode(Request.Form("zip"))) & "', " & _
                "'" & showemail & "', " & _
                "'" & Trim(SQLEncode(Request.Form("email"))) & "', " & _
                "'" & showphoneathome & "', " & _
                "'" & Trim(SQLEncode(Request.Form("phoneathome"))) & "', " & _
                "'" & showcellphone1 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("cellphone1"))) & "', " & _
                "'" & showcellphone2 & "', " & _
                "'" & Trim(SQLEncode(Request.Form("cellphone2"))) & "', " & _
                "'" & showphoneatwork & "', " & _
                "'" & Trim(SQLEncode(Request.Form("phoneatwork"))) & "', " & _
                "'" & showcellphoneatwork & "', " & _
                "'" & Trim(SQLEncode(Request.Form("cellphoneatwork"))) & "', " & _
                "'" & Trim(SQLEncode(Request.Form("description"))) & "', " & _
                "'" & lastIP & "' WHERE username='" & SQLEncode(Session("username")) & "'"
                Response.Write "DEBUG: " & mySQLstr & "<br>"
            Conn.Execute mySQLstr
            Conn.Close
        End If
Avatar billede steen_hansen Forsker
29. juni 2005 - 21:52 #6
PS: Sætter point op
Avatar billede nielle Nybegynder
29. juni 2005 - 21:54 #7
Hvor brokker den sig? Og hvad siger den?
Avatar billede nielle Nybegynder
29. juni 2005 - 21:57 #8
Jeg kan da se et par fejl med det samme:

mySQLstr = "UPDATE profiles SET pass='" & _
                "'" & Trim(SQLEncode(Request.Form("newpass"))) & "', " & _

... du får hele to '-tegn foran dit password. Og den samme gentages længere nede.
Avatar billede nielle Nybegynder
29. juni 2005 - 22:02 #9
Og du har:

SET pass='ngfvfdjdf'

- for den aller første værdi i din UPDATE. De efterfølgende mangler imidlertid den første del:

"DitShowlastseenFelt='" & showlastseen & "' , " & _
Avatar billede nielle Nybegynder
29. juni 2005 - 22:04 #10
Ret dem, det skal nok hjælpe en god del. Hvis den stadig brokker sig bagefter så tager vi den derfra.
Avatar billede steen_hansen Forsker
29. juni 2005 - 22:06 #11
Kommentar: nielle 29/06-2005 22:02:24: Jeg har før dette dimensioneret de forskellige variabler:

        Dim showfullname
        If LCase(Request.Form("showfullname")) = "1" Then
            showfullname = 1
        ElseIf Request.Form("showfullname") = "2" Then
            showfullname = 2
        ElseIf Request.Form("showfullname") = "3" Then
            showfullname = 3
        End If

        Dim showfirstname
        If Lcase(Request.Form("showfirstname")) = "on" Then
            showfirstname = 1
        Else
            showfirstname = 0
        End If

osv., osv...



Din debug fra det andet spørgsmål:

DEBUG: UPDATE profiles SET showlastseen='1', '1', '1', '0', 'MitFornavn', '0', 'MitMellemnavn', '0', 'MitEfternavn', '0', 'MinAdresse', '0', 'MitStednavn', '0', 'MitPostnummer', '0', 'min@e-mail.dk', '0', 'MinTelefon', '1', 'MinMobil', '0', '', '0', 'ArbejdsTelefon', '0', '', 'Dette er en midlertidig test-profil. Mere profiltekst kommer senere.', 'Min_IPadrsse_xxx.xxx.xxx.xxx' WHERE username='mit_profilnavn'

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''1', '1', '0', 'MitFornavn', '0', 'MitMellemnavn', '0', 'MitEfternavn', '0',
Avatar billede steen_hansen Forsker
29. juni 2005 - 22:10 #12
PS: Det øverste script tjekker om der er ændringer i password. Hvis det ikke er tilfældet, skal det nederste script eksekveres:

TJEK FOR ÆNDRING I PASSWORD:

        If SQLEncode(Request.Form("newpass")) <> "" Then
            mySQLstr = "UPDATE profiles SET pass='" & _
                "'" & Trim(SQLEncode(Request.Form("newpass"))) & "', " & _
                "'" & showlastseen & "' , " & _
                "'" & showstatus & "', " & _
                "'" & showfullname & "', " & _
                "'" & showfirstname & "', " & _

        .............


        Else

            mySQLstr = "UPDATE profiles SET showlastseen='" & _
                "'" & showlastseen & "', " & _
                "'" & showstatus & "', " & _
                "'" & showfullname & "', " & _
                "'" & showfirstname & "', " & _
                "'" & Trim(SQLEncode(Request.Form("firstname"))) & "', " & _
                "'" & showmiddlename & "', " & _
                "'" & Trim(SQLEncode(Request.Form("middlename"))) & "', " & _
                "'" & showlastname & "', " & _

        .............

        End If
Avatar billede nielle Nybegynder
29. juni 2005 - 22:13 #13
Din nuværende UPDATE:

UPDATE profiles SET showlastseen='1', '1', '1', '0', 'MitFornavn', '0', 'MitMellemnavn', '0', 'MitEfternavn', '0', 'MinAdresse', '0', 'MitStednavn', '0', 'MitPostnummer', '0', 'min@e-mail.dk', '0', 'MinTelefon', '1', 'MinMobil', '0', '', '0', 'ArbejdsTelefon', '0', '', 'Dette er en midlertidig test-profil. Mere profiltekst kommer senere.', 'Min_IPadrsse_xxx.xxx.xxx.xxx' WHERE username='mit_profilnavn'

- skal se sådan her ud

UPDATE profiles SET showlastseen='1', EtFeltIDatabasen01='1', EtFeltIDatabasen02='1', EtFeltIDatabasen03='0', EtFeltIDatabasen04='MitFornavn', EtFeltIDatabasen05='0', EtFeltIDatabasen06='MitMellemnavn', EtFeltIDatabasen07='0', EtFeltIDatabasen08='MitEfternavn', EtFeltIDatabasen09='0', EtFeltIDatabasen10='MinAdresse', EtFeltIDatabasen11='0', EtFeltIDatabasen12='MitStednavn', EtFeltIDatabasen13='0', EtFeltIDatabasen14='MitPostnummer', EtFeltIDatabasen15='0', EtFeltIDatabasen16='min@e-mail.dk', EtFeltIDatabasen17='0', EtFeltIDatabasen18='MinTelefon', EtFeltIDatabasen19='1', EtFeltIDatabasen20='MinMobil', EtFeltIDatabasen21='0', EtFeltIDatabasen22='', EtFeltIDatabasen23='0', EtFeltIDatabasen24='ArbejdsTelefon', EtFeltIDatabasen25='0', EtFeltIDatabasen26='', EtFeltIDatabasen27='Dette er en midlertidig test-profil. Mere profiltekst kommer senere.', EtFeltIDatabasen28='Min_IPadrsse_xxx.xxx.xxx.xxx' WHERE username='mit_profilnavn'

- hvor du vel at mærke retter mine EtFeltIDatabasenXX til det felt der skal opdateres.
Avatar billede nielle Nybegynder
29. juni 2005 - 22:15 #14
Du må nok også hellere SQLEncode(...)'e nogle af de andre felter.
Avatar billede steen_hansen Forsker
29. juni 2005 - 22:22 #15
Jeg er da virkelig kørt sur i det. Kan du prøve at skrive det korrekt? Jeg har lavet det mange gange før, kan vist ikke se recordsettet for bare data :o/
Avatar billede steen_hansen Forsker
29. juni 2005 - 22:35 #16
nielle, jeg tror jeg har fundet fejlen: Jeg har det med at blive overbebyrdet på arbejdet, og har kun sovet 2-4 timer hver nat de sidste 10-12 dage. Så jeg tror jeg har nået et punkt, hvor det konstruktive er hørt op :oD

Kigger på det på et tidspunkt i morgen.
Avatar billede nielle Nybegynder
29. juni 2005 - 22:36 #17
Jeg ved jo ikke hvad du har kaldt felterne i din database - så nej det kan jeg desværre ikke :^|
Avatar billede nielle Nybegynder
29. juni 2005 - 22:36 #18
Sovl godt :^)
Avatar billede steen_hansen Forsker
29. juni 2005 - 22:39 #19
userID
created
showlastseen
showstatus
username
showfullname
showfirstname
firstname

etc.

Jeg vender tilbage i morgen. Og tak, i lige måde, når du når til det :)
Avatar billede nielle Nybegynder
29. juni 2005 - 22:57 #20
Den første UPDATE:

mySQLstr = "UPDATE profiles SET " & _
    "pass='" & Trim(SQLEncode(Request.Form("newpass"))) & "', " & _
    "showlastseen='" & showlastseen & "', " & _
    "showstatus='" & showstatus & "', " & _
    "showfullname='" & showfullname & "', " & _
    "showfirstname='" & showfirstname & "', " & _
    "firstname='" & Trim(SQLEncode(Request.Form("firstname"))) & "', " & _
    "showmiddlename='" & showmiddlename & "', " & _
    "middlename='" & Trim(SQLEncode(Request.Form("middlename"))) & "', " & _
    "showlastname='" & showlastname & "', " & _
    "lastname='" & Trim(SQLEncode(Request.Form("lastname"))) & "', " & _
    "showaddress1='" & showaddress1 & "', " & _
    "address1='" & Trim(SQLEncode(Request.Form("address1"))) & "', " & _
    "showaddress2='" & showaddress2 & "', " & _
    "address2='" & Trim(SQLEncode(Request.Form("address2"))) & "', " & _
    "showzip='" & showzip & "', " & _
    "zip='" & Trim(SQLEncode(Request.Form("zip"))) & "', " & _
    "showemail='" & showemail & "', " & _
    "email='" & Trim(SQLEncode(Request.Form("email"))) & "', " & _
    "showphoneathome='" & showphoneathome & "', " & _
    "phoneathome='" & Trim(SQLEncode(Request.Form("phoneathome"))) & "', " & _
    "showcellphone1='" & showcellphone1 & "', " & _
    "cellphone1='" & Trim(SQLEncode(Request.Form("cellphone1"))) & "', " & _
    "showcellphone2='" & showcellphone2 & "', " & _
    "cellphone2='" & Trim(SQLEncode(Request.Form("cellphone2"))) & "', " & _
    "showphoneatwork='" & showphoneatwork & "', " & _
    "phoneatwork='" & Trim(SQLEncode(Request.Form("phoneatwork"))) & "', " & _
    "showcellphoneatwork='" & showcellphoneatwork & "', " & _
    "cellphoneatwork='" & Trim(SQLEncode(Request.Form("cellphoneatwork"))) & "', " & _
    "description'" & Trim(SQLEncode(Request.Form("description"))) & "', " & _
    "lastIP='" & lastIP & "' " & _
    "WHERE username='" & SQLEncode(Session("username")) & "'"

Response.Write "DEBUG: " & mySQLstr & "<br>"

Conn.Execute mySQLstr
Conn.Close

- og den anden skal bare rettes til efter samme mønster.
Avatar billede thesurfer Nybegynder
30. juni 2005 - 04:06 #21
Jeg mener at checkboxe og radiobuttons får værdien "ON", når der er "kryds" i dem..

Dvs: if UCase(request.form("navnet på checkbox eller radiobutton")) = "ON" then

Brug altid enten LCase (LowerCase, små bogstaver) eller UCase (UpperCase, STORE BOGSTAVER) når du sammenligner..

/theSurfer
Avatar billede nielle Nybegynder
30. juni 2005 - 06:44 #22
thesurfer> Hvis der er en value på en checkbox, så er det ikke "on" men derimod værdien af denne som sendes.
Avatar billede steen_hansen Forsker
30. juni 2005 - 06:52 #23
nielle: Flot, havde ikke regnet med, at du havde lavet det hele, bare lige starten :)

thesurfer: Jeg dimensionerer det længere oppe: 29/06-2005 22:06:49

Nu er jeg imidlertid rendt i en "The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.", men jeg har ikke tid før i aften. Hvis I har tid/lyst til den også, forøger jeg point igen.


.................En hel masse

                "description='" & Trim(SQLEncode(Request.Form("description"))) & "', " & _
                "lastIP='" & lastIP & "' " & _
                "WHERE username='" & SQLEncode(Session("username")) & "'"

                Response.Write "DEBUG: " & mySQLstr & "<br>"

            Conn.Execute mySQLstr
            Conn.Close

        End If

        Response.Redirect "edituser.asp?msg=Din+profil+er+blevet+rettet."

    Else

        Set RS = Conn.Execute("SELECT * FROM profiles WHERE username = '" & SQLEncode(Session("username")) & "'")

        If RS.EOF Then
            Response.Redirect "/error.asp?msg=Der+skete+en+fejl.+Log+venligst+ind+igen."
        End If

    End If

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
....................
</html>


Det er Response.Redirect, der giver problemet:

Response.Redirect "edituser.asp?msg=Din+profil+er+blevet+rettet."

Jeg må hellere komme afsted, håber vi kan kigge på det i aften.
Avatar billede steen_hansen Forsker
30. juni 2005 - 06:59 #24
AH! Det var jo Response.Write "DEBUG: " & mySQLstr & "<br>", der lige skulle fjernes :)

Smid et svar - og tak for hjælpen, drenge/piger :)
Avatar billede nielle Nybegynder
30. juni 2005 - 17:34 #25
Svar :^)
Avatar billede steen_hansen Forsker
02. juli 2005 - 20:37 #26
Tak for hjælpen, nielle :)
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