Zoek PHP script als inlog systeem

Status
Niet open voor verdere reacties.

RobW41

Gebruiker
Lid geworden
6 aug 2003
Berichten
128
Hoi allemaal ik zoek een inlog php script waarmee je gebruikers kunt laten inloggen en dat ze daarna ook naar een speciale pagina worden door verwezen.

dit moet mogelijk zijn voor meerdere gebruikers. dus gebruiker 1 met zijn eigen inlog gegevens wordt dan na het invoeren van zijn gegevens automatisch door ver wezen naar zijn pagina.

gebruiker 2 word na het inloggen naar een andere pagina verwezen etc. met andere gebruikers.

ik heb al gezocht op hotscript.com maar kon het niet vinden.
 
Hoi ik kom er niet helemaal uit ook niet op de websites die jullie hier hebben vermeld.

enig idee welk php ik kan gebruiken hiervoor?

ik wil een inlog schermpje op mijn site en als daar een persoon of klant zijn gegevens invoerd(username/password) dan word hij automatisch na het juiste wachtwoord in te voeren door gezonden naar een pagina die dan dus alleen voor hem beschikbaar is.

bij hotscripts.com en dan bij User Authentication kon ik niets vinden die je door schakeld.

iemand die mij kan helpen?
 
Login scripts van phpfreakz:
1 2 3 4 5 6
Deze links komen van de eerste 20 resultaten na het zoeken naar "login"

Login scripts van hotscripts:
1 2 3 4 5
Deze links komen van de eerste 4 pagina's van Hotscripts => PHP => User authenticate

Login scripts tutorials:
1 2 3
Gevonden met Google

En nou niet weer zeggen dat het niet lukt, met zoveel links kan het niet fout gaan :confused:
 
Hoi jpeetje,
Deze login scripts komen bij bekend voor, maar doordat ik niet erg goed bekend ben met PHP kom ik er niet helemaal uit. Die van hotscript zijn vaak goed voor mensen die weinig kaas hebben gegeten van PHp en vaak zit er een goede installer ingebakken die ook je tabbellen maakt in de database. Maar wat ik niet begrijp is hoe ik een persoon na het inloggen automatisch naar zijn eigen pagina krijg?
 
Hopelijk biedt dit een beetje inzicht en een oplossing voor je.

Je zou in de tabel met de usernaam en passwoord een extra kolom kunnen aanmaken met een URL naar ieder zijn persoonlijke pagina.
Inlog scripts die de database gebruiken om te controleren of de gebruikersnaam en password goed zijn hebben een stuk php code wat hierop lijkt:
PHP:
$query = "SELECT username, password FROM users 
		WHERE username = '" . $_POST["username"] ."'
		AND password = '". $_POST["password"] ."'";
$result = mysql_query($query) or die("FOUT: " . mysql_error());
Als je in die table users nu ook een kolom “url” hebt, kan je die ook meenemen in resultaat door achter password “, url” te zetten (zonder quotes)

Vervolgens gaat je inlog script ongeveer zo verder:
PHP:
if (mysql_num_rows($result) > 0)
	{	while (list($username, $password, $url ) =
		mysql_fetch_array($result))
		{	$_SESSION["username"] = $username;
			$_SESSION["url"] = $url;
			header("Location: $url");
			exit();
		}
            }
else
{
	$tekst = "U heeft geen geldige combinatie van username en wachtwoord opgegeven. 
				<br><a href=\"login.php\">Opnieuw inloggen</a><br>		
				<br></font>";
				die($tekst);	
	}
Hiermee wordt eerst gekeken of het resultaat überhaupt iets terug geeft. Als er namelijk 0 (records/rijen) resultaten zijn, betekent dat, dat de username niet geregistreerd is. Daarbij gaat hij naar de "else tak" waarbij een foutmelding wordt gegeven en een link om opnieuw in te loggen.
Is het resultaat wel meer dan 0 (records), dan splits hij het resultaat op in 3 variabelen namelijk $username, $password, $url
In de session variabelen worden vervolgens de username en url opgeslagen zodat de bezoeker deze over alle volgende pagina’s bij zich heeft.
Met header(“Location: $url”) wordt de bezoeker vervolgens door gestuurd naar zijn pagina (de pagina zoals die in de database staat).

Het bovenstaande kanje waarschijnlijk niet zo 1 op 1 in jouw scripts plakken, maar je kan het gebruiken als referentie om jouw scripts aan te passen.

Groeten,
Olav
 
WOW Olav ziet er goed uit en logisch maar zoals ik al zei ik heb weinig kaas gegeten van PHP maar ik zal kijken wat ik kan doen.
 
Geplaatst door RobW41
WOW Olav ziet er goed uit en logisch maar zoals ik al zei ik heb weinig kaas gegeten van PHP maar ik zal kijken wat ik kan doen.

Voila ik heb vanmiddag even iets voor je in elkaar gezet. Hier voor je een zipfile met daarin 4 php pagina's.
Voor je hem upload naar je webserver moet je het bestand config.php even openen en aanpassen met de juiste gegevens. Dan kan je ze alle 4 oploaden naar je webserver en dan open je login_installer.php via je website.

Lees dan de geopende pagina aandachtig door en dan wijst het verder vanzelf.
Hij is wel in het engels omdat ik hem misschien wel ergens wil publiceren in de toekomst.

Groetjes,
Olav
 
Laatst bewerkt:
oeps stom van me... moet ik natuurlijk wel de zipfile bijvoegen :eek:

Bij deze...
 

Bijlagen

  • login_redirect_userpage.zip
    2,6 KB · Weergaven: 324
Hoi Olav,

Ik heb alles gedaan wat je hier zei over jou script en dat werkt. maar wat kan ik er nu verder mee? er zijn nu alleen de loginnaam in de database die er al aangegeven waren tester en testuser. en die stuurt je als je daarmee inlogt naar de test.php
 
Het doet precies wat je vroeg... bij het inloggen naar een pagina sturen voor die gebruiker... de link naar test.php heeft hij uit de database opgehaald en staat niet in het script. De andere gebruikers die je in je users tabel opslaat, kan je ook een eigen pagina geven.

Olav
 
Hoi Olav,

Klopt wat je zegt ik ben eruit. Ik ben de database ingegaan en heb daar nog een username en password en url in een nieuwe regel gemaakt en het werkt.

geweldig, dat ik personen via de database moet invoeren zelf is niet zo erg er zal wel een automatsch script ook zijn maar ik ben hier al blij mee. Hartelijk bedankt.':thumb:'
 
Olaf nog een vraag, waar kan ik tekst plaatsen als men met een verkeerde naam of password hebben in willen loggen? tekst van: Verkeerde password of loginname gebruikt...
 
Geplaatst door RobW41
Olaf nog een vraag, waar kan ik tekst plaatsen als men met een verkeerde naam of password hebben in willen loggen? tekst van: Verkeerde password of loginname gebruikt...
Daarvoor moet je login.php aanpassen.
Nu staat dit stukje erin:
PHP:
	if (mysql_num_rows($result) > 0)
	{	while (list($username, $password, $url ) =
		mysql_fetch_array($result))
		{	$_SESSION["username"] = $username;
			$_SESSION["url"] = $url;
			header("Location: $url");
			exit();
		}
vervang dit met dit:
PHP:
	if (mysql_num_rows($result) > 0)
	{	while (list($username, $password, $url ) =
		mysql_fetch_array($result))
		{	$_SESSION["username"] = $username;
			$_SESSION["url"] = $url;
			header("Location: $url");
			exit();
		}
	}
	else
	{
	 $message = "Incorrect username or password.<br>Click <a href=login.php>here</a> to login again";
	 exit("$message");
	}

Zoals je ziet is er een "else tak" bij gekomen. Die zorgt voor de afhandeling als het resultaat niet meer is dan 0, of te wel als er geen resultaten zijn terug gekomen.
Goed dat je het was opgevallen. Ik was hem vergeten inderdaad.

Op je eerdere vraag, over het handmatig invoeren van de gebruikers in je database. Daar is ook wel een script voor te schrijven waarmee je de gebruikers registreert. Dat wil ik eventueel ook wel voor je maken op dezelfde manier, zodat je hem zelf kan aanpassen naar je eigen behoeften zoals ik ook met de andere heb gedaan.
Maar dan moet ik alleen wat meer weten:
- hoe de je de persoonlijke pagina's wilt noemen voor de gebruiker. Je zou bijvoorbeeld die naam van de pagina gelijk aan de gebruikersnaam willen hebben.
- welke gegevens je wilt dat opgeslagen worden in de database, denk aan naam, gebruikersnaam, email, password, url etc.
Stuur me hierover maar een email via de knop hieronder. Dat gaat even wat makkelijker op dit moment.

Groeten,
Olav
 
Laatst bewerkt:
toch even een vraagje aan Olav...
hou je wel rekening met de superglobals ?
ik zie je $_SESSION["username"] en $username gebruiken, terwijl als je gewoon $username gebruikt dit ook als $_SESSION["username"] opgevat kan worden...
 
Geplaatst door RobW41
Hoi Olav ik heb jou een mail gestuurd

Klopt,
Ik zit alleen nu op mijn werk en heb het te druk om op dit moment te reageren, vanavond weer :)

Olav
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan