Avatar billede jr40 Nybegynder
15. oktober 2002 - 14:09 Der er 24 kommentarer og
1 løsning

hjælp til"´´ og mellemrum

Når man er logget ind på admin.asp og vil lave en nyvare og jeg f.eks. skriver:
video"10",nr´1

det vil den ik tage da den ik kan lide ´"" osv.?
er det noget du ka rette for mig.?
/feltet hvor varenavnene står, er det noget som du kan gøre så det bestemmer selv størrelsen efter hvor lang sætning man skriver.?
Login her: så du ka se hvad jeg mener,
http://www.aklausen.dyndns.dk/andre/butik/admin.asp

sourcekoden er her:
http://www.aklausen.dyndns.dk/andre/butik/help.rar

hvis du ka rette det så skriv endten grundtigt hvad jeg skal rette i koden eller post hele koden her inde.
Avatar billede eagleeye Praktikant
15. oktober 2002 - 14:38 #1
hvis det er når du gemmer i databasen så skal du replace en ' med to '' for at det bliver til en rigtig '

str = replace(request.form("feltnavn"),"'","''")
Avatar billede eagleeye Praktikant
15. oktober 2002 - 14:39 #2
SQL bruger ' til at starte og slutte strenge. Det er på samme måde som man udskriver en " som to "" i en response.write..
Avatar billede jr40 Nybegynder
15. oktober 2002 - 14:43 #3
hmm ja, men hvor i koden der, da det ik er mig som selv har lavet den, så kunne være rart hvis du ka sige hvor/maybe sætte den ind for mig
Avatar billede eagleeye Praktikant
15. oktober 2002 - 15:15 #4
Jeg har ikke en rar udpakker hvor jeg er lige nu...
Avatar billede eagleeye Praktikant
15. oktober 2002 - 15:16 #5
Det skal ind hvor du indsætter i databasen / hendter data for formen.
Avatar billede jr40 Nybegynder
15. oktober 2002 - 16:29 #6
admin siden ser sådan her ud:
<!-- #include file="checklogin.inc" -->
<!-- #include file="asp.inc" -->
<%
Response.Expires = 0
Titel = "Administration af butik"

DBPath = Server.MapPath("shop.mdb")
Set    Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DBPath

'Set Conn = Server.CreateObject("ADODB.Connection")
'Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; =" & server.MapPath("shop.mdb")
Price = Request.QueryString("Pris")
If Not LCase(Price) = UCase(Price) Then
    Price = "0"
End If
ID = CLng(Request.QueryString("ID"))
Mode = LCase(CStr(Request.QueryString("Mode")))
State = CLng(Request.QueryString("State"))
Price = CLng(Price)
Name = CStr(Request.QueryString("Navn"))
If Trim(Name) = "" Then Name = "Ingen titel"
Description = CStr(Request.QueryString("Tekst"))
%>
<!-- #include file="top.inc" -->
<%
Select Case Mode
    Case "nyvare"
        If State = 0 Then
            Response.Write "<h3>Ny vare</h3>"
            ShowArticleForm
        Else
            SQLstmt = "INSERT INTO Articles (Name, Description, Price, Parent) VALUES ("
            SQLstmt = SQLstmt & "'" & Name & "', "
            SQLstmt = SQLstmt & "'" & Description & "', "
            SQLstmt = SQLstmt & "" & Price & ", "
            SQLstmt = SQLstmt & "" & ID & ");"
            Conn.Execute SQLstmt
            %>
            <p align="center">Varen blev oprettet.<br>
            [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Tilbage</a>]
            <%
        End If
    Case "nykategori"       
        If State = 0 Then
            Response.Write "<h3>Ny kategori</h3>"
            ShowCategoryForm
        Else
            SQLstmt = "INSERT INTO Categories (Name, Description, Parent) VALUES ("
            SQLstmt = SQLstmt & "'" & Name & "', "
            SQLstmt = SQLstmt & "'" & Description & "', "
            SQLstmt = SQLstmt & "" & ID & ");"
            Conn.Execute SQLstmt
            %>
            <p align="center">Kategorien blev oprettet.<br>
            [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Tilbage</a>]
            <%
        End If
    Case "retvare"
        If State = 0 Then
            Set RS = Conn.Execute("SELECT * FROM Articles WHERE ID = " & ID)
            Name = RS("Name")
            Description = RS("Description")
            Price = RS("Price")
            Response.Write "<h3>Ret vare</h3>"
            ShowArticleForm
        Else
            SQLstmt = "UPDATE Articles SET "
            SQLstmt = SQLstmt & "Name = '" & Name & "', "
            SQLstmt = SQLstmt & "Description = '" & Description & "', "
            SQLstmt = SQLstmt & "Price = " & Price & " "
            SQLstmt = SQLstmt & "WHERE ID = " & ID
            Conn.Execute SQLstmt
            %>
            <p align="center">Varen blev ændret.<br>
            [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Tilbage</a>]
            <%
        End If
    Case "retkategori"
        If State = 0 Then
            Set RS = Conn.Execute("SELECT * FROM Categories WHERE ID = " & ID)
            Name = RS("Name")
            Description = RS("Description")
            Response.Write "<h3>Ret kategori</h3>"
            ShowCategoryForm
        Else
            SQLstmt = "UPDATE Categories SET "
            SQLstmt = SQLstmt & "Name = '" & Name & "', "
            SQLstmt = SQLstmt & "Description = '" & Description & "' "
            SQLstmt = SQLstmt & "WHERE ID = " & ID
            Conn.Execute SQLstmt
            %>
            <p align="center">Kategorien blev ændret.<br>
            [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Tilbage</a>]
            <%
        End If
    Case "sletvare"
        If State = 0 Then
            %>
            <p align="center">Bekræft sletning af vare.
            <p align="center">[<a href="admin.asp?mode=sletvare&state=1&id=<%= ID %>">OK</a>] [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Annuller</a>]
            <%
        Else
            Conn.Execute "DELETE * FROM Articles WHERE ID = " & ID
            %>
            <p align="center">Varen blev slettet.<br>
            [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Tilbage</a>]
            <%
        End If
    Case "sletkategori"
        If State = 0 Then
            %>
            <p align="center">Bekræft sletning af kategori.
            <p align="center">[<a href="admin.asp?mode=sletkategori&state=1&id=<%= ID %>">OK</a>] [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Annuller</a>]
            <%
        Else
            Conn.Execute "DELETE * FROM Categories WHERE ID = " & ID
            %>
            <p align="center">Kategorien blev slettet.<br>
            [<a href="viskategori.asp?id=<%= Session("LastCategory") %>">Tilbage</a>]
            <%
        End If
End Select
%>

<!-- #include file="bund.inc" -->
Avatar billede eagleeye Praktikant
15. oktober 2002 - 16:51 #7
du kan prøve at rette disse linier

Mode = LCase(CStr(Request.QueryString("Mode")))
State = CLng(Request.QueryString("State"))
Price = CLng(Price)
Name = CStr(Request.QueryString("Navn"))


til:

Mode = LCase(CStr(Request.QueryString("Mode")))
State = CLng(Request.QueryString("State"))
Price = CLng(Price)
Name = CStr(Request.QueryString("Navn"))
If Trim(Name) = "" Then Name = "Ingen titel"
Description = CStr(Request.QueryString("Tekst"))


Til dette:

Mode = replace(LCase(CStr(Request.QueryString("Mode"))),"'","''")
State = CLng(Request.QueryString("State"))
Price = CLng(Price)
Name = replace(CStr(Request.QueryString("Navn")),"'","''")
If Trim(Name) = "" Then Name = "Ingen titel"
Description = Replace(CStr(Request.QueryString("Tekst")),"'","''")
Avatar billede eagleeye Praktikant
15. oktober 2002 - 16:52 #8
bare glem de første 4 line i min sidte kommentar.. der er vist noget copy/paste fejl...
Avatar billede jr40 Nybegynder
15. oktober 2002 - 16:57 #9
nu skriver den fejl i linje:41
            Conn.Execute SQLstmt
Avatar billede eagleeye Praktikant
15. oktober 2002 - 17:04 #10
hvilken fejl kommer den med? fejl kode+tekst.
Avatar billede jr40 Nybegynder
15. oktober 2002 - 17:05 #11
Technical Information (for support personnel)

Error Type:
Microsoft JET Database Engine (0x80040E57)
The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.
/andre/butik/admin.asp, line 41
Avatar billede eagleeye Praktikant
15. oktober 2002 - 17:10 #12
Det betyder at strengen man forsøger at ligge ind i en kolonne er længere en max længden som defineret for kolonnen.
Avatar billede eagleeye Praktikant
15. oktober 2002 - 17:12 #13
hvad prøver du at ligge i databasen?
Avatar billede jr40 Nybegynder
15. oktober 2002 - 17:13 #14
yes oki, det var så mit andet spørgsmål som du nok ser øverst.

kan du gøre så kolonen selv retter sig efter hvor lang tekst man skriver.

koden har jeg lavet om til zip:
http://www.aklausen.dyndns.dk/andre/butik/help.zip
Avatar billede eagleeye Praktikant
15. oktober 2002 - 17:17 #15
Enten skal du cutte for lang tekst for de enkelte kolonner eller skal du rette formen til så man ikke kan indaste flere karakter i input felterne end der er sat plads af i databasen..

Eks hvis du definere navn til at være 10 karakter og vil ligger dette i: etaltforlangnavn så kommer fejlen.
Avatar billede eagleeye Praktikant
15. oktober 2002 - 17:19 #16
Alternativt skal du lave max længden længere for hver kolonne, dog kan man max havde 255 karakter i en datatype tekst. Så kan man bruge notat hvis der er behov for flere.
Avatar billede jr40 Nybegynder
15. oktober 2002 - 17:19 #17
oki
Avatar billede jr40 Nybegynder
15. oktober 2002 - 17:21 #18
hvor i skal de 255 sættes ind:?


<!-- #include file="asp.inc" -->
<%
    Response.Expires = 0
    Titel = "Varekategorier"
    LoggedIn = CBool(True)
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("shop.mdb")
   
    ID = CLng(Request.QueryString("ID"))
    Session("LastCategory") = ID

%>
<!-- #include file="top.inc" -->
<%

    Set RS = Conn.Execute("SELECT Parent, Name FROM Categories WHERE ID = " & ID)
    If RS.EOF Then
        Parent = -1
        Kategori = "Hovedkategorier"
    Else
        Parent = RS("Parent")
        Kategori = RS("Name")
    End If

    %>
    <h3><%= Kategori %></h3>
    <%
   
    SQLstmt = "SELECT * FROM Categories WHERE Parent = " & ID & " ORDER BY Name"
    Set RS = Conn.Execute(SQLstmt)
    If Not RS.EOF Then
        Do While Not RS.EOF
            %>
            <b><li><a href="viskategori.asp?id=<%= RS("ID") %>"><%= RS("Name") %></a></b> <%= AdminText("[<a href=admin.asp?mode=retkategori&id=" & RS("ID") & ">Ret</a>] [<a href=admin.asp?mode=sletkategori&id=" & RS("ID") & ">Slet</a>]") %>
            <%
            If RS("Description") <> "" Then
                %>
                - <%= RS("Description") %><br>
                <%
            End If
            RS.MoveNext
        Loop
    End If

    SQLstmt = "SELECT * FROM Articles WHERE Parent = " & ID & " ORDER BY Name"
    Set RS = Conn.Execute(SQLstmt)
    If Not RS.EOF Then
        %>
        <p><table width="100%" border="0" cellspacing="2" cellpadding="5">
        <%
        Do While Not RS.EOF
            RowNum = Not RowNum
            If RowNum = True Then
                RowColor = "#FFF7DF"
            Else
                RowColor = "#FFF9EA"
            End If
            %>
            <tr>
            <td bgcolor="<%= RowColor %>">
            <b><a href="visvare.asp?id=<%= RS("ID") %>"><%= RS("Name") %></a></b> <%= AdminText("[<a href=admin.asp?mode=retvare&id=" & RS("ID") & ">Ret</a>] [<a href=admin.asp?mode=sletvare&id=" & RS("ID") & ">Slet</a>]") %>
            </td>
            <td bgcolor="<%= RowColor %>" width="1%" nowrap>
            <p align="right"><b>Pris:</b> kr. <%= RS("Price") %>,-
            </td>
            <td bgcolor="<%= RowColor %>" width="1%" nowrap>
            <font size="1"><a href="viskurv.asp?mode=tilfoej&id=<%= RS("ID") %>">Læg i indkøbskurv</a></font>
            </td>
            </tr>
            <%
            RS.MoveNext
        Loop
        %>
        </table>
        <%
    End If   
%>
<p align="center">
<% If Parent >= 0 Then %>
[<a href="viskategori.asp?id=<%= Parent %>">Et niveau op</a>]
<% End If %>
[<a href="viskurv.asp">Vis indkøbskurv</a>]
<%= AdminText("[<a href=admin.asp?mode=nykategori&id=" & ID & ">Ny kategori</a>] [<a href=admin.asp?mode=nyvare&id=" & ID & ">Ny vare</a>]") %>
</p>
<!-- #include file="bund.inc" -->
Avatar billede eagleeye Praktikant
15. oktober 2002 - 17:26 #19
det skal være på input formen...

hvis man har en kolonne navn som max må være på 10 karakter kan input feltet laves sådan her:

<input type="text" name="navn" maxlength="10">

Så kan man max indtaste 10 karakter.
Avatar billede jr40 Nybegynder
15. oktober 2002 - 17:34 #20
det vil sige det er slet ik på den side jeg har skrevet her til sidst?
Avatar billede eagleeye Praktikant
15. oktober 2002 - 17:41 #21
det liger en side som udskriver fra databasen.. men jeg kender ikke max længden på dine kolonner.. jeg har også prøvet at loggge ind på din side og lave en ny vare med navnet:  video"10",nr'1 
men der kommer igen fejl på det så det må være længden på et af de andre felter....
Avatar billede jr40 Nybegynder
15. oktober 2002 - 18:26 #22
hmm
Avatar billede jr40 Nybegynder
16. oktober 2002 - 10:39 #23
yes jeg har forstået hvad du mener med af længden ska være længere, jeg ka bare Ik se hvor i mine sidder jeg ska ændre det.!!

ka du ik nok lige prøve af tage et look på mine sider og se hvor, plzz.
Avatar billede jr40 Nybegynder
28. oktober 2002 - 21:46 #24
?
Avatar billede jr40 Nybegynder
23. december 2002 - 00:53 #25
hmm fik en ven til af klare det, men jeg takker fordi i vil være med i mit spørgsmål
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