hallo allemaal,

ik ben (nog steeds), een site aan het maken, maar ik zou het leuk vinden, dat als 1 van mijn users zijn ingelogt dat er staat ( welcome userid )

netzoals linksboven aan deze zite :)

maar ik heb geen idee hoe dat moet,

hoe zou ik dat dan moeten plaatsen

<?php
echo 'welcome $iUserId'
?>

dit heb ik nu staan

maar werkt naartuurlijk niet, ik heb ook een flouw idee dat het ook niet zo moet, want hij zet nu neer wat ik tussen de 'dingen heb neergezet'
<?
echo 'Welcome ' . $iUserId;
?>

Voor de rest, wees geduldig...
dank u :)
darn doet het nog steeds niet,

dit is de source,

secure.php

<?php
//secure.php
session_start();
require('functions.php');

if(FALSE!==($rDbConn=connectdb()))
{
if(!check_login($rDbConn))
{
header('location: index.php');
exit;
}
}

?>

<html>
<center>

blablblablablaa :)



</td>
<td width=600 height=20>

<center>
<?php
echo 'Welcome to our site' . $iUserId;
?>

</center>
</td>

<td width=170 height=20>
<center>

<?php
$month[0]="--";
$month[1]="<b>01</b>";
$month[2]="<b>02</b>";
$month[3]="<b>03</b>";
$month[4]="<b>04</b>";
$month[5]="<b>05</b>";
$month[6]="<b>06</b>";
$month[7]="<b>07</b>";
$month[8]="<b>08</b>";
$month[9]="<b>09</b>";
$month[10]="10</b>";
$month[11]="11</b>";
$month[12]="12</b>";
$days[0]="<b>Sun</b>";
$days[1]="<b>Mon</b>";
$days[2]="<b>Tues</b>";
$days[3]="<b>Wed</b>";
$days[4]="<b>Thu</b>";
$days[5]="<b>Fri</b>";
$days[6]="<b>Sat</b>";
$dayno=(int)date("w");
$monno=(int)date("m");
echo $days[$dayno]." ".date("<b>d</b>")."/".$month[$monno]."/".date("<b>Y</b>");
?>

blablablabbla :)

</body>
</html>


dit is de funtions.php:


<?php
//functions.php
function connectdb()
{
//inloggegevens van de database
$sHost='----';
$sUser='----';
$sPass='----';
$sDb='----';

if(!$rDbConn=mysql_connect($sHost,$sUser,$sPass))
{
echo 'Could not connect to database, sorry for the inconfenious';
return FALSE;
}
else
{
if(!mysql_select_db($sDb,$rDbConn))
{
echo 'Could not find the selected databse';
return FALSE;
}
}
return $rDbConn;
}

function check_login($rDbConn)
{
$bLogin=FALSE;

if(empty($_SESSION['ingelogd']))
{
//niet aangemeld volgens sessie, wel volgens db?
if(isset($_COOKIE['user_id']) && isset($_COOKIE['validate']) &&
strlen($_COOKIE['validate'])==32 && preg_match('/^[0-9]{1,8}$/',$_COOKIE['user_id']))
{
//de cookies bestaan en zijn geldig, kijken in de db
$sQuery='SELECT COUNT(*) FROM logins
WHERE user_id='.$_COOKIE['user_id'].' AND validate="'.$_COOKIE['validate'].'"
AND client_ip="'.$_SERVER['REMOTE_ADDR'].'"
AND tijdstip>DATE_SUB(NOW(),INTERVAL 7 DAY)';
if(!$rResult=mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
else
{
if(mysql_num_rows($rResult)==1)
{
//volgens db al geldig ingelogd
$bLogin=TRUE;

//de sessie gegevens schrijven
$_SESSION['ingelogd']=TRUE;
$_SESSION['client_ip']=$_SERVER['REMOTE_ADDR'];
$_SESSION['user_id']=$_COOKIE['user_id'];

//willekeurige string maken
$sValidate=md5(rand(0,99999));

//cookies setten voor 7dagen
setcookie('validate',$sValidate,time()+60*60*24*7,'/','http://johan.jo.funpic.org/');
setcookie('user_id',$_SESSION['user_id'],time()+60*60*24*7,'/','http://johan.jo.funpic.org/');

//de gegevens in de tabel zetten
$sQuery='REPLACE INTO logins (tijdstip, validate, user_id, client_ip)
VALUES (NOW(), "'.$sValidate.'", '.$_SESSION['user_id'].', "'.$_SERVER['REMOTE_ADDR'].'")';
if(!mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}

//deze functie behandel ik straks
clean_up($rDbConn);

return $bLogin;
}
}
}
}
elseif(isset($_SESSION['client_ip']) && $_SESSION['client_ip']==$_SERVER['REMOTE_ADDR']
&& isset($_SESSION['user_id']) && preg_match('/^[0-9]{1,8}$/',$_SESSION['user_id'])
&& isset($_SESSION['ingelogd']) && $_SESSION['ingelogd']===TRUE)
{
return TRUE;
}
return FALSE;
}

function clean_up($rDbConn,$iUserId=0)
{
if(empty($iUserId))
{
//er werd geen userID meegegeven, dus algemene opruiming?
if(rand(1,500)==1)
{
//alle rijen ouder dan een maand wissen
$sQuery='DELETE FROM logins WHERE tijdstip<DATE_SUB(NOW(),INTERVAL 1 MONTH)';
if(!mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
}
}
elseif(preg_match('/^[0-9]{1,8}$/',$iUserId))
{
//er werd een userID meegegeven, wissen dat kreng
$sQuery='DELETE FROM logins WHERE user_id='.$iUserId;
if(!mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
}
}
?>
Ten eerst hebben wij een leven :/
reageren we niet in 30 min

ten 2de waarde opslaan in een sessie en die weer geven "/
ik kom steeds dichterbij :)
ik ben een php newb.. ik zou geen enkel idee hebben hoe dat zou moete

ik heb onderhand wel gehad

welcome to our site "1"

met deze code:
<?php echo ($_SESSION['user_id']);?>
krijg ik ook de zelfde melding als hierboven
<?php echo ($_SESSION['user_id']);?> ??
hoe ziet je inlog form eruit?
ik heb al zo'n gevoel waar de fout is, dat is zeker mijn database..

user_id is auto increcement

maar als ik username invoer, zegt ie helemaal niets

inlog form:

<form name="form1" method="post" action="">
<p>
<input name="naam" type="text" id="naam">
Username</p>
<p>
<input name="pass" type="text" id="pass">
Password
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
<?php
// register.php
require("functions.php");
connectdb();
if ($_POST['Submit'] == 'Submit') {
$naam = $_POST['naam'];
$password = $_POST['pass'];
$pw = md5($password);
$query = "insert into users (username,password)
values (
'$naam',
'$pw')";
mysql_query($query) or
die (mysql_error());
}
?>


inlog form

<?php
//login.php
session_start();
require('functions.php');

if($_SERVER['REQUEST_METHOD']=='POST')
{
if(FALSE!==($rDbConn=connectdb()))
{
$sQuery='SELECT id FROM users WHERE username="'.$_POST['username'].'" AND password="'.md5($_POST['password']).'"';
if(!$rResult=mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
else
{
if(mysql_num_rows($rResult)==0)
{
echo 'Username and password are incorrect, <P> Click <A HREF="index.php"/>here</A> to try again';
}
else
{
//En dan komt hier het loginverhaal
//willekeurige string maken
$sValidate=md5(rand(0,99999));

//cookies setten voor 7dagen
$iUserId=mysql_result($rResult,0,'id');
setcookie('validate',$sValidate,time()+60*60*24*7,'/','http://127.0.0.1/index.php');
setcookie('user_id',$iUserId,time()+60*60*24*7,'/','http://127.0.0.1/index.php');

//de gegevens in de tabel zetten
$sQuery='REPLACE INTO logins (tijdstip, validate, user_id, client_ip)
VALUES (NOW(), "'.$sValidate.'", '.$iUserId.', "'.$_SERVER['REMOTE_ADDR'].'")';
if(!mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}

//de sessie gegevens schrijven
$_SESSION['user_id']=$iUserId;
$_SESSION['ingelogd']=TRUE;
$_SESSION['client_ip']=$_SERVER['REMOTE_ADDR'];

//doorsturen naar de volgende pagina
header('location: secure.php');

}
}
mysql_close($rDbConn);
}
}
else
{
echo '<FORM NAME="inlogform" METHOD="post" ACTION="'.$_SERVER['PHP_SELF'].'">
<center><b>Username:</b> <br> <INPUT TYPE="text" NAME="username" SIZE="20"><BR>
<b>Password:</b> <br> <INPUT TYPE="password" NAME="password" SIZE="20"><BR>
<INPUT TYPE="submit" VALUE="Inloggen"></FORM></center>';
}
?>

Reageren