Pagina 1 van 1
Database / Sessie
Geplaatst: 20 mei 2009, 22:05
door MarkDome
Beste,
- Enkele, hopelijk, korte vraagjes.
De tabel users is de username in blob binary gezet. Dit is een type waar ik zelf niet veel mee heb gewerkt. Mijn vraag is hoe kan ik die uit me database filteren?
kan dat met een simpele php/SQL query doen als:
Code: Selecteer alles
$sql = "SELECT username
FROM users";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result))
{
echo $row['username'];
}
of moet je op een of andere manier de blob omzetten naar een leesbare string?
Vraag 2:
Als ik een gebruikersnaam wil aanpassen kreeg ik een error (internal server error) dat ik de naam niet kon aanpassen. In de gebruikers naam die ik dus wilde update zat een [ ' ]. Kan dit er mee te maken hebben? Aangezien de gebruikers namen in type blob staat kan ik hem niet via database aanpassen. Staan die binaire bestanden ergens op me server of waar haal hij de exacte naam vandaan?
Totslot,
Ik wil naast mijn Portal en phpBB een andere onderdeel draaien dat ik zelf scrip. Echter wil ik mijn leden niet 2x laten registreren c/q inloggen. Hoe krijg ik voor elkaar dat de leden die op de pagina kom van dat andere onderdeel dezelfde sessie gebruiken als op mijn hoofdsite? Ik heb coppermine draaien, maar daar was een bridge voor om dat te koppelen, maar hoe doe ik dat dus van mijn eigen script koppelen aan de phpbb zonder dat ze worden uitgelogd?
Gegroet,
Mark
Re: Database / Sessie
Geplaatst: 20 mei 2009, 22:20
door FreakyBlue
@1: hiermee lukt het je wel
Code: Selecteer alles
$sql = 'SELECT username
FROM '.USERS_TABLE.'';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
@2: deze haalt phpbb (voor zover ik weet) uit de USERS_TABLE --> $row['username'] of $row['username_clean']
@3: dat schud ik nu ook niet even uit mijn mouw. Daar moet ik ook even over nadenken

Re: Database / Sessie
Geplaatst: 25 mei 2009, 22:21
door MarkDome
$row['username'] of $row['username_clean']
zij beide blob type's
en het zou fijn zijn als iemand me kan uitleggen hoe het met sessies moet

Of freakyblue jij al na gedacht

Re: Database / Sessie
Geplaatst: 29 mei 2009, 07:16
door EelkeB
MarkDome schreef:In de gebruikers naam die ik dus wilde update zat een [ ' ]. Kan dit er mee te maken hebben?
Hoe ben je de naam precies aan het aanpassen? Zelf, m.b.v. je eigen php-code? Of via de gebruikersinterface van phpBB?
Gezien je probleem denk ik het eerste. En dan is het antwoord op je vraag: ja. Dit betekent dat je je input niet netjes escaped, zo ben je
SQL-injectie-mogelijkheden aan het inbouwen in je script. Heel gevaarlijk. Begrijp me niet verkeerd, een gebruikersnaam met ' is geen probleem, je moet de input alleen voorbereiden om in de database te stoppen (zie dat Wikipedia-artikel).
Overigens moet je oppassen met het zelf aanpassen van informatie in de phpBB-database, er zijn nogal wat dingen die samenhangen en die je makkelijk over het hoofd ziet. In jouw geval, bijvoorbeeld, denk je er wel aan dat de gebruikersnaam meerdere keren in de tabel zit, zoals FreakyBlue hierboven aangeeft? Ik denk haast dat er wel een ingebouwde functie is om gebruikersnamen aan te passen.
Wat betreft je sessie-integratie vraag, er zijn op phpbb.com wel knowledge base artikelen voor:
Knowledge Base - Add a New Custom Page to phpBB
Knowledge Base - phpBB3 Cross-site Sessions Integration
Re: Database / Sessie
Geplaatst: 29 mei 2009, 08:11
door FreakyBlue
MarkDome schreef:
Vraag 2:
Als ik een gebruikersnaam wil aanpassen kreeg ik een error (internal server error) dat ik de naam niet kon aanpassen. In de gebruikers naam die ik dus wilde update zat een [ ' ]. Kan dit er mee te maken hebben? Aangezien de gebruikers namen in type blob staat kan ik hem niet via database aanpassen. Staan die binaire bestanden ergens op me server of waar haal hij de exacte naam vandaan?
Hoe probeer je eigenlijk de gebruikersnaam aan te passen? Via de database?
Dit kan je namelijk gewoon doen in je beheerderspaneel. Klik op een profiel van een lid waarvan je de gebruikersnaam wilt wijzigen --> klik beheer gebruiker --> verander zijn gebruikersnaam en bevestig.
Re: Database / Sessie
Geplaatst: 31 mei 2009, 23:20
door MarkDome
@EelkeB: Helaas heb ik het gedaan via de user interface van phpBB... dus niet met een eigen gemaakte phpcode
@FreakyBlue: nee niet via database, kan de BLOB's niet vanuit de tabel aanpassen

dus gewoon via beheerderspanneel users en dan naam aanpassen
Letterlijke error die ik krijg
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator,
info@mydome.nl and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/2.0.51 (Fedora) Server at
http://www.potterdome.com Port 80
Deze error krijg ik btw ook als ik bij sommige mensen hun mail adres wil aanpassen
en als ik hun tot eigenaar wil maken;)
Re: Database / Sessie
Geplaatst: 02 jun 2009, 06:57
door EelkeB
En in welk scherm verander je de gebruikersnaam dan? Er zijn een aantal plaatsen waar dat kan (ik doe geen aannames meer

)
Heb je, zoals de foutmelding suggereert, al in de server log gekeken? Dit is wel een stevige, meestal vangt phpBB de error wel af en krijg je toch minimaal zo'n "General Error" met een phpBB-sausje er overheen.
Re: Database / Sessie
Geplaatst: 15 jun 2009, 17:06
door MarkDome
@EelkeB: Hopelijk is de screen duidelijk waar ik het doe.
als ik haar naam / email / of op eigenaar willen zetten krijg ik die error
Ja heb in server log gekeken, maar daar word ik niet al te wijs van

Re: Database / Sessie
Geplaatst: 15 jun 2009, 18:40
door EelkeB
Welke versie gebruik je? Heb je modificaties geïnstalleerd?
Ik heb het geprobeerd op een testforum (3.0.4), maar geen enkel probleem. Overigens zie ik ook dat de logout link van je ACP niet goed wordt weergegeven. Er lijkt dus wel meer niet helemaal lekker te zitten. Heb je de mogelijkheid om je forum-installatie te vervangen door een verse download, met bijbehorende Nederlandse taalbestanden?
Re: Database / Sessie
Geplaatst: 15 jun 2009, 22:38
door MarkDome
Heb 3.0.5 vers geïnstalleerd, maar config bestand wel van oude gepakt om geen verlies te leiden
toen gaf hij error omdat in database natuurlijk nog 3.0.4 stond.
Toen dus handmatig ge-update via update 3.0.4 naar 3.0.5 bestanden;)
Wil best opnieuw installeren, echter hoe zet ik dan de database zo terug dat er geen verlies is in forum/premissies enzo?
modificatie/styles
animezone
portal XL 5.0
coppermine
Ajax chat (blueimp)
en nog een phpbb3.0.5 in een map
dus
/potterquest -> phpbb 3.0.5 (geef zelfde problemen, kan daar zelfs niet meer in beheerpanneel, zelfde manier geïnstalleerd)
/potterchat -> ajax chat
/potterkiekjes -> coppermine
sinds ik dat op die manier geïnstalleerd heb / update doen de portal pages van portal xl 5.0 ook niet meer
Wil het dus best helemaal opnieuw installeren, echter hoe zorg ik dat ik de juiste info database tabellen terug krijg zonder dat er dus forums/premissies/info van de portal pages/style informatie kwijt raak
Re: Database / Sessie
Geplaatst: 16 jun 2009, 07:16
door EelkeB
Heb je de modifcaties ook opnieuw geinstalleerd, als je niet de automatische update hebt gebruikt?
Mijn suggestie was niet opnieuw installeren, alleen even opnieuw het pakket downloaden en de bestanden overschrijven (met uitzondering van je config). Dat is alleen lastig als je modificaties hebt.
Ik heb zelf de update naar 3.0.5 nog niet gedaan (foei!) dus ik kan het daarmee niet testen, voor hetzelfde geld zit is er een bugje ingeslopen. Misschien dat iemand anders dat even kan proberen.
Re: Database / Sessie
Geplaatst: 16 jun 2009, 11:50
door MarkDome
Ja heb heel de map gedownload en bewaard natuurlijk, van de server verwijderd, behalve config file de map met coppermine en de map met ajaxchat.
En toen phpbb 3.0.5 er op gezet, style geinstalleerd, portal er op geinstalleerd, toen de config file (met de juiste gegevens) upgeload.
Toen dit dus niet helemaal werkte, omdat in database nog 3.0.4 in stond heb ik de bestanden van de update opnieuw upgeload. et voilla het resultaat.
Het werkt, maar niet zoals het hoort in ieder geval.
Wat raad je me aan?
EelkeB schreef:Misschien dat iemand anders dat even kan proberen.
Denk dat jij de enige bezoeker bent van dit topic
Re: Database / Sessie
Geplaatst: 16 jun 2009, 14:18
door EelkeB
De update terugdraaien en het hele feest op een lokale testomgeving proberen (is sowieso altijd een betere route). Dan eerst updaten, kijken of het dan werkt, daarna een voor een de mods opnieuw installeren, zodat je weet aan welke mod het ligt.
Ik kan ook niet 100% uitsluiten dat het een bugje in 3.0.5 is. Ik ben vast niet de enige die dit topic leest

Re: Database / Sessie
Geplaatst: 18 jun 2009, 11:23
door MarkDome
dus in een aparte map
eerst 3.0.4 uploaden en dan update naar 3.0.5
Maar neem aan dat ik wel eerst de geback-uped config file met de gegevens naar de database voor de update terug moet zetten?
en daarna de componenten als de portal/chat/coppermine terug installeren?
Mocht hij na de update al fout doen, lig het aan de update mag ik aannemen dus een bug in 3.0.5?
Re: Database / Sessie
Geplaatst: 18 jun 2009, 12:06
door EelkeB
Nou, dat is misschien een beetje kort door de bocht, maar je weet dan wel dat het niet aan je mods ligt.
Ik weet niet wat je met een aparte map bedoeld, maar met lokale testomgeving bedoel ik dat je je forum op je eigen machine (lokaal) draait, dus niet op je webserver. Je kunt dan veel makkelijker testen en wijzigingen aan brengen enzo. Pas als je er helemaal tevreden mee bent zet je het live.
Re: Database / Sessie
Geplaatst: 18 jun 2009, 19:32
door MarkDome
Bedoelde dus dat ik hem teste in
www.potterdome.com/test bijvoorbeeld;)
maar jij bedoelde gewoon locaal in de zin van localhost ?
Re: Database / Sessie
Geplaatst: 19 jun 2009, 07:52
door EelkeB
Ja. Veel handiger, want dan zit je niet steeds bestanden over te pompen. Gewoon lokaal alles aan het werk krijgen, dan pas overzetten op je server. Een testomgeving op je server is ook best een goed idee, maar dan als tussenstap (omdat je dan op dezelfde hardware, OS en PHP-versie en dergelijke draait als je live site, wat ook nog voor verrassingen kan zorgen).
Re: Database / Sessie
Geplaatst: 19 jun 2009, 08:59
door MarkDome
Maar denk dat het probleem gaat insluipen zodra ik de database file (config) van mijn huidig forum terug ga zetten op de nieuwe geteste forum die ik eerst op mijn local drive ga installeren.
Stel ik zet vandaag dat local ding op en merk dat alles werk, zet het daarna op de testomgeving op de server en werkt nog steeds perfect
maar dan heb ik een kaal forum zonder leden / berichten / permissies. Dat staat mooi in mijn database dus ff config terug zetten en stel het gaat daarna weer fout? Moeten alle leden zich dan op nieuw registreren / alle berichten terug gezet worden

?
Re: Database / Sessie
Geplaatst: 19 jun 2009, 12:21
door EelkeB
Als je een lokale test/ontwikkelomgeving opzet, dan zorg je er ook voor dat je een lokale kopie van je database hebt.