Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > ASP > Generella frågor

Vad är felet med den här koden?

Antasja
Antasja

Gradering

#16527

Hej igen, jag har kommit tillbaka med ännu ett problem :P.

Jag har gjort så att man ska kunna ändra en smiley på sidan men när man försöker ändra ändras det till tomma namn, vilket förstör smileyn.

Det funkar helt bra att lägga till en smiley då...

http://www.aspkoll.se/code/Index.asp?id=527

ID: #16527 | Skapades: 2009-07-07 01:53:28 | Tråden har 32 svar och har lästs 771 gånger.
Sida: 1 23

voigtan
voigtan

Gradering

#16528

På rad 24 så sätter du objektet File till ett "File" objekt (eller vad Upload.files är för typ av objekt. Men du använder aldrig den, för på nästa rad så sätter du en loop på alla filer som finns i ditt formulär.
Den sparar filen:

File.SaveAs "" & Path & "/"& File.FileName &""
vilket borde skrivas som:
File.SaveAs Path & "/" & File.FileName
(Onödigt att ha tomma strängar på det sätt du skriver just nu.
Jag förstå inte riktigt problemet, den sparar ju filerna på servern och uppdatera databasen.
Vad innehåller variablen subdir? Vad är felet med koden?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16528 | Skapades: 2009-07-07 06:40:47

Antasja
Antasja

Gradering

#16541

subdir innehåller mappens namn.

Men det som ska hända på koden är ju att det ska vara en alternativ uppladdning om man ska ändra smileyn och att om man bara ska ändra namnet så ska bara det hända, men det händer något fel så att när man har ändrat namnet och trycker på "Skicka" så kommer objektets namn att bli tomt.

Och bilden verkar inte ändras heller av någon anledning...

ID: #16541 | Skapades: 2009-07-07 14:14:50

voigtan
voigtan

Gradering

#16543

Vilket objekt pratar du om?

set File = Upload.Files("FILE1")
skrivs över direkt med din for each sats, vad heter ditt input fält för bilderna? Hur lite av din kod fungera och vad krävs för att den skall bete sig som du vill?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #16543 | Skapades: 2009-07-07 14:33:12

Antasja
Antasja

Gradering

#16544

Jag pratar om objektet som ska uppdateras i databasen, Nu märkte jag att jag hade fel namn på

If Request.Form("simg") > 1 Then 

Jag ändrade det till rätt namn men inget verkar ha ändrats, det jag försöker göra är att:

Du ska kunna ändra namnet på smileyn och sen alternativt ladda upp en annan bild, och om fältet för bilden är tomt så ska bara namnet uppdateras.


Input namnet för bilden är File1, för namnet är det stext och en alternativ text är det shover.

ID: #16544 | Skapades: 2009-07-07 14:51:00

voigtan
voigtan

Gradering

#16545

Request.Form kan du inte använda dig av när det gäller Persits.Upload.1 objekt källa: http://support.persits.com/show.asp...code=PS01041843 Du får använda dig av

Set Upload = Server.CreateObject("Persits.Upload.1")
objketet för att få forumlär datan. Upload.Form("simg")

En annan sak med, om du skall ha dynamiska mappvägar också så bör du nog kolla upp din SQL råga med eftersom du säger att den alltid skall sparas till '../files/smileys/' mappen.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
Redigerades av voigtan den 7 juli 2009. Läs tidigare inlägg.
Redigerades av voigtan den 7 juli 2009. Läs tidigare inlägg.
ID: #16545 | Skapades: 2009-07-07 14:55:04

Antasja
Antasja

Gradering

#16546

Det verkar fortfarande inte fungera fast jag har ändrat alla Request.Form till Upload.Form. Jag trodde bara att Upload.Form skulle behövas om det var en Request.Form i själva upload koden. För jag hade det problemet vid när man lägger till en ny smiley. (som fungerar perfekt)

Skulle den enklaste lösningen vara att separera Bildändringen och namnändringen?

 

En annan sak med, om du skall ha dynamiska mappvägar också så bör du nog kolla upp din SQL råga med eftersom du säger att den alltid skall sparas till '../files/smileys/' mappen.

Vad menar du med det?

ID: #16546 | Skapades: 2009-07-07 15:08:15

voigtan
voigtan

Gradering

#16547

Eftersom du skriver att du sparar filen:

File.SaveAs "" & Path & "/"& File.FileName & ""
Så måste man kunna byta vilken mapp (Upload.Form("subdir")), då är det viktigt också att du även ta med det i när du uppdatera din databas:
ObjConn.Execute("UPDATE Smiley set simg='../files/smileys/"& File.FileName &"' where id="&request.querystring("id")&"")


Citat:
Skulle den enklaste lösningen vara att separera Bildändringen och namnändringen?
Tycker jag inte skall behövas, behövs bara en SQL fråga för det från början, förstå inte riktigt varför du har två Update frågor när du skulle kunna baka in det till en.

Hur många filer kan man ladda upp nu? En åt gången? Annars har du ett problem till att du sparar varje fil och uppdatera samma ID med det senaste File.Filename, Vad få du ut i din SQL fråga (Response.Write och Response.End för att se SQL frågan, vad stämmer och vad stämmer inte på den frågan?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
Redigerades av voigtan den 7 juli 2009. Läs tidigare inlägg.
ID: #16547 | Skapades: 2009-07-07 15:23:04

Antasja
Antasja

Gradering

#16548

Citerar voigtan:

 förstå inte riktigt varför du har två Update frågor när du skulle kunna baka in det till en.

Det är så att den ena uppdaterar bilden, och den andra uppdaterar smileyns namn.

Och att uppdatera bilden ska vara optimalt, så om man inte lägger in en fil där så händer ingen upload, utan det ska bara vara en ändring av namnet.

Och när man ändrar namnet blir namnet tomt. Medans bilden är kvar. Bilden verkar inte heller gå att kunna ändra...

Citerar voigtan:
Hur många filer kan man ladda upp nu? En åt gången? Annars har du ett problem till att du sparar varje fil och uppdatera samma ID med det senaste File.Filename, Vad få du ut i din SQL fråga (Response.Write och Response.End för att se SQL frågan, vad stämmer och vad stämmer inte på den frågan?

Det är bara 1 fil man kan ladda upp åt gången. Vart ska jag lägga in Response.Write och Response.End? - Det får ju bara koden att stanna...

Det som är problemet egentligen är att Upload.Form blir tomt så att Smileyns namn blir tomt, vilket inte jag vill att det ska hända...

ID: #16548 | Skapades: 2009-07-07 15:39:47

voigtan
voigtan

Gradering

#16549

Rensat din kod och lagt in en UPDATE nu endast, och två debug rader:

http://www.aspkoll.se/code/Index.asp?id=528

redigerad:

Den sparar inte bilderna alls i dina koder? din if fråga känns fel, kollar om en sträng är större än 1, låter konstigt som bara den. Ändrade den till Count istället.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
Redigerades av voigtan den 7 juli 2009. Läs tidigare inlägg.
ID: #16549 | Skapades: 2009-07-07 15:46:45

Antasja
Antasja

Gradering

#16550

Det blev såhär:

UPDATE Smiley set stext='', shover='' WHERE id=197

Vilket kanske förklarar varför det blir tomt istället för det som man skrivit in i formuläret?

ID: #16550 | Skapades: 2009-07-07 15:55:13

voigtan
voigtan

Gradering

#16551

Om du utgå ifrån min kod, innan if frågan sätt in en response.write på Request.Form:

Response.Write(Request.Form)
Response.End()
För att se vad du har i ditt formulär. För den träffar inte IF frågan just nu alls.

 

Gjorde en uppdatering annars:

http://www.aspkoll.se/code/Index.asp?id=529

Då jag har en känsla av att du behöver Upload.form, eftersom stext och shover inte heller få något innehåll

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
Redigerades av voigtan den 7 juli 2009. Läs tidigare inlägg.
Redigerades av voigtan den 7 juli 2009. Läs tidigare inlägg.
ID: #16551 | Skapades: 2009-07-07 15:58:09

Antasja
Antasja

Gradering

#16552

Citerar voigtan:

Om du utgå ifrån min kod, innan if frågan sätt in en response.write på Request.Form:

Response.Write(Request.Form)
Response.End()
För att se vad du har i ditt formulär.

Så, det ska stå vad det stog i formuläret som i UPDATE koden?

För att det kommer ingenting där, (ersatte debugdelen med det du skrev över).

ID: #16552 | Skapades: 2009-07-07 16:02:23

Antasja
Antasja

Gradering

#16553

Citerar voigtan:

http://www.aspkoll.se/code/Index.asp?id=529

Då jag har en känsla av att du behöver Upload.form, eftersom stext och shover inte heller få något innehåll

Fick det här felet nu:

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'Upload.Form(...).Count'

/administration.asp, line 368

ID: #16553 | Skapades: 2009-07-07 16:07:03

voigtan
voigtan

Gradering

#16554

Upload.Form har inte Count propertyn,

Kör innan din IF fråga:

Response.Write Upload.Form("simg")
Response.End If.....
liknande. För att sluta att gissa sig fram till saker och ting, kan du visa hur ditt formulär också se ut? det kan ju vara så enkelt att du har gjort något galet där.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
Redigerades av voigtan den 7 juli 2009. Läs tidigare inlägg.
ID: #16554 | Skapades: 2009-07-07 16:16:14

Antasja
Antasja

Gradering

#16555

Formulärets kod:

<%If Request.Querystring("step") = "1" OR not Request.Querystring("edit") = "" Then%>
<%If not Request.Querystring("edit") = "" Then%>
<%Set ObjSmiley = ObjConn.Execute("SELECT * FROM Smiley where id="&Request.Querystring("edit")&"")%>
<%End If%>
<form method='post' enctype="multipart/form-data" action='?visa=administration&ukat=smiley<%If Request.Querystring("step") = "1" Then%>&step=2<%Else%>&edit2=ja&id=<%=Request.QueryString("edit")%><%End If%>'>
<br />Smiley text<br />
<input type='text' <%If not Request.Querystring("edit") = "" Then%>value='<%=ObjSmiley("stext")%>'<%End if%> name='stext' size='36' />
<br />Smiley hovringstext<br /><input type='text' <%If not Request.Querystring("edit") = "" Then%>value='<%=ObjSmiley("shover")%>'<%End If%> name='shover' size='36' />
<br />Smiley Bild<br />
<%If not Request.Querystring("edit") = "" Then%><i>Lämna tomt för ingen ändring</i><br><%End If%>
<input type="file" name="file1">
<br>
  <select type="hidden" name="subdir">
   <option type="hidden" value="files/smileys">Smileys</option>
  </select>
<input type='submit' value='<%If Request.Querystring("step") = "1" Then%>Lägg till smiley<%Else%>Ändra smiley<%End If%>' /></form>
<%End If%>

Jag trodde det var något fel på två olika formulären så jag gjorde dem till samma...

Jag är ganska dålig på uppladdningskodning så jag använde det bästa som jag kunde hitta...

ID: #16555 | Skapades: 2009-07-07 16:28:10
Sida: 1 23
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy