Ik heb een fout in mijn inlogsysteem
Als ik met opzet verkeerd inlog komt er niet de gewenste foutmelding

Ziet iemand de fout?


<html>

<head>

<!--hier include hij het stijl bestandje zodat de website de gewenste stijl krijgt-->
<link rel="stylesheet" type="text/css" href="stijl.css" />

</head>

<body>

<ul class="navbar">

<script src="http://www.clocklink.com/embed.js"></script>
<script type="text/javascript" language="JavaScript">
obj=new Object;
obj.clockfile="5005-purple.swf";
obj.TimeZone="GMT0100";
obj.width=120;
obj.height=40;
obj.wmode="transparent";
showClock(obj);
</script> 
<br>
<br>

  <li><a href="index.php">Home</a>
  <li><a href="ophalen.php">De Database</a>
  <li><a href="videos.php">Trailers</a>
  <li><a href="login.php">Admin</a>
</ul>


<?php


if(isset($_POST['submit'])){

/*voeg het bestand verbinding.php toe voor contact met de database*/
		include("verbinding.php");
	        include("functions.inc.php");
	
	//Opstarten van een sessie
	
        //Ophalen en controleren van de input uit de formuliervelden.
	$username = cleanQuery($_POST['username']);
	$password = cleanQuery($_POST['password']);
	//Wachtwoord versleutelen
	$password = md5($password);
		
	$query = "SELECT * FROM users WHERE username='$username' and password='$password'";
	
	$result = mysql_query($query);
	
	if (mysql_num_rows($result) < 1) {
	$error = "Logingegevens kloppen niet";
	    include("login.php");
	
	} else {
	    $_SESSION['username'] = "$username";
	    include "index2.php";
	}
}
else {



?>

<form name="login" method="post" action="login.php" class="box1">
<fieldset><legend>Inloggen voor Admins:</legend>
<p><label for="username">Gebruikersnaam:</label><input type='text' name="username" class="txt"/></p>
<p><label for="password">Wachtwoord:</label><input type='password' name="password"  class="txt"/></p>
<p><input type='submit' name="submit" value='Login' class="btn"/></p>
</fieldset>
</form>


<?php



}

?>

</body>

</html>


de foutmelding is:
Fatal error: Cannot redeclare cleanquery() (previously declared in /home/www/filmdatabase.awardspace.info/functions.inc.php:7) in /home/www/filmdatabase.awardspace.info/functions.inc.php on line 7

mijn fuctions.inc.php =

<?php 



//Functie om SQL-Injection te voorkomen

function cleanQuery($string)
{
  if(get_magic_quotes_gpc())  // voorkomt dubbele backslashes
  {
    $string = stripslashes($string);
  }
  if (phpversion() >= '4.3.0')
  {
    $string = mysql_real_escape_string($string);
  }
  else
  {
    $string = mysql_escape_string($string);
  }
  return $string;
}

?>


Iemand een idee?

<?php 


//Functie om SQL-Injection te voorkomen

function cleanQuery($string)
{
  if(get_magic_quotes_gpc())  // voorkomt dubbele backslashes
  {
    $string = stripslashes($string);
  }
  if (phpversion() >= '4.3.0')
  {
    $string = mysql_real_escape_string($string);
  }
  else
  {
    $string = mysql_escape_string($string);
  }
?>


De fout zit nu in regel 6, omdat er 1 lege regel is weggehaald
En er staat verder niks meer voor?
Doe je wel een return?
Sluit je de function op de juiste plek?
Staat die function er niet toevallig 2 keer in?
Er staat voor de rest niks voor nee
Ik heb de hele code gepost

Ik doe wel een return ja
En, ik weet niet of de function op de goede plek is gesloten

Maar Santhe, kun je misschien nog even kijken naar mijn login script,
en dan vooral naar dit onderdeel:


 //Ophalen en controleren van de input uit de formuliervelden.
$username = cleanQuery($_POST['username']);
$password = cleanQuery($_POST['password']);
//Wachtwoord versleutelen
$password = md5($password);


Want daar geeft hij ook een fout
Welke fout?
Fatal error: Call to undefined function: cleanquery() in /home/www/filmdatabase.awardspace.info/login.php on line 46

line 46 is
de lijn die begint met $username =
Ruben schreef op 26.11.2009 15:28

Als ik functions.inc.php weg laat is het nog geen ramp ofzo
zonder functions.inc.php zit in dit stukje de fout

Dat is toch logisch, nu bestaat die function niet.
nee dat snap ik ..

<?php 


//Functie om SQL-Injection te voorkomen

function cleanQuery($string)
{
  if(get_magic_quotes_gpc())  // voorkomt dubbele backslashes
  {
    $string = stripslashes($string);
  }
  if (phpversion() >= '4.3.0')
  {
    $string = mysql_real_escape_string($string);
  }
  else
  {
    $string = mysql_escape_string($string);
  }
?> 


Je sluit hier de functie niet af dus zet er nog een } bij
dat heb ik wel als je wat naar boven had gescrold bij mijn eerste post heb je dat kunnen zien, alleen Santhe vroeg om de 1e 20 regels.

De fout zit hem in het loginscript
Ruben schreef op 26.11.2009 15:58

De fout zit hem in het loginscript

Dat vraag ik mij af.

Wordt dat loginscript geinclude? (in b.v. index.php)

Edit:
Maak van
include("functions.inc.php");
eens
include_once("functions.inc.php");

Reageren