Fejl (igen igen)!!!

Tags:    php


Søren

01-10-03 16:15
50 UP udlovet Knæk denne her:

<? session_start();
header(location: test.php)?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>.:: Webster ::.</title>
<meta name="generator" content="TSW WebCoder">
<link rel="stylesheet" type="text/css" href="http://www.webster.frac.dk/style.css">
</head>

<body>
<? include ("toptekst.php") ; ?>
<? include ("ground-code.php") ; ?>
<div style="background-color: #ffffff; margin-top: 160px; margin-left: 110px; font-family: verdana; font-size: 0.35cm; width: 421px; height: 285px; border: 1px solid #cccccc; position: absolute;"><?
include("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='$bruger' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red">Forkert brugernavn og/ell. Kodeord</font><br>
Prøv igen eller opret dig som medlem.
</center>
<?
} else {
while($r = mysql_fetch_array($query)) {
$s_bruger = $r["bruger"];
$s_password = $r["password"];
}
session_register ("s_bruger");
session_register ("s_password");

}
?></div>

Og test.php:

<html>
<body>
<html>
<meta name="Generator" content="Stone's WebWriter 3.5">
<head></head>
<body>
<?
// Tjekker om brugeren er logget ind
if ($s_bruger && $s_password) {
?>
Du er nu logget ind og du kan nu benytte dig af alle Websters gratis ting!
<?
// Hvis brugeren ikke er logget ind
} else {
?>
Du er ikke logget ind!
<?
}
?>

</body>
</html>

Hver gang jeg logger ind med det rigtige password kommer beskeden: Du er ikke logget!
Hvad skal jeg gøre?



Søren :)
www.free-tech.tk



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
I denne kode:
<? session_start();
header(location: test.php) ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>.:: Webster ::.</title>
<meta name="generator" content="TSW WebCoder">
<link rel="stylesheet" type="text/css" href="http://www.webster.frac.dk/style.css">
</head>

<body>
<? include ("toptekst.php") ; ?>
<? include ("ground-code.php") ; ?>
<div style="background-color: #ffffff; margin-top: 160px; margin-left: 110px; font-family: verdana; font-size: 0.35cm; width: 421px; height: 285px; border: 1px solid #cccccc; position: absolute;"><?
include("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='$bruger' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red">Forkert brugernavn og/ell. Kodeord</font>
Prøv igen eller opret dig som medlem.
</center>
<?
} else {
while($r = mysql_fetch_array($query)) {
$_SESSION["s_bruger"] = $r["bruger"];
$_SESSION["s_password"] = $r["password"];
}

}
?></div>
</body>
</html>

Fejl:
Parse error: parse error in /var/www/hotels/1go/freetech/html/godkend.php on line 2


Søren :)
www.free-tech.tk

Ret :
<? session_start();
header(location: test.php) ?>

til :
<? session_start();
header("location: test.php"); ?>

/Michael


Så står der bare: Du er ikke logget ind! Og ja, jeg har tjekket mySQL for oplysningerne om min bruger og den er rigtig!
Hvad skal jeg gøre?
Søren :)
www.free-tech.tk

Hej Søren,

Du skal først og fremmest skal du ændre i din måde at hente brugernavn og password resultatet:

// Der er ingen grund til at bruge while da man må regne med at der kun findes 1 bruger med
// det specifikke login og password!
$r = mysql_fetch_array($query);
if (count($r) > 0)
{
$_SESSION["s_bruger"] = $r["brugernavn"]; // <--- Her havde du kun skrevet $r["bruger"];
$_SESSION["s_password"] = $r["password"];
}

En anden ting som du evt. skulle prøve at checke er dine variabler $bruger (ER DU SIKKER PÅ DER IKKE SKULLE STÅ $brugernavn??) og $password....

Hvor kommer de fra???
- Er det noget som kommer via en post eller get, så brug $_REQUEST["brugernavn"] og $_REQUEST["password"] i stedet for.

Eks.
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='".$_REQUEST["brugernavn"]."' AND password='".$_REQUEST["password"]."'");


Jeg har lavet en php side som viser hvordan du kan få en login-funktion til at fungere (filen skal hedde login.php):
Fold kodeboks ind/udKode 


Du kan evt. gå videre med din login ud fra den ovenstående kode.
En god idé ville være og ligge funktionerne i en fil for sig selv, så du kan inkludere dem på dine andre sider.

/Michael.




Prøv at erstatte:


while($r = mysql_fetch_array($query)) {
$s_bruger = $r["bruger"];
$s_password = $r["password"];
}
session_register ("s_bruger");
session_register ("s_password");



Med:

while($r = mysql_fetch_array($query)) {
$_SESSION["s_bruger"] = $r["bruger"];
$_SESSION["s_password"] = $r["password"];
}


--
Ronni Egeriis - squirrel development: http://sqdev.dk/


[Redigeret d. 09/10-03 17:25:18 af Ronni Egeriis]



Så står der bare: Du er ikke logget ind! Og ja, jeg har tjekket mySQL for oplysningerne om min bruger og den er rigtig!
Hvad skal jeg gøre?
Søren :)
www.free-tech.tk

prøv
Fold kodeboks ind/udKode 



[Redigeret d. 14/10-03 11:40:30 af Jesper Kristensen]



I denne kode:
<? session_start();
header(location: test.php) ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>.:: Webster ::.</title>
<meta name="generator" content="TSW WebCoder">
<link rel="stylesheet" type="text/css" href="http://www.webster.frac.dk/style.css">
</head>

<body>
<? include ("toptekst.php") ; ?>
<? include ("ground-code.php") ; ?>
<div style="background-color: #ffffff; margin-top: 160px; margin-left: 110px; font-family: verdana; font-size: 0.35cm; width: 421px; height: 285px; border: 1px solid #cccccc; position: absolute;"><?
include("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='$bruger' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red">Forkert brugernavn og/ell. Kodeord</font><br>
Prøv igen eller opret dig som medlem.
</center>
<?
} else {
while($r = mysql_fetch_array($query)) {
$_SESSION["s_bruger"] = $r["bruger"];
$_SESSION["s_password"] = $r["password"];
}

}
?></div>
</body>
</html>

Fejl:
Parse error: parse error in /var/www/hotels/1go/freetech/html/godkend.php on line 2


Søren :)
www.free-tech.tk



I denne kode:
<? session_start();
header(location: test.php) ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>.:: Webster ::.</title>
<meta name="generator" content="TSW WebCoder">
<link rel="stylesheet" type="text/css" href="http://www.webster.frac.dk/style.css">
</head>

<body>
<? include ("toptekst.php") ; ?>
<? include ("ground-code.php") ; ?>
<div style="background-color: #ffffff; margin-top: 160px; margin-left: 110px; font-family: verdana; font-size: 0.35cm; width: 421px; height: 285px; border: 1px solid #cccccc; position: absolute;"><?
include("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='$bruger' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red">Forkert brugernavn og/ell. Kodeord</font>
Prøv igen eller opret dig som medlem.
</center>
<?
} else {
while($r = mysql_fetch_array($query)) {
$_SESSION["s_bruger"] = $r["bruger"];
$_SESSION["s_password"] = $r["password"];
}

}
?></div>
</body>
</html>

Fejl:
Parse error: parse error in /var/www/hotels/1go/freetech/html/godkend.php on line 2


Søren :)
www.free-tech.tk


Ret :
<? session_start();
header(location: test.php) ?>

til :
<? session_start();
header("location: test.php"); ?>

/Michael




I denne kode:
<? session_start();
header(location: test.php) ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>.:: Webster ::.</title>
<meta name="generator" content="TSW WebCoder">
<link rel="stylesheet" type="text/css" href="http://www.webster.frac.dk/style.css">
</head>

<body>
<? include ("toptekst.php") ; ?>
<? include ("ground-code.php") ; ?>
<div style="background-color: #ffffff; margin-top: 160px; margin-left: 110px; font-family: verdana; font-size: 0.35cm; width: 421px; height: 285px; border: 1px solid #cccccc; position: absolute;"><?
include("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='$bruger' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red">Forkert brugernavn og/ell. Kodeord</font>
Prøv igen eller opret dig som medlem.
</center>
<?
} else {
while($r = mysql_fetch_array($query)) {
$_SESSION["s_bruger"] = $r["bruger"];
$_SESSION["s_password"] = $r["password"];
}

}
?></div>
</body>
</html>

Fejl:
Parse error: parse error in /var/www/hotels/1go/freetech/html/godkend.php on line 2


Søren :)
www.free-tech.tk

Ret :
<? session_start();
header(location: test.php) ?>

til :
<? session_start();
header("location: test.php"); ?>

/Michael


Så står der bare: Du er ikke logget ind! Og ja, jeg har tjekket mySQL for oplysningerne om min bruger og den er rigtig!
Hvad skal jeg gøre?
Søren :)
www.free-tech.tk



t