sker intet ved køring af login-funktion?
Hej eksperter!Jeg har et problem med et login jeg har lavet, og jeg kan ikke lige selv gennemskue hvad fejlen er...
Problemet er at der ikke sker noget (man bliver ikke logget ind) :S
Login-funktionen ser således ud:
-----------------------------------------------------------------
<?
// session er startet, og der er åbnet forbindelse til databasen i det dokument der inkludere denne funktion (config.php)
function kunde_login($indid,$indpass) {
global $sys; // diverse informationer
global $phptime; // = time()
global $ip;
$foresp = mysql_query("SELECT * FROM webshop_kunde WHERE shop = '$sys[shopid]' AND id = '$indid'") or die(mysql_error());
while($row = mysql_fetch_array($foresp)) {
$id = $row["id"];
$mail = $row["mail"];
$pass = $row["pass"];
$fornavn = $row["fornavn"];
$efternavn = $row["efternavn"];
$adresse = $row["adresse"];
$postnr = $row["postnr"];
$postby = $row["postby"];
$tlf = $row["tlf"];
$mobil = $row["mobil"];
$opret = $row["opret_time"];
$last = $row["last_time"];
}
if (empty($indid) || empty($indpass)) {
$fejl = "Begge felter skal udfyldes!";
return $fejl;
}
elseif ($pass != $indpass) {
$fejl = "Passwordet var ikke rigtigt!";
return $fejl;
}
elseif (empty($id)) {
$fejl = "Kundekontoen fandtes ikke!";
return $fejl;
}
else {
$kunde[id] = $id;
$kunde[mail] = $mail;
$kunde[pass] = $pass;
$kunde[fornavn] = $fornavn;
$kunde[efternavn] = $efternavn;
$kunde[adresse] = $adresse;
$kunde[postnr] = $postnr;
$kunde[postby] = $postby;
$kunde[tlf] = $tlf;
$kunde[mobil] = $mobil;
$kunde[opret] = $opret;
$kunde[last] = $last;
mysql_query("update webshop_kunde set last_ip = '$ip', last_time = '$phptime' WHERE shop = '$sys[shopid]' AND id = '$id'") or die(mysql_error());
session_register(kunde);
return true;
}
}
?>
Siden der skal logge brugeren ind ser sådan her ud
-----------------------------------------------------------------
<?
include("../config.php"); // inkludere filen som starter session og connecter til databasen (denne fil som includerer funktionen kunde_login(); ovenover!
if (isset($_POST[kunde])) {
if (!is_numeric($_POST[kunde])) {
$foresp = mysql_query("SELECT * FROM webshop_kunde WHERE shop = '$sys[shopid]' AND mail = '$_POST[kunde]'") or die(mysql_error());
while($row = mysql_fetch_array($foresp)) {
$kundeid = $row["id"];
}
}
else {
$kundeid = $_POST[kunde];
}
if($login = kunde_login($kundeid,$_POST[pass])) {
header("location:" . $_POST[ref] . "?kunde=" . $kundeid);
exit;
}
else {
$fejl = $login;
}
}
htmlstart("Kundelogin","Kundelogin");
if ($fejl) {
echo"
<b>Der opstod en fejl ved login:</b><br>
$fejl<br>
<br>
";
}
login_bruger_form("","350px","Login");
htmlslut();
?>
Funktionen login_bruger_form som laver login-formen...
-----------------------------------------------------------------
function login_bruger_form($ref = "/kunde/index.php",$size = "100%",$knap = "Login") {
if (isset($_POST[ref])) $ref = $_POST[ref];
echo"
<form name='brugerlogin' method='post' action='/kunde/login.php'>
<input type='hidden' name='ref' value='$ref'>
Kundenr. eller mail-adresse<br>
<input type='text' name='kunde' class='form_boks' style='width:$size'><br>
<br>
Password<br>
<input type='password' name='pass' class='form_boks' style='width:$size'><br>
<br>
<input type='submit' name='submit' class='form_knap' value='$knap'>
</form>
";
}
Håber i kan se hoved og hale i det selvom der er så mange dele, grunden til den er lavet i funktionerne, er så det er muligt at logge ind fra forskellige sider :)
På forhånd mange tak!
