Hallo,

Weet er meschien iemand hoe/waar ik het beste de volgende functie kan inplakken in mijn login script.

Verder haal ik de unlockdate uit de tabel 'account_locks'.

Ik heb al de hele dag zitten proberen maar krijg het niet aan de praat, vandaar dat ik iemand wil vragen om dit voor mij te doen.

Bedankt zover.

//Dit moet ergens tussen gezet workden.
if($row['unlockdate'] < date('d-m-Y'))
								{
								error_message('Your account is locked!');
								}


<?php
session_start();
//Battle Quest Gaming System V2.0 Copyright by Robin Peters

if(file_exists('config/config.php'))
{
    include('config/config.php');
}
else
{
    echo 'Can not find config file';
}

include('includes/inc_header.php');


//Check if user is already logged in.
if(isset($_SESSION['user_id'])) 
{
error_message("You are already logged in.");
}
else
{
	
	//Check if form has been submitted.
	if($_SERVER['REQUEST_METHOD'] == 'POST'){
		
		//Convert vars
		$username = $_POST['username'];
		$password = $_POST['password'];
	
			//Check if fields are empty.
			if(empty($username))
			{
			error_message('You did not enter a username, Please return.');
			}
			elseif(empty($password))
			{
			error_message('You did not enter a password, Please return');
			}
				
				//Next.
				elseif(!get_magic_quotes_gpc()) 
				{
            	$username = addslashes($username);
            	$password = addslashes($password);
            	}
					
					//Addslashes to username/password
					$password = addslashes(sha1($password));
        			$username = addslashes($username);
					
						//SQL string.
						$sql_db = "SELECT id, username, password, active, activationcode, logo FROM members WHERE username = '$username' AND password = '$password'";
						
							//Check for result.
							$res_db = mysql_query($sql_db) or die ('User cannot be found in our database, ' . mysql_error());
							
								if(($row = mysql_fetch_array($res_db)) == 0) 
								{
								error_message('The entered login information is not right, Please try again.');
        						} 
								elseif($row['active'] == '0')
								{
								error_message('Your account is not activated yet, Please activate first.');
								}
								elseif($row['activationcode'] != 'Activated')
								{
								error_message('Your account is not activated yet, Please activate first.');
								}
								

								
									//Start session
									else
									{
									$_SESSION['user_id'] = $row['id'];
									$_SESSION['username'] = stripslashes($row['username']);
									$_SESSION['password'] = stripslashes($row['password']);
									$_SESSION['active'] = $row['active'];
									$_SESSION['logo'] = $row['logo'];	
									}
									
								}
								?>
		  						<script language="Javascript" type="text/javascript">
    	  						location.href='index.php';
          						</script>
								<?php
							}
						include('includes/inc_footer.php');
				?>				
Sorry voor de bump, maar ik kom er niet uit.
if($row['unlockdate'] < date('d-m-Y'))

Als de datum zo 'd-m-Y' in de database staat is dat fout.
Dan heb je waarschijnlijk varchar() in plaats van date of datetime.
Daar kan je dus niet mee rekenen.
Voorbeeldje: 10-05-2007 is met varchar vroeger dan 20-03-2007 omdat de 1 voor de 2 komt.
In dit deel heb je een aantal checks staan:

<?php
          if (($row = mysql_fetch_array($res_db)) == 0) {
              error_message('The entered login information is not right, Please try again.');
          } elseif ($row['active'] == '0') {
              error_message('Your account is not activated yet, Please activate first.');
          } elseif ($row['activationcode'] != 'Activated') {
              error_message('Your account is not activated yet, Please activate first.');
          }
          ?>

Daar kan je datumcheck ook bij. Verder sluit ik aan bij SanThe: lees even iets over het DATE type in MySQL. Als die klopt, kun je dit doen:
WHERE unlockdate <= CURDATE()

Tip: zet nooit een username en een password in de sessie. Je hebt ze alleen nodig bij het inloggen.
ik heb gehoord datje sessies ook kunt hacken.
heet dat er iets mee te maken dat je dat nooit moet doen?

ik heb veel geholpen met maken van crime games en daar werd altijd een username in een sessie gezet :S

[edit]
300 ste post :D

ik kom al in de buurt bij jan *hihi*
[/edit]

Reageren