31. maj 2004 - 18:59Der er
45 kommentarer og 1 løsning
Hvordan kopieres indhold fra form?
Jeg vil have, at indholdet fra et formularfelt kopieres ned i databasen i et andet recordset.
Bruger indtaster noget i feltet "comunity". Alle data lægges ned i DB v.hj.a. Conn.Execute("INSERT INTO profiles (owner, username..........................
Hvad end brugeren indtaster i feltet, skal det samme lægges ned i RS("selectcomunity"). Hvordan gør jeg det nemmest? Jeg troede jeg kunne lave dette:
Dim selectcomunity comunity = Request.Form("comunity") If comunity <> "" Then selectcomunity = comunity End If
hmm... Når du siger at det samme skal ligges ned i RS("selectcomunity") mener du så at lige meget hvad der står i comunity skal det ligges ned i databasen, eller at lige meget hvad der står skal den samme streng (fx. "tralala" ) ligges ned i databasen ?
Brugeren opretter et comunity Dette comunity får et navn Dette navn lægges ned i recordsettet comunity Dette navn skal også lægges ned i recordsettet selectcomunity
Det fungerer fint, men jeg vil gerne have, at navnet på comunitiet, som den bruger der opretter dette comunity, kommer til at ligge både i recordsettet comunity og selectcomunity
Hvis du bruger browseren Opera, kan du bare klikke tilbage, og komme tilbage til det du har skrevet i feltet.. Den reloader nemlig ikke siden.. men password-felter resettes..
1. En bruger opretter et comunity 2. Det skal navngives, og det gøres i <input type="text" name="comunity"> 3. Varablen comunity smides ned i databasen, i recordsettet comunity 4. Værdien af variablen comunity skal også smides ned i databasen, i recordsettet selectcomunity
Dim selectcomunity comunity = Request.Form("comunity") If comunity <> "" Then selectcomunity = comunity else selectcomunity = request.form("selectcomunity") End If
hvordan ser din sql ud etc. der hvor du henter oplysningerne?
¨du kan ikke indsætte request.form... så skal du i stedet bruge det jeg skrev før:
Dim selectcomunity comunity = Request.Form("comunity") If comunity <> "" Then selectcomunity = comunity else selectcomunity = request.form("selectcomunity") End If
problemet er at selvom du definere variablen selectcomunity, så indsætter du stadig indholdet af din request.form.. Variablen har ikke noget med formen at gøre, men ligger bare på serveren og hygger sig indtil du bruger den..
for hvis du bruger det her: Dim selectcomunity comunity = Request.Form("comunity") If comunity <> "" Then selectcomunity = comunity else selectcomunity = request.form("selectcomunity") End If
så hvis man selv vælger et, så bliver det til det der er valgt, og ellers bliver det det der er valgt i selectboxen.
Nej, man kan være med i flere, hvis man har lyst. Det skal bruges til forskellige debatfora i et comunity. Det er så meningen, at "ejeren" (opretteren) af det enkelte debatforum skal godkende/afvise ansøgeren.
Når ansøger opretter sig som bruger og ønsker at være tilknyttet et givent forum, skal ejeren/administratoren godkende/afvise vedkommende. Men der er ikke noget i vejen for, at man kan søge at blive medlem af flere fora :o)
Det er hovedsageligt ment til familiemedlemmer og ens venner. Men det er ikke alle familiemedlemmer, der kan være interesserede i at knægtens venner får ens data at se, som f.eks. ens telefonnr., hvis man har hemmeligt nummer.
Når man så er oprettet som medlem, skal man kunne krydse dem af i det enkelte forum, som skal have lov til at se ens data.
Hvis svigersønnen i familien ønsker at invitere SIN familie med, er det jo ikke relevant, at tanter og fastrer på hans side får adgang min families data :o)
Derefter oprettede jeg en anden bruger, som skulle tilknyttes det oprettede forum. Der var så kommet et blankt felt i select-boksen mellem "Vælg community" og det nye forum, ved ikke hvad der har forårsaget dette, og om det har nogen betydning.
Jeg oprettede så en tredie bruger, som skal knyttes til dette forum, og så får jeg en fejl:
Microsoft JET Database Engine error '80004005'
The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.
/ny bruger/default.asp, line 104
Linie 104 er SQL-sætningen: Conn.Execute("INSERT INTO profiles (owner, username, pass, firstname, lastname, address1, place, zip, city, phone, cellphone, email, dateofbirth, monthofbirth, yearofbirth, description, comunity, selectcomunity) VALUES (" & vOwner & ", " & _
Man kan tilmelde sig et comunity én gang (ikke oprette), og så er det slut. Næste gang en bruger forsøger at tilmelde sig, kommer mellemrummet og fejlen.
Man kan oprette alle de comunities man har lyst til, men anden gang en bruger søger medlemskab af et eksisterende comunity, kommer mellemrummet og fejlmeddelelsen frem. Der sker ikke noget første gang. Sådan skulle der stå :o)
Håber vi kan se på det, når du får tid? Det ville være rart at få det i orden :o)
Vil meget gerne se på det for dig.. var desværre allerede gået i seng i går, og jeg slukker lige straks computeren og kommer først igen i aften..
Men: Når du siger man kan være med i flere comunities, hvordan fungere det så, altså hvordan sætter du indholdet i databasen ? Er det , sepereret hvis man deltager i flere eller er der en tabel der indeholder oplysninger om hvad med deltager i etc.?
samtidig så det med mellemrummet er jeg ikke sikker på jeg forstår ? hvordan ser den sql ud hvor du tilmelder flere fora..?
Skal man i seng, skal man i seng. Sådan er det :o)
Der er noget, jeg ikke har tænkt over, fordi jeg ikke er nået til det endnu :o)
Normalt vil man gerne sikre sig, at hver bruger kun benytter én profil, men da det er beregnet for hele familier, kan både børn, forældre og bedsteforældre benytte samme pc og samme e-mailadresse etc. Så derfor er der ikke nogen videre restriktioner, udover at brugernavne skal være unikke. Mor, far og tre børn kan så sagtens benytte samme e-mail, men hver deres session.
Vi har en familie med mine forældre, svigerforældre, min svigerfamilies familie, en bror og hans kæreste, hendes familie osv. Det er jo et stort forgrenet netværk, som griber ind i hinanden, så derfor synes jeg man skal have mulighed for at tilmelde sig både mit comúnity, og svigerforældrenes comunity, for det er jo ikke interessant for tanterne til mine svigerforældre at være medlem af mit. Vi kender ikke hinanden, vi ser ikke engang hinanden, har højst hilst på dem på et tidspunkt. Derfor skal man kunne tilmelde sig forskellige comunities. Typisk vil man kun være medlem af 1 eller 2, højst 3.
Når man så har oprettet sig, skal ens egne stamdata genbruges, så man ikke skal indtaste forfra hver gang. Det fylder også i databasen. Så uanset hvor mange man er tilmeldt, vil ens profil være den samme, når man går ind og kigger. Det er derfor, at adresse, tlf. m.m. skal oplyses.
Den, der så har oprettet sit familie-comunity (RS("comunity")), skal godkende dem, der ansøger om at være medlem (RS("selectcomunity")), så vi ikke får en masse unger eller uvedkommende, der synes det er skidesjovt at tilmelde sig forskellige fora. Jeg kan forestille mig, at det kan klares med en
If RS("accepted") = True Then ..... End If
Men jeg har ikke tænkt over, hvordan det skal klares mht. de comunities, man er medlem af. Er det noget du er frisk på? Jeg opretter et nyt spørgsmål med nye point :o)
altså mit umiddelbare indtryk af hvordan det burde fungere var at du har: en tabel der hedder fx. users der indeholder de forskellige brugeres informationer. I denne tabel har du et felt af typen autonummerering der hedder fx. id
en tabel der hedder selectcomunities der indeholder informationer om hvilke fora en bruger et tilmeldt, samt et felt om han er accepteret.
men her ligges brugerens data ikke ind, derimod kun brugerens id, som er unikt (autonummerering). Så kan du den vej finde ud af hvad brugeren må og ikke må ;-)
Jeg har nu oprettet en tabel (membership) med følgende recordset:
userID: Autonummerering, Langt heltal, Stigende, Indekseret: Ja - ingen dubletter username: Tekst, Obligatorisk, TilladNullængde: Nej, Indekseret: Ja - ingen dubletter appliedformembership: Tekst, Ikke obligatorsk, TilladNullængde: Ja, Indekseret: Ja - dubletter tillades
Hvordan skal det nu se ud? Håber du kan guide mig godt, for jeg synes den er lidt kringlet :o)
jeg vil mene det der ser ret godt ud.. Dog skal dubletter tillades i username, og den skal være tal.. altså den her: username: Tekst, Obligatorisk, TilladNullængde: Nej, Indekseret: Ja - ingen dubletter
Så når du har en bruger der vil være medlem af en ny gruppe, så kan du indsætte med en almindelig sql..
Så indsætter du brugerens id fra tabellen users i kolonnen username, appliedmembership skal så være den gruppe som brugeren gerne vil tilmeldes. accepted skal sættes til false..
altså noget i stilen af: sql = "insert into membership(username, appliedformembership, accepted) values(" & session("userID") & ", '"&request.form("comunity")&"', False)"
Ok, den vil jeg prøve at kigge på, det ser jo logisk ud, når det står sort på hvidt.
Nu skal du ikke føle dig forpligtet til at holde dig vågen og holde øje med om der kommer nye indlæg :o) Hvis ikke du svarer i aften, gør du det forhåbentlig i morgen eller en anden dag :o)
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.