login  Naam:   Wachtwoord: 
Registreer je!
 Forum

phpBB vraag

Offline Marly - 22/10/2004 22:08 (laatste wijziging 28/06/2009 18:16)
Avatar van MarlyHTML interesse Hallo,
Ik wil bij phpBB iets maken.
Maar heb er niet veel verstand van.

Als iemand zich registreert.
Dat er dan een map word gekopiert.
En een eigen naam krijgt.

En dat er dan ook automatisch mysql word geinstalleerd.
Hoe kan ik dat maken?

26 antwoorden

Gesponsorde links
Offline webstab - 22/10/2004 22:11
Avatar van webstab PHP ver gevorderde weet ik niet,maar vind je niets op http://www.phpbbhacks.com
Offline DRUNK - 22/10/2004 23:21 (laatste wijziging 22/10/2004 23:21)
Avatar van DRUNK PHP gevorderde Is het niet een beetje nutteloos dat er voor elke gebruiker die zich registreerd mysql geinstalleerd word? Bedoel je niet dat er een nieuwe database voor die gebruiker word aangemaakt? Let wel op dat je wel de rechten nodig hebt om een nieuwe database aan te maken (als dit de bedoeling is). Onderstaande stukje code moet je dan ergens in ./includes/usercp_register.php verwerken, dacht ik.
  1. <?php
  2.  
  3. //
  4. // Maak een database aan met de username
  5. // van nieuw geregistreede gebruiker, ALS
  6. // dit NIET lukt geef hiervan een melding
  7. // en breek script af.
  8. ////////////////////////////////////////////////
  9. if (!mysql_query("CREATE DATABASE $username")) {
  10. die('Aanmaken van database mislukt');
  11. }
  12.  
  13. //
  14. // Maak de map voor de nieuwe gebruiker
  15. // ALS dit MISLUKT geef een melding
  16. // en stop uitvoering van script.
  17. /////////////////////////////////////
  18. if (!mkdir('./users/' . $username)) {
  19. die('Aanmaken van map mislukt');
  20. }
  21. ?>

Als dit niet de bedoeling is hoor ik het wel.
Offline Marly - 23/10/2004 19:16
Avatar van Marly HTML interesse Hallo,
Dat is de boedoeling.
Maar waar kan ik neerzetten dat hij test.sql uitvoert als hij een databse heeft gemaakt?

En hoe kopier ik map (met files erin)?
In plaats van alleen een lege map maakt...
Offline DRUNK - 23/10/2004 19:50
Avatar van DRUNK PHP gevorderde Volgens mij moet je eerst een leege map aanmaken, dan kan je er inhoud van een andere map instoppen, copieer zo de oude dir. bestand voor bestand. Ik weet niet waar je dit alles moet neerzetten, http://www.phpbbhacks.com/ kijk daar eens, lees de documentatie voor developers van phpBB en bestudeer de code.
Als je nog niet zo ervaren / bekend bent met php raad ik je aan dit eerst te leren, en dan pas dingen gaan willen maken. Het komt er op neer veel lezen en uizoekken dan is alles mogelijk.
Offline Marly - 23/10/2004 19:59 (laatste wijziging 23/10/2004 21:00)
Avatar van Marly HTML interesse Hallo,
Eigenlijk moest het niet in phpbb...
Sorry maar had niet goed gekeken...

het registreren werkt al maakt database aan.
en maakt map.
Nou de rest nog.
Offline Maarten - 23/10/2004 20:43
Avatar van Maarten Erelid Hallo,
post eens alles in een bericht.

En wat is nu eigenlijk de bedoeling? Ik snap je vraag niet goed.
Offline Marly - 23/10/2004 21:39
Avatar van Marly HTML interesse Hallo,
Als iemand registreert dat er een map wordt gemaakt(lukt nu).
Maar nu de inhoud nog automatisch er in zetten.
En Database maken lukt ook.
Nu nog dat hij automatish mysql uitvoerd dus test.sql of iets in het register bestand zetten.
Offline b4nkr0bz0r - 24/10/2004 11:06
Avatar van b4nkr0bz0r PHP gevorderde waarom zou je voor elke fucking gebruiker een map aanmaken,
en wat is je doel ervan zodat we je mss begrijpen!
Offline Marly - 24/10/2004 13:51
Avatar van Marly HTML interesse Hallo,
Niet voor elke gebruiker.
Alleen mensen die zich er speciaal voor registreren.
Offline desertspider - 24/10/2004 14:00
Avatar van desertspider Nieuw lid je hebt dit ook al op www.phpbb.nl gevraagt en daar vonden ze het ook heel vaag,wie wil er nou een map aan maken?
wat voor bestanden zitten er in?
kan je het niet beter zo doen bestant.php?=jouw gebruikers naam en dat hij dan de info die die moet weer geven uit te database haalt?
Offline Marly - 24/10/2004 14:04
Avatar van Marly HTML interesse Hallo,
Maar kun je dan wel per gebruiker een datbase maken?
Met inhoud?
Offline knars - 24/10/2004 15:15
Avatar van knars Lid waaaarom zou je dat ingodsnaam willen doen
Offline Marly - 24/10/2004 15:51
Avatar van Marly HTML interesse Hallo,
Waarom niet?
Omdat ik iets aan het maken ben.
Login heb ik al gemaakt.
Register ook.
Nu wil ik dit er aan toevoegen.
Offline Marly - 24/10/2004 20:10 (laatste wijziging 24/10/2004 20:39)
Avatar van Marly HTML interesse Hallo,
Wat is hier verkeerd aan?

  1. <?php
  2. // Maak een database aan met de username
  3. // van nieuw geregistreede gebruiker, ALS
  4. // dit NIET lukt geef hiervan een melding
  5. // en breek script af.
  6. ////////////////////////////////////////////////
  7. if (!mysql_query("CREATE DATABASE $nickname"))
  8. else (!mysql_query("CREATE TABLE members (id int(10) auto_increment not null, level int(1) not null, datum varchar(10) not null, nickname varchar(20) not null, password varchar(20) not null, voornaam varchar(20) not null, achternaam varchar(20) not null, emailadres varchar(50) not null, site varchar(100) not null, jaar int(4) not null, dag int(2) not null, maand int(2) not null, primary key(id))")) {
  9. die('Aanmaken van database mislukt');
  10. }
  11.  
  12. //
  13. // Maak de map voor de nieuwe gebruiker
  14. // ALS dit MISLUKT geef een melding
  15. // en stop uitvoering van script.
  16. /////////////////////////////////////
  17. if (!mkdir('./users/' . $nickname)) {
  18. die('Aanmaken van map mislukt');
  19. }
  20. ?>
Offline desertspider - 24/10/2004 20:33
Avatar van desertspider Nieuw lid database??
bedoel je niet een nieuwe table?
Offline Marly - 24/10/2004 20:37
Avatar van Marly HTML interesse Hallo,
Eerst databse.
En daarnaa tables maken.
Offline Maarten - 24/10/2004 20:56
Avatar van Maarten Erelid Ik weet het niet zo direct, ik vind het allemaal nogal gek waarom je dat zou doen, maar mss is het dit:

  1. if (!mysql_query("CREATE DATABASE $nickname"))
veranderen in
  1. if (!mysql_query("CREATE DATABASE ".$nickname.""))
Offline Biebel - 24/10/2004 21:02
Avatar van Biebel Nieuw lid knars, het is niet zo belachelijk om zoiets aan te maken. Als je PHP BB in zo'n mate aanpast dat het moet dienen binnen een project waarbij communities aangemaakt worden voor users waarbinnen ze hun eigen site mogen ontwikkelen, eigen CMS, file uploads, ... . Als dit zo'n project zou zijn dan stelt hij wel de juiste vragen en heeft het idd zin om op basis van een selectie die je maakt tijdens de registratie al die zaken automatisch uit te voeren.
Marly, ik hoop dat je een dergelijke structuur goed doordacht hebt. Om folders aan te maken moet je er enkel voor zorgen dat je de rechten hebt om het te doen. mkdir("/padnaam/") is de functie, maar let er wel op dat je het volledige pad definieert, dus beginnend vanaf de root tot de uiteindelijke folder.
Om een specifieke DB aan te maken zit je ook op de goeie weg.

B.
Offline Biebel - 24/10/2004 21:04
Avatar van Biebel Nieuw lid Nog 1 ding, als je een database aan wilt maken moet je er wel voor zorgen dat je de root user gebruikt voor mysql, en niet een user die toegang heeft tot een database. Dat kan de reden zijn waarom je geen nieuwe database container binnen mysql kan aanmaken.

B.
Offline Marly - 24/10/2004 21:07
Avatar van Marly HTML interesse Hallo,
Het is wel een project met gebruikers die dingen kunnen maken en wijzigen.
Maar ik zal even verder kijken.
Wat bedoel je hier mee?
--
Marly, ik hoop dat je een dergelijke structuur goed doordacht hebt. Om folders aan te maken moet je er enkel voor zorgen dat je de rechten hebt om het te doen. mkdir("/padnaam/") is de functie, maar let er wel op dat je het volledige pad definieert, dus beginnend vanaf de root tot de uiteindelijke folder.
--
Om een specifieke DB aan te maken zit je ook op de goeie weg.
--
Klopt dat ook helemaal dan of niet?
Offline Marly - 24/10/2004 21:09
Avatar van Marly HTML interesse Hallo,
Wat bedoel je hier mee?
--
Nog 1 ding, als je een database aan wilt maken moet je er wel voor zorgen dat je de root user gebruikt voor mysql, en niet een user die toegang heeft tot een database.
--
Offline Marly - 24/10/2004 21:48
Avatar van Marly HTML interesse Hallo,
Of moet ik create TABLEs in de volgende stap zetten?
Dus eerst de eerste pagina doen.
Daar maakt hij database aan.
en stap 2
Maakt hij tables aan.
Offline Biebel - 24/10/2004 22:22
Avatar van Biebel Nieuw lid In mySQL heb je verschillende gebruikers en toegangsrechten.

De administrator gebruikt meestal een root user (root) met bijhorend paswoord. Die root user kan alles in de mysql server configureren. User accounts aanmaken, databases aanmaken, ... .
Naast de root account heb je user accounts. User accounts hebben vaak toegang tot 1 of meerdere databases waarin ze dan kunnen tabellen maken en statements uitvoeren (SELECT, INSERT, UPDATE, ...) Die users kunnen meestal geen Database aanmaken, alhoewel je ze wel dat recht kan geven.
Stel, je huurt hosting bij een service provider. Je krijgt 1 gb ruimte voor je site en een eigen database. In dit geval krijg je ook een account met paswoord om tabellen en zo aan te maken. In dit geval kan je GEEN database aanmaken omdat een service provider nooit een Root access aan klanten geeft. Dus als je mysql hosting huurt en dus zelf niet aan de root van de server kan, ga je er nooit in slagen om zelf databases aan te maken. Indien je wel de root access verkrijgt, dan moet je ervoor zorgen dat in je connectie instellingen die je dus in PHP gebruikt om te connecteren op mysql, je de root user gebruikt om databases aan te maken.

Wat ik bedoelde met op goeie weg zijn dan. Je denkwijze klopt wel, je maakt namelijk eerst de database aan, dan user accounts en dan tabellen. Belangrijk is dat je de juiste rechten toekent aan de users die je aanmaakt zodat ze enkel toegang hebben tot de hun toegewezen database. In jouw geval zou ik toch een iets meer doordachte structuur/procedure maken om dit uit te voeren. Ik ga het niet uitschrijven in PHP, dat moet je zelf doen, maar ik zal het neerpennen in tekst zodat je een idee hebt wat het ongeveer moet worden.

Stap 1: Maak de nieuwe DB aan. Test of dit gelukt is, indien niet, gooi een fout, indien wel, ga naar de Stap 2.
Stap 2: Maak de user account(s) aan, geef die de nodige rechten om met de nieuwe db te kunnen werken. Doe hetzelfde hier qua foutcontrole.
Stap 3: Maak eventuele tabellen aan. Ook hier weer foutcontrole.
Stap 4: Maak een folder aan op uw bestandssysteem voor de gebruiker.

Voor uw folders denk je best aan wat je wilt aanbieden en waar. Geef je ze een simpele folder, of maak je subfolders voor document, images, ... . Je kan hen dan bvb verplichten om enkel die folders te gebruiken zodat ze zelf geen folders kunnen aanmaken, enkel files uploaden.
Waar je die folders plaatst is heel belangrijk, vooral op het vlak van archivering/backups. Als je een dergelijk project maakt moet je zorgen voor een goeie backup. Dit houdt in dat alles op een makkelijk toegankelijke plaats te vinden moet zijn, zodat je snel backups kan maken en indien nodig, ze snel kan herstellen.

Er komt vrij veel werk kijken bij wat je wil doen en het is niet makkelijk om een kant en klare oplossing te vinden. Ik krijg ook zo het gevoel dat op basis van uw vragen je ervaring vrij laag is met dit soort zaken. Aangezien dit vrij diep gaat op het niveau van administratie en authenticatie zou ik je toch aanraden om je eerst wat dieper in te werken op dat vlak dan zo losweg aan een projectje te beginnen. Niemand hier zal je een kant en klare oplossing leveren maar we zullen je wel helpen met kleine problemen. Maar als je al de voorgestelde oplossing/raad niet begrijpt is het nogal zinloos om hier al je vragen voor te leggen.

Nu, hopelijk geraak je snel op goeie weg met dit alles.

B.
Offline Marly - 30/10/2004 08:08 (laatste wijziging 28/06/2009 18:16)
Avatar van Marly HTML interesse Hallo,
Kan ik niet een soort van mysql.php includen?
Daar staan dus de mysql connecting naam w8 woord in.
Offline Wim - 28/06/2009 18:22
Avatar van Wim Crew algemeen
Citaat:
Op: 30/10/2004 08:08
Laatste wijziging: 28/06/2009 18:16


dan mag je best een nieuw topic openen hoor.... is wat ordelijker en scheel veel leeswerk.

--OT

tuurlijk kan dat, gewoon PHP.net: include?
Offline Marly - 28/06/2009 19:39
Avatar van Marly HTML interesse sorry, had het bericht bekeken en iets gewijzigd opgeslagen ;)
niet de bedoeling om antwoord te krijgen want dat was al opgelost.

Excuses voor het ongemak ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.289s