Avatar billede homsabu Nybegynder
15. december 2003 - 13:39 Der er 16 kommentarer og
1 løsning

Hjælp til fejlsøgning på script

Hej Eksperter!!!

Er der en der vil melde sig til at hjælpe mig i minutter...?!?!

Jeg har har forsøgt at lave et login script - i php vha. en mysql database...
Jeg er sindsyg dårlig til PHP og derfor står kildekoden også meget rodet og uoverskueligt...
Er der en af jer som jeg må mail'e mine 4 php filer til så i lige kan kigge dem igennem og se om i kan finde fejlen?!?

Fejlen der skal findes skriver jeg med i den mail som jeg sender til dig/jer...

Please help me out!

/Casper
Avatar billede Slettet bruger
15. december 2003 - 13:42 #1
hvorfor ikke poste det her?
Avatar billede homsabu Nybegynder
15. december 2003 - 13:46 #2
fordi det er 4 forskellige filer det står i.... men hvis du mener at det kan gennemskue hvis det blive smidt ind her, så okay... så kan jeg da sagtens gøre det... jeg tænkte bare at det at mail'e var nemmere
Avatar billede nikolajdu Nybegynder
15. december 2003 - 13:47 #3
homsabu - Løsninger hvortil der gives eksperten point skal være tilgængelige for alle og derfor postes på eksperten - Bliver det ikke det er det et brud på reglerne og medfører i værste tilfælde en deaktivering af din bruger.

/Nikolaj /co-admin
Avatar billede homsabu Nybegynder
15. december 2003 - 13:47 #4
okay... så poster jeg det ind herunder! :-)... det var bare for at gøre det nemmere... 2 sec, så er det posted!
Avatar billede nikolajdu Nybegynder
15. december 2003 - 13:48 #5
oki doki.
Avatar billede homsabu Nybegynder
15. december 2003 - 13:49 #6
Fejlen er at når man åbner index.php uden at være logget ind eller noget... Så er det vilkårligt om der står "Ja! Du er logget ind" eller "Du er ikke logged ind! Gør det på nedenstående link!" ...
Så der er altså et eller andet galt med verificeringen af om man er logget ind!... Jeg kan sgu bare ikke finde fejlen!
Avatar billede homsabu Nybegynder
15. december 2003 - 13:51 #7
her er koden...

INDEX.PHP
<?
include "testlogin.php";
?>

<?
if ($loggedin == ja) {
echo "JA! Du er logged ind!";
}
else {
echo "Du er ikke logged ind! Gør det på nedenstående link!";
}
?>

<br><br>
<p><a href="login.php">Click here for login</a></p><br>

?>
-------------------------------------------------------------
LOGIN.PHP

<?
$ip = getenv("REMOTE_ADDR");
if ($password && $username) {
$connection = mysql_connect("localhost","*****","******");
mysql_select_db("******", $connection);
$login = mysql_query("SELECT * FROM login WHERE username='$username'");
$logger=mysql_fetch_array($login);
if ($logger[password] == $password) {
mysql_query("UPDATE login SET ip = '$ip' WHERE username = '$username'")or die(mysql_error());
include "updatetid.php";
header("Location: index.php");
}
if ($logger[password] != $password) {
echo "<center>Username does not exist <b>OR</b> wrong password!";
}
}
?>
<div align="center">
<center>
<table border="0" bordercolor="#111111" style="border-collapse: collapse" cellpadding="0" cellspacing="0">
<tr>
<td height="35" valign="top">
<p align="center">
<font size="1">Type in the username you signed up with...</td><br>
<br>
&nbsp;</font><form action="login.php" method="post">

<table border="0" align="center">
<tr>
<td>Username:</font></td><td>
<input type="text" name="username" size="20"></td>
</tr>
<tr><td>Password:</font></td><td>
<input type="password" name="password" size="20"></td></tr>
<tr>
<td class="tekst"></td><td>
<input type="submit" name="skriv" value="Submit"></td>
</tr>
</table></table></div>
-------------------------------------------------------------
TESTLOGIN.PHP

<?
$nutid = date("U");
$ip = getenv("REMOTE_ADDR");
$connection = mysql_connect("localhost","*****","*******");
mysql_select_db("**********", $connection);
$login = mysql_query("SELECT * FROM login WHERE ip = '$ip'");
$logger=mysql_fetch_array($login);
$sidenlogin = $nutid - $logger[logintid];
$tilbage = 600 - $sidenlogin;
if($tilbage < 600) {
$loggedin = "ja";
include "updatetid.php";
}
if($sidenlogin > 600) {
header("Location: login.php");
}
?>
-------------------------------------------------------------
UPDATETID.PHP
<?
$ip = getenv("REMOTE_ADDR");
$logintid = date("U");
$connection = mysql_connect("localhost","*******","***************");
mysql_select_db("**********", $connection);
mysql_query("UPDATE login SET logintid = '$logintid' WHERE ip = '$ip'")or die(mysql_error());
?>
Avatar billede nikolajdu Nybegynder
15. december 2003 - 13:52 #8
($loggedin == "ja")
Avatar billede nikolajdu Nybegynder
15. december 2003 - 13:53 #9
Altså :

if ($loggedin == "ja") {
echo "JA! Du er logged ind!";
}
Avatar billede homsabu Nybegynder
15. december 2003 - 13:57 #10
rettet!.... men det er stadig fifty/fifty om den viser den ene eller den anden meddelelse... UANSET om man er logged ind eller ej!
Avatar billede Slettet bruger
15. december 2003 - 14:24 #11
Du har dette:

$tilbage = 600 - $sidenlogin;
if($tilbage < 600) {
$loggedin = "ja";
include "updatetid.php";
}
if($sidenlogin > 600) {
header("Location: login.php");
}

Når $tilbage er 600 - (et tal), hvordan skulle $tilbage så nogensinde kunne være andet end < 600?

Prøv at rette til:


if($sidenlogin < 600) {
$loggedin = "ja";
include "updatetid.php";
}
if($sidenlogin > 600) {
header("Location: login.php");
}
Avatar billede detox Nybegynder
15. december 2003 - 14:25 #12
sandbox -> Lige mine ord ;o)
Avatar billede homsabu Nybegynder
15. december 2003 - 14:30 #13
ahh... ja det kan i jo have ret i!!! :-)... ved ikke lige hvad jeg har tænkt dér! :-)

jeg har testet det også... PROBLEM SOLVED!... MANGE TAK FOR HJÆLPEN DRENGE!!!
Avatar billede Slettet bruger
15. december 2003 - 14:38 #14
Så skal der vel fordeles point?

Her er et svar fra mig, men jeg vil tro, at nikolajdu også skal have lidt point.
Avatar billede detox Nybegynder
15. december 2003 - 14:42 #15
Måske skulle du:

if($sidenlogin <= 600) {
$loggedin = "ja";
include "updatetid.php";
}
if($sidenlogin > 600) {
header("Location: login.php");
}

For det tilfældes skyld at $sidenlogin skulle være præcis 600.
Avatar billede Slettet bruger
15. december 2003 - 14:44 #16
eller bare:

if($sidenlogin < 600) {
$loggedin = "ja";
include "updatetid.php";
} else {
header("Location: login.php");
}
Avatar billede detox Nybegynder
15. december 2003 - 14:48 #17
sandbox -> Klart ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester