Vraag & Antwoord

Webprogrammeren & scripting

Username automatisch invullen...

3 antwoorden
  • Hallo, Hier ben ik weer met een volgend probleem !... Ik zou op m'n site graag een gastenboek hebben. Het overzicht van de berichten heb ik al klaargekregen... denk ik, heb een query gemaakt van de tabel leden en gastenboek, met volgende velden : IDleden uit tblLeden en nog eens uit tblGastenboek, username, datum en commentaar. Is dit juist ? Of pak ik dit al verkeerd aan ?... Moeten de 2 ID's erin of niet ? Want ik ben er nog steeds niet uit hoe dat eigenlijk juist zit met die ID's als je een query maakt... Nu het probleem zit em in het toevoegen van een bericht. Hoe krijg ik het klaar dat bij de naam direct de username wordt ingevuld ? Je moet immers ingelogd zijn om een bericht te posten... Vandaar dat ik dacht dat ik de session variabele username hiervoor gebruikt kon worden. Ik heb de insert record wizard geprobeerd, maar daar kan je geen session variabele kiezen... En wat moet ik doen om het bericht te krijgen dmet de melding dat je eerst moet inlogd zijn, alvorens te kunnen posten, als men toch op de "bericht toevoegen" klikt zonder ingelogd te zijn ? Een hele boterham, ik weet het, maar ik hoop toch dat iemand mij uit de nood kan helpen... Alvast hartelijk dank !! Vanessa
  • Ik kan uit je beginpost niet helemaal opmaken hoe je gastenboek-database er nu uitziet, maar iets als dit is het handigst (heel erg versimpeld): [code:1:cbc82dadf3] [tabel LEDEN] id | naam | wachtwoord_hash [voorbeeld] 1 | Vanessa | d41d8cd98f00b204e9800998ecf8427e [tabel BERICHTEN] id | leden_id | tekst | tijd [voorbeeld] 1 | 1 | Test-bericht | 1010342461 [/code:1:cbc82dadf3] Een ID is niets meer dan een veld in een tabel dat toevallig wordt gebruikt om een record te [b:cbc82dadf3]id[/b:cbc82dadf3]entificeren. Als je in de tabel berichten dus een veld "leden_id" hebt zorg je ervoor dat hier altijd een nummer instaat dat ook een id is van een record in de tabel "leden". Als je ingelogd bent neem ik aan dat de gebruikersnaam in een cookie/session is opgeslagen. Ik snap niet helemaal wat een "insert record wizard" is, hiervoor moet je eigenlijk geen wizard gebruiken maar een query vanuit het php-script, bijv. [code:1:cbc82dadf3]INSERT INTO berichten (id, leden_id, tekst, tijd) VALUES ('', ".$_SESSION['userid'].", '".$_POST['tekst']."', ".time().")[/code:1:cbc82dadf3] In het geval dat je PHP gebruikt. Het derde probleem los je ook op een dergelijke manier op. Je kijkt of er een geldig leden-id in de session variabele staat. Als dat zo is voer je de query uit: zo niet, dan zorg je ervoor dat het script een waarschuwing geeft en stopt. Bijvoorbeeld [code:1:cbc82dadf3]if(!empty($_SESSION['username'])) { //voer query uit } else { //laat waarschuwing zien }[/code:1:cbc82dadf3]
  • Vanessa, misschien toch handig om er steeds bij te blijven posten dat je met ASP en Dreamweaver werkt, want Stijn. geeft nu een vrij gangbare PHP - teksteditor-oplossing, maar daar kun je denk ik dito weinig mee. Ik zou er zelf overigens voor kiezen om niet-ingelogde bezoekers niet eens de mogelijkheid te geven op een pagina te komen waarop een nieuw bericht kan worden getypt. De ID-velden hoef je in principe niet in je selectquery te zetten als je er op de pagina niks mee gaat doen. Je hebt de IDgastenboek pas nodig als je bij ieder bericht bijv. een knopje/link "bewerken" maakt (voor ingelogde superusers) die dan naar edit_guestbook.asp?id=<%=rs("IDgastenboek")%> moet linken. IDleden heb je pas nodig als je een link wil maken naar bijv. de profilepagina van het lid of een send_private_message.asp-pagina. Maar zoveel kwaad kan het niet als die ID's in de query zitten. Misschien toch ook handig als je meer maatwerk wil verrichten om je eens te verdiepen in de asp-sourcecode die door dreamweaver wordt gegenereerd, zodat je daarin kan rommelen. Je kan dan in de pagina die het bericht moet inserten de code veranderen van rs("Username") = Request.Form("username") naar rs("Username") = Session("username") Hopelijk zodanig dat dat niet bij een volgende export van dreamweaver weer teniet wordt gedaan, ik ken dreamweaver niet.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.