J3.x

Dubbele gebruikersnamen veroorzaken updateprobleem

From Joomla! Documentation

This page is a translated version of the page J3.x:Duplicate usernames cause update issue and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎Ελληνικά

Bij sommige websites zal het updaten naar Joomla 3.9.16 resulteren in een database foutmelding die veroorzaakt wordt door dubbele gebruikersnamen. Raak niet in paniek wanneer dit gebeurt - de upgrade is zonder problemen bijna afgerond en werkt zoals het hoort, de overgebleven database wijziging kan met de volgende instructie toegepast worden.

Gerapporteerde fouten

Gebruikers krijgen een update foutmelding met betrekking tot de database query vanwege een dubbele sleutel in de website #__users tabel wanneer er een upgrade plaats vindt vanaf Joomla 3.9.15 of ouder.

Joomla 3.9.16 Upgrade Error

Getroffen versies

Algemene informatie

Dit geldt alleen voor Joomla! versie(s): 3.9.16

Wat is de oorzaak

Je website heeft meer dan één gebruiker in de #__users tabel met de zelfde gebruikersnaam, wat een veiligheidsprobleem is omdat het foutieve account door de verkeerder gebruiker kan benaderd worden.

Hoe op te lossen

Je zal de #__users tabel in je database moeten herzien en elke dubbele gebruikersnaam moeten wijzigen door of oude gebruikers te verwijderen of hun gebruikersnaam te wijzigen totdat alle gebruikersnamen uniek zijn. Wanneer dit gereed is, en je hebt de upgrade naar 3.9.16 al uitgevoerd, kan je de databaseschema repareren starten om de upgrade te voltooien (deze stap is niet nodig als je dit probleem oplost voordat je de upgrade uitvoert).

Joomla kan niet automatisch vaststellen welke actie ondernomen moet worden en kan hierdoor deze stap niet voor je uitvoeren - je moet dit als website eigenaar zelf uitvoeren.

De volgende SQL query moet op je database uitgevoerd worden om te zien welke gebruikersnamen dubbel voorkomen. Vervang de plaatsvervanger #__ door het tabel-voorvoegsel van uw Joomla database voordat u het draait:

SELECT username FROM #__users GROUP BY username HAVING COUNT(*) > 1

Een mogelijke manier om dit probleem eenvoudiger op te lossen is alle gebruikers te verwijderen die de website nooit bezocht hebben. Dit moet echter met zorg gedaan worden en zorg dat er eerst een back-up van de tabel gemaakt wordt. Na het draaien van deze query kunt u opnieuw controleren hoeveel dubbele gebruikers u heeft.

DELETE FROM #__users WHERE lastvisitDate = "0000-00-00 00:00:00"