PHP

Ansluta till databas/MySQL

Databaser ja. Mycket material kan läggas ut direkt på webbsidor men utan databaser är det svårt att få någon riktig motor bakom dynamiken som vi idag ser som naturlig på nätet. Vi säger att en webbsida är databasdriven om det material som syns på sidan till en stor del hämtas från databaser. Sidan består då av en mall som informationen läggs in i beroende på vilken användare som är inloggad eller beroende av andra saker.

För enklare sidor går det bra att använda sig av enklare saker än en databas. T ex går det att spara data på fil för att sedan kunna läsa av filen vid behov. Men när det gäller att göra sökningar och strukturera data är databasen överlägsen. Eftersom databasprogrammen blir snabbare och snabbare och även lättare att använda för programmeraren finns det ingen större anledning att använda sig av filer.

PHP har bra stöd för att arbeta mot databaser, som t ex MySQL. Det är relativt enkelt att ansluta till databasen och fråga efter information med hjälp av funktioner som redan finns inbyggda. Ett exempel på hur koden för att kontrollera en inloggning mot en databas med användare och användarnamn följer här:

$username = $_POST['username'];
$password = $_POST['password'];

$connection = mysql_connect ("server", "anvandarnamn", "losenord");
mysql_select_db ("mindatabas");

$users = mysql_query("select * from user where user = '" . 
			$username . "' and password = '" . $password . "'", 
			$connection);

if (mysql_num_rows($users) > 0)
	echo "Du är inloggad.";
else
	echo "Felaktigt användarnamn/lösenord!";

Vi ska inte gå in närmare på koden här utan lämnar det till senare, men det som görs är att vi ansluter till en databas, frågar om det finns en användare med det användarnamn och lösenord som skickades in och bestämmer på så sätt om inloggningen lyckades eller inte. Om du vill veta hur det hela slutar så får du läsa avsnittet om MySQL där vi tar upp ännu ett exempel på Nikes sida.