Mischien wel weer een stomme vraag van deze newbie, maar ik kom er niet meer uit, als ik data invoer krijg k data niet meer op t scherm met php, heb ik de instellingen met de lycos database wel goed staan?, en ja, de database heb k bij lycos aangemaakt met phpmyadmin, welke stukjes code moeten er trouwens bij elkaar staan in 1 php formulier?
Zie t volgende stuk hieronder :
---------------------------------------------------------------------------------------------------------
Database
Maak in je database een tabel aan genaamd 'users' met (in ieder geval) de velden 'id' (AutoIncrement, Primary Key), 'username' (tinytext) en 'password' (tinytext)
Je kan natuurlijk nog meer velden maken zodat de user bijvoorbeeld ook een uitgebreid profiel krijgt, maar ik houd het even simpel.
Registreren
Allereerst moet een gebruiker zich registreren. Maak een formulier met twee velden; gebruikersnaam en password (logisch )
Als de user zich geregistreerd 'stop' je deze gegevens in de tabel users:
mysql_query("INSERT INTO users (username, password) VALUES ('$username', '$password')");
Je wilt waarschijnlijk eerst kijken of de username niet al bestaat anders heb je twee, ofmischien wel meer users met dezelfde naam.
PHP code
--------------------------------------------------------------------------------
<?php
$username = $_POST['username']; //username uit het formulier
$query = "SELECT * FROM users WHERE username='username'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
// username is in gebruik
}else{
// username is nog vrij
}
?>
Inloggen
Nu de gebruiker zich heeft geregistreerd moet deze natuurlijk kunnen inloggen;
PHP code
--------------------------------------------------------------------------------
<?php
$username = $_POST['username']; //username die met het formulier verzonden
$password = $_POST['password']; //password die met het forumulier is verzonden
$query = "SELECT * FROM users WHERE username='username' AND password='$password'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
setcookie('username', $username, time()+36000);
setcookie('password', $password, time()+36000);
// user is ingelogged
}else{
// foute login
}
?>
Eerst kijkt dit script of de opgegeven username en password ook in de tabel users voorkomt, zo ja, worden er 2 cookies; username en password geschreven.
SetCookie()
Met de functie setcookie() verzend je cookies. Die worden dus op de computer van de gebruiker opgeslagen. Let op dat er vóór je setcookie() gebruikt geen output verzend; geen comments, geen echo en geen witte regels of HTML.
De eerste parameter van setcookie(); is de naam van de cookie. De tweede de waarde en de derde de tijd wanneer de cookie vervalt (in seconden)
Formulier
De gebruiker kan zich nu registreren, een script om cookies te schrijven als de gebruiker de juiste gegevens invult is er, maar nog geen formulier...
Als de gebruiker is ingelogged moet deze zijn username te zien krijgen en een logout link, als de gebruiker niet is ingelogged moet deze een formulier te zien krijgen.
PHP code
--------------------------------------------------------------------------------
<?php
$db = mysql_connect("localhost", $riseandshine32);
mysql_select_db($riseandshine32_db,$db);
@$username = $_COOKIE['username'];
@$password = $_COOKIE['password'];
@$query = "SELECT * FROM users WHERE username='username' AND password='password'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
echo 'Ingelogged als '.$_COOKIE['username'];
echo '<br><a href="logout.php">logout</a>';
}else{
echo <<<EOT
<form action="login.php" method="post" name="login_formulier.php" id="login_formulier.php">
Username:
<input name="username" type="text" id="username">
<br>
Password:
<input name="password" type="password" id="password">
<br>
<input name="submit" type="submit" id="submit" value="Login">
</form>
EOT;
}
?>
Als de username en password die in de cookies staan ook daadwerkelijk kloppen krijgt de user te zien dat hij is ingelogged, zo niet, of als er helemaal geen cookies bestaan krijgt hij een forumulier te zien wat naar login.php linkt.
Logout
De gebruiker moet ook kunnen uitloggen;
PHP code
--------------------------------------------------------------------------------
<?php
setcookie('username', '', 0);
setcookie('password', '', 0);
?>
de cookies zijn nu geleegd; de user is uitgelogd.
Checken of de user is ingelogged
Je wilt nu natuurlijk dat sommige pagina's niet te zien zijn voor gebruikers die niet zijn ingelogged. Je kan daar het beste een functie voor schrjiven.
PHP code
--------------------------------------------------------------------------------
<?php
function is_logged_in(){
@$username = $_COOKIE['username'];
@$password = $_COOKIE['password'];
@$query = "SELECT * FROM users WHERE username='username' AND password='password'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
return 1; // de gebruiker is ingelogged
}else{
return 0;
}
}
?>
zo gebruiken:
PHP code
<?php
if(is_logged_in() == 1){
//ingelogged, laat pagina zien
}else{
//niet ingelogged
}
?>
Zie t volgende stuk hieronder :
---------------------------------------------------------------------------------------------------------
Database
Maak in je database een tabel aan genaamd 'users' met (in ieder geval) de velden 'id' (AutoIncrement, Primary Key), 'username' (tinytext) en 'password' (tinytext)
Je kan natuurlijk nog meer velden maken zodat de user bijvoorbeeld ook een uitgebreid profiel krijgt, maar ik houd het even simpel.
Registreren
Allereerst moet een gebruiker zich registreren. Maak een formulier met twee velden; gebruikersnaam en password (logisch )
Als de user zich geregistreerd 'stop' je deze gegevens in de tabel users:
mysql_query("INSERT INTO users (username, password) VALUES ('$username', '$password')");
Je wilt waarschijnlijk eerst kijken of de username niet al bestaat anders heb je twee, ofmischien wel meer users met dezelfde naam.
PHP code
--------------------------------------------------------------------------------
<?php
$username = $_POST['username']; //username uit het formulier
$query = "SELECT * FROM users WHERE username='username'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
// username is in gebruik
}else{
// username is nog vrij
}
?>
Inloggen
Nu de gebruiker zich heeft geregistreerd moet deze natuurlijk kunnen inloggen;
PHP code
--------------------------------------------------------------------------------
<?php
$username = $_POST['username']; //username die met het formulier verzonden
$password = $_POST['password']; //password die met het forumulier is verzonden
$query = "SELECT * FROM users WHERE username='username' AND password='$password'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
setcookie('username', $username, time()+36000);
setcookie('password', $password, time()+36000);
// user is ingelogged
}else{
// foute login
}
?>
Eerst kijkt dit script of de opgegeven username en password ook in de tabel users voorkomt, zo ja, worden er 2 cookies; username en password geschreven.
SetCookie()
Met de functie setcookie() verzend je cookies. Die worden dus op de computer van de gebruiker opgeslagen. Let op dat er vóór je setcookie() gebruikt geen output verzend; geen comments, geen echo en geen witte regels of HTML.
De eerste parameter van setcookie(); is de naam van de cookie. De tweede de waarde en de derde de tijd wanneer de cookie vervalt (in seconden)
Formulier
De gebruiker kan zich nu registreren, een script om cookies te schrijven als de gebruiker de juiste gegevens invult is er, maar nog geen formulier...
Als de gebruiker is ingelogged moet deze zijn username te zien krijgen en een logout link, als de gebruiker niet is ingelogged moet deze een formulier te zien krijgen.
PHP code
--------------------------------------------------------------------------------
<?php
$db = mysql_connect("localhost", $riseandshine32);
mysql_select_db($riseandshine32_db,$db);
@$username = $_COOKIE['username'];
@$password = $_COOKIE['password'];
@$query = "SELECT * FROM users WHERE username='username' AND password='password'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
echo 'Ingelogged als '.$_COOKIE['username'];
echo '<br><a href="logout.php">logout</a>';
}else{
echo <<<EOT
<form action="login.php" method="post" name="login_formulier.php" id="login_formulier.php">
Username:
<input name="username" type="text" id="username">
<br>
Password:
<input name="password" type="password" id="password">
<br>
<input name="submit" type="submit" id="submit" value="Login">
</form>
EOT;
}
?>
Als de username en password die in de cookies staan ook daadwerkelijk kloppen krijgt de user te zien dat hij is ingelogged, zo niet, of als er helemaal geen cookies bestaan krijgt hij een forumulier te zien wat naar login.php linkt.
Logout
De gebruiker moet ook kunnen uitloggen;
PHP code
--------------------------------------------------------------------------------
<?php
setcookie('username', '', 0);
setcookie('password', '', 0);
?>
de cookies zijn nu geleegd; de user is uitgelogd.
Checken of de user is ingelogged
Je wilt nu natuurlijk dat sommige pagina's niet te zien zijn voor gebruikers die niet zijn ingelogged. Je kan daar het beste een functie voor schrjiven.
PHP code
--------------------------------------------------------------------------------
<?php
function is_logged_in(){
@$username = $_COOKIE['username'];
@$password = $_COOKIE['password'];
@$query = "SELECT * FROM users WHERE username='username' AND password='password'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1){
return 1; // de gebruiker is ingelogged
}else{
return 0;
}
}
?>
zo gebruiken:
PHP code
<?php
if(is_logged_in() == 1){
//ingelogged, laat pagina zien
}else{
//niet ingelogged
}
?>