login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hergebruiken data

Offline Pellens - 21/07/2009 12:44
Avatar van PellensPHP interesse Beste sitemasters,

ik heb een formulier op mijn website waar mensen namen kunnen toevoegen aan een persoonlijke lijst.
Deze namen zullen uniek zijn.

Er gaan dus 2 tabellen zijn:
namen (de unieke namen)
mijnnamen (persoonlijke lijst, linkt met id naar namen)

Hoe kan ik het beste ervoor zorgen dat wanneer men het formulier invult, de website weet dat deze naam al dan niet uniek is?

Ik heb een autocomplete gemaakt voor zekerheid, maar geef ik best de namen.id mee in de form, zodat op de pagina toevoegen-query.php dit geweten is? Of hoe kan ik dit het beste doen?

Ik hoop dat ik duidelijk ben...
Bedankt voor je opinie.

Grtz!

6 antwoorden

Gesponsorde links
Offline Tuinstoel - 21/07/2009 16:48
Avatar van Tuinstoel PHP expert Leuke methode hiervoor is AJAX. Dus tijdens het typen opvragen of ie al voorkomt in de database (En dat kan uiteraard met hele simpele query), maar dit hoeft natuurlijk niet.
Offline Martijn - 21/07/2009 17:21
Avatar van Martijn Crew PHP ajax is de nette manier, makkelijke manier is alle namen selecteren, en deze in een javascript array zetten.
En onblur() een functie aanroepen die kunt of je text input in de array voorkomt 
Offline Threetimes - 21/07/2009 17:28
Avatar van Threetimes PHP beginner
DeviourSoul schreef:
ajax is de nette manier, makkelijke manier is alle namen selecteren, en deze in een javascript array zetten.
En onblur() een functie aanroepen die kunt of je text input in de array voorkomt 
En wat als de database een paar duizend namen is? Dat wordt een hele grote array, en dat vinden browsers niet leuk, nog los van de bandbreedte. En wil je je hele database wel publiceren?
Offline Wave6 - 21/07/2009 18:05
Avatar van Wave6 PHP beginner Ben het helemaal met threetimes eens.
En bovendien AJAX... is javascript... Wat nou als de gebruiker geen javascript accepteerd?

Het beste is gewoon dit netjes op te lossen met een goed formulier.
Offline snxs - 21/07/2009 21:44 (laatste wijziging 21/07/2009 21:45)
Avatar van snxs Nieuw lid je kan het met AJAX oplossen door een request naar een php file te sturen met de ingevulde naam, die file terunt gewoon plain true of false, voor respectievelijk beschikbaar of niet.

Makkelijker is formulier gewoon versturen en controleren of die naam al bestaat in de DB.

  1. $query = mysql_query("SELECT `name` FROM `namen` WHERE `name`='".$_POST["naam"]."'");

Dan moet die $_POST natuurlijk wel beveiligd worden, want dit is een gratis uitnodigging voor hackers om je database te komen hacken.
Offline Pellens - 21/07/2009 23:48
Avatar van Pellens PHP interesse Nu ja, ik snap al je methodes, ik maak effectief gebruik van AJAX, verfijning zal nodig zijn aangezien de namen toch wel kunnen oplopen tot een 1000-tal. Jullie hebben me stof gegeven om over na te denken dus, bedankt!

Maar de vraag was nu: pak dat de gebruiker een naam kiest die al voorkomt (wat dus te zien is via AJAX), hoe kan ik dat aan de query (INSERT INTO mijnnamen ... ) meegeven.

Met als gevolg: als deze naam nog niet voorkomt, hij eerst deze in de unieke namenlijst plaats (INSERT INTO namen ...) en dan pas het namen.id toevoegen aan mijnnamen.

Met een empty input werken, een extra variabele meegegeven aan de pagina toevoegen.php (waar de query gebeurt), ...? Wat is volgens jullie de beste methode?

(ik hoop dat ik duidelijk genoeg ben, let me know)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s