webForumDet fria alternativet

Problem med flera klienter.

Webbutvecklingur Webbutveckling - Övrigt

5 svar · 384 visningar · startad av Compoxid

Medlem sedan juli 20085 inlägg
Frågan#1

Jobbigt beskrivet i rubriken men här kommer den fullständiga beskrivningen.
Ni behöver inte fråga om kod för det handlar inte om det.
Skrivet med asp/mysql/html/css/javascript utifall någon undrar

Det är så att jag har en sida där man kan skapa olika teams för att i varje team sedan kunna logga lite info. Typ som en påminnelsetjänst, blogg, anteckningsställe, kommunikationsplats eller whatever.
Det är iaf en lista med teams, och varje team får tre textrutor att kunna skriva i.

Problemet jag märkt nu är att om en snubbe på en annan dator laddar upp sidan, och sedan låter rutan stå så. Han går ifrån datorn eller börjar skriva i en ruta (men det tar lång tid) säger vi. Och samtidigt laddar jag också upp sidan. Men jag börjar direkt fippla, skapa nya team, skriva shit, byta plats teamordningen och sånna saker.
Hans webläsare står fortfarande kvar på den gamla sidan och nu börjar han fippla.. Där börjar problemen. Eftersom han inte har den senaste uppdaterade versionen som jag lekt med så blir databasen korrupt och allt blir bara skit.

Till hjälpdelen:
Hur i helvete löser jag detta lättast?
1. Jag kan ej använda en timer som uppdaterar hemsidan var 10e sekund. Just för att om man skulle skriva under tiden så måste jag spara och sedan ladda upp igen och det lär ju användaren märka att hemsidan uppdaterar.
2. Jag vill helst heller inte använda "en användare åt gången" principen. Hur kul är det nu när man är flera hundra pers som medlemmar och aldrig får chansen att gå in? Nä precis..

Hoppas någon smart jävel har ett bra svar till mig

MVH / Compoxid

Medlem sedan aug. 20039 340 inlägg
#2

Lite svart att svara pa utan att veta hur koden ser ut. Det ar val inte ett sarskilt givande svar for dig, men en sida som ar korrekt skriven ska kunna hantera en san situation. Det ar det basta svar jag kan ge utifran vad du berattar i ditt inlagg.

Medlem sedan juli 20085 inlägg
#3

hmm vad menar du med korrekt skriven? varför ska den kunna hantera situationen automatiskt? saken är ju att när den andra personen sen försöker uppdatera sin info.. så händer det ju att han skriver över den första personens info utan förvarning.. och när teamplaceringen ska ändras och andra personen ej har den uppdaterade listan så blir det fel med positioner i databasen och då blir allt åt helvete och då måste man nollställa hela databasen

så du menar att jag saknar en funktion som kontrollerar infon mot databasen innan den ska uppdateras eller?

Medlem sedan nov. 20051 317 inlägg
#4

Uppdatera innehållet med AJAX så slipper du det problemet!

Eller använd ett klockslag då posten redigerades senast. Försöker någon redigera med ett tidigare klockslag (pga webbläsaren inte har uppdaterat) så får man ett felmeddelande?

Medlem sedan juni 20008 205 inlägg
#5

Låter som ett vanligt versionshanteringsproblem.

Ha ett serienummer på varje enhet (vad det nu kan tänkas vara, t.ex. ett team). När man går in på redigeringssidan för enheten får man serienumret i ett dolt fält, och när man sedan submittar ändringarna kollar du om serienumret de har i formuläret är detsamma som serienumret på enheten. Är det samma, har enheten inte ändrats sen användaren började sina ändringar, och det är OK att lägga in det nya i databasen. Är serienumren inte samma betyder det att någon hunnit ändra under tiden, meddela detta till användaren. En riktigt bra variant är att försöka kombinera ändringarna, men det är överkurs.

Medlem sedan juli 20085 inlägg
#6

tack så mycket för svaren.. man blockade ju lite i huvet nu när man kommit så långt och helt plötsligt skulle det jävlas..
:)

131 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)