WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hur kopplar man ihop två st formulär? (https://www.wn.se/forum/showthread.php?t=12366)

Milad 2006-02-13 08:00

Vet någon hur man kan koppla ihop två st formulär?

Ex. Om man vill lägga till en nyhet med bild så har man byggt upp nyheterna i en databas och att bilder ska laddas upp på servern. Att lägga till en nyhet använder ett formulär och att ladda upp en bild ett annat formulär.

Nu vill man alltså koppla ihop de.

Kihlbom 2006-02-13 08:08

Du vill alltså ladda upp en bild till en tabell och ett bildnamn till ett annat plus att den ska sparas på servern? Förstår inte riktigt ovan nämligen.

wiggin 2006-02-13 12:52

Du använder ett formulär istället.

Milad 2006-02-13 13:27

Citat:

Originally posted by wiggin@Feb 13 2006, 13:52
Du använder ett formulär istället.


Men formulären ska ju göra olika saker. Den ena ska ju ladda upp bilden på servern och den andra ska skriva in nyheten i databasen.

Henrik 2006-02-13 13:48

Citat:

Ursprungligen postat av Milad
Citat:

Ursprungligen postat av wiggin
Du använder ett formulär istället.


Men formulären ska ju göra olika saker. Den ena ska ju ladda upp bilden på servern och den andra ska skriva in nyheten i databasen.

Du kan ändå göra båda saker på samma gång. Alternativt så kan du, för att ha två formulär, först lägga in nyheten och ta ut det id som nyheten får. Sedan i det andra formuläret där du laddar upp bilden, så skickas detta id med, så att du vet vilken nyhet som bilden ska höra ihop med.

Robert 2006-02-13 14:13

Lägg in en dropdownbox i bildformuläret där du listar upp alla nyheter (med id't som value). Välj nyhet i dropdownboxen, välj bild[namn] och vipps, så har du ju det data du behöver i en och samma form post.

elofsson 2006-02-13 17:11

Jag skulle löst det med två submit-buttons i formuläret där den ena även tar med bilduppladdningen. Du namnger dessa knappar olika i "name"-taggen och kollar på så vis vilken användaren klickade på.
Klickar användaren på knappen som hör till bilduppladdningen kör du både bilduppladdningsscriptet och nyhetsscriptet. Den andra knappen enbart nyhetsscriptet.

Om jag nu förstod det hela rätt.

zoran 2006-02-13 18:49

Citat:

Originally posted by Robert@Feb 13 2006, 15:13
Lägg in en dropdownbox i bildformuläret där du listar upp alla nyheter (med id't som value). Välj nyhet i dropdownboxen, välj bild[namn] och vipps, så har du ju det data du behöver i en och samma form post.
Gud så krångligt man vill skapa det.

Det du säger är ju att man ska FÖRST posta och spara nyheten och sen tilldela nyheten en bild. Det är TVÅ steg, inte ett.

Jag förstår inte var problemet ligger att parsa en multipart-request och sortera ut data och eventuella filer. Det är inte svårare än så här:

Formen ska vara multipart innehållande minst två fält:
input type text med nyheten,
och input type file med din eventuella fil.

I din "uppladdare" kontrollerar du enkelt ifall filfältet är "null" dvs ingen fil har postats.

Om den är null, lägger du in datat.

Om den INTE är null, stoppar du in datat och tar vara på ett nyskapat id.
Spara bilden. Om allt går bra så kan du även uppdatera datatabellen med att bekräfta att bilden är uppladdad.


Hur du EXAKT bär dig åt, beror på språket. I php har man rätt bra verktyg för sånt. Själv använder jag java och har skrivit en utökning av HttpServletRequest som hanterar multipart-requests på samma sätt som PHP gör.

/Z

zoran 2006-02-13 18:51

Citat:

Ursprungligen postat av Milad
Citat:

Ursprungligen postat av wiggin
Du använder ett formulär istället.



Men formulären ska ju göra olika saker. Den ena ska ju ladda upp bilden på servern och den andra ska skriva in nyheten i databasen.

Nej det ska den inte. Formulären ska skicka ditt data till servern. Punkt. Ditt skript på servern ska ha intelligens att lista ut huruvida en fil finns med och hur den ska hantera ifall både data och fil finns.

Du vinner absolut inget med att ha två formulärer.

Robert 2006-02-13 22:32

Citat:

Ursprungligen postat av zoran
Citat:

Ursprungligen postat av Robert
Lägg in en dropdownbox i bildformuläret där du listar upp alla nyheter (med id't som value). Välj nyhet i dropdownboxen, välj bild[namn] och vipps, så har du ju det data du behöver i en och samma form post.

Gud så krångligt man vill skapa det.

Det du säger är ju att man ska FÖRST posta och spara nyheten och sen tilldela nyheten en bild. Det är TVÅ steg, inte ett.

Jag beskrev väl kanske en editering, inget nyupplägg. Jag skrev dock att allt data fanns att tillgå i samma formulär.


Alla tider är GMT +2. Klockan är nu 10:43.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson