Login script

Status
Niet open voor verdere reacties.

Supakiller

Gebruiker
Lid geworden
5 sep 2009
Berichten
66
Hallo mensen,

ik ben op zoek naar een goed werkend login script voor een site. Registratie script heb ik al, en gaat allemaal via database.

Dit is wat ik nu heb, maar het werkt niet.
Ik heb verbinding met de database en het ligt daar ook niet aan, er zit een fout ( wss een paar fouten in het script ) .

PHP:
<tr><td width=100>Gebruikersnaam:</td><td> 	<input type='text' name='login' maxlength='25' value='' /></td></tr>
<tr><td width=100>Wachtwoord:</td><td> <input type='password' name='pass' /></td></tr>
<tr><td></td><td align="left"> <input type='submit' name='submit' value='Login' style=' width: 80px;'/></td></tr>

<?php
if ( isset ( $_POST[ 'login' ] ) && isset ( $_POST[ 'pass' ] ) ) {
  $login = strip_tags ( $_POST[ 'login' ] );
  $login = strtolower( $login );
  $pass = md5 ( strip_tags ( $_POST[ 'pass' ] ) );
  $dbres = mysql_query ( "SELECT * FROM gebruiker WHERE login = '" . mysql_real_escape_string ( $login ) . "' AND pass = '" . mysql_real_escape_string ( $pass ) . "'" );
 
  if ( mysql_num_rows ( $dbres ) > 0 ) {
    $_SESSION[ 'login' ] = $login;
    header("Location: nav.php");
  } else {
    echo "Het wachtwoord of de gebruikersnaam kwam niet overeen!<br />";  
  }
}
?>

En hier de functie van de Session
Maar ik weet niet of dit wel klopt..

PHP:
<?php

session_start();
	if(isset($_SESSION['login'])){
	$dbres			=	mysql_query("SELECT * FROM `gebruiker` WHERE `login`='{$_SESSION['login']}'");
	$data			=	mysql_fetch_object($dbres);
	$_COOKIE['login']	=	$_SESSION['login'];
	} else {
	unset($_SESSION['login']);
	}

	function check_login() {
		if(isset($_SESSION['login'])){
		return TRUE;
		} else {
		return FALSE;
		}
	}

?>

Iemand een idee ?
 
Wat werkt er niet? Welke foutmelding krijg je?

Zonder die informatie wordt het lastig helpen.
 
Gewoon de melding : Het wachtwoord of de gebruikersnaam kwam niet overeen!

Terwijl het precies zoals in de database word opgeschreven ..
 
Wat voor veld is het wachtwoord in de database? Is dat een password veld waar een MD5 hash op zit of een plain text veld?
 
wat voor veld is het wachtwoord in de database? Is dat een password veld waar een md5 hash op zit of een plain text veld?

md5

** Aha ! Ik vrees dat het aan mijn register.php ligt, want ik heb 2 accounts aangemaakt, met 2 verschillende wachtwoorden, maar ze staan er precies hetzelfde in in de database.

Dit is mijn register
PHP:
<tr>	<td width="35%" align="right">Gebruikersnaam:</td>
	<td width="65%"><input type="text" name="login" maxlength="16" style="width: 150;" value=""> (min. 3 tekens)</td></tr>

<tr>	<td align="right">E-Mail:</td>
	<td><input type="text" name="email" maxlength="64" style="width: 150;" value=""></td></tr>

<tr>	<td align="right">Wachtwoord:</td>
	<td><input type="password" name="pass" maxlength="16" style="width: 150;" value=""> (min. 5 tekens)</td></tr>

<tr>	<td align="right"> Wachtwoord Controle:</td>

	<td><input type="password" name="password_check" maxlength="16" style="width: 150;" value=""></td></tr>
<tr>
      <td align="right"><input name="accoord" type="checkbox" class="form_radio" value="1" /></td>
      	<td><a href="javascript: f = open( 'algemene.php', 'GetHelp', 'height=500, width=500, left=200, top=50, toolbar=no, status=no, scrollbars=yes'); f.focus();" title="Game Rules" onMouseOver="wechseln(b3,b3b)" onMouseOut="wechseln(b3,b3a)">
      Accepteer voorwaarden </a></td>
     </tr>

<?php

	if(isset($_POST['submit'])){
	$error		=	0;
	$dbres		=	mysql_query("SELECT `id` FROM `gebruiker` WHERE `ip`='{$_SERVER['REMOTE_ADDR']}' AND `level`!='-2'");
	$controlle1	=	mysql_num_rows($dbres);
	$dbres		=	mysql_query("SELECT `id` FROM `gebruiker` WHERE `login`='{$_POST['login']}'");
	$controlle2	=	mysql_num_rows($dbres);
	$dbres		=	mysql_query("SELECT `id` FROM `gebruiker` WHERE `email`='{$_POST['email']}' AND `level`!='-2'");
	$controlle3	=	mysql_num_rows($dbres);
	$pass		=	md5($_POST['password']);




		if($_POST['pass'] == "" || ($_POST['pass'] != $_POST['password_check'])){
		$error	=	1;
		echo "<img src=\"images/kruis.jpg\">Je wachtwoorden zijn niet hetzelfde";
		}


		if(preg_match("/@spam.la/",$_POST['email']) == 1){
		$error	=	1;
		echo "<img src=\"images/kruis.jpg\">Jou email is niet geldig.";
		}



		if($_POST['accoord'] == ""){
		$error	=	1;
		echo "<img src=\"images/kruis.jpg\">Je moet akkoord gaan met de regels &amp; voorwaarden!";
		}

		if($controlle1 != 0){
		$error	=	1;
		echo "<img src=\"images/kruis.jpg\">Er is al geregistreerd vanaf je computer.";
		}

		if($controlle3 != 0){
		$error	=	1;
		echo "<img src=\"images/kruis.jpg\">Je e-mail adres is al in gebruik.";
		}

		if($controlle2 != 0){
		$error	=	1;
		echo "<img src=\"images/kruis.jpg\">Je gebruikersnaam is al in gebruik";
		}

		if($error == 0){
 
        $result = mysql_query("INSERT INTO `gebruiker`(`signup`,`login`,`pass`,`online`,`ip`,`email`,`land`) values (NOW(),'{$_POST['login']}','$pass',NOW(),'{$_SERVER['REMOTE_ADDR']}','{$_POST['email']}','{$_POST['land']}')");
        if(!$result) {
                echo 'Er is een fout opgetreden! Probeer het opnieuw ';
        } else {
                echo "Je hebt je succesvol aangemeld.";
        }
}
	}

?></form>
 
Laatst bewerkt:
Niemand ? ! :shocked:

** Bedankt voor de hulp, not.

Maar heb het probleem zelf al gevonden, het wachtwoord werd niet verzonden als de submit, dus was het geen wachtwoord..
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan