Avatar billede hoplaringen Nybegynder
14. februar 2010 - 22:55 Der er 5 kommentarer og
1 løsning

Login script driller i IE

Hej Eksperter.

Jeg har længe brugt det nedenstående script til at password beskytte en del af min hjemmesiden.
Pludselig oplever folk som bruger internet explorer at de ikke kan logge ind.  Jeg og mange andre logger fint ind fra safari og firefox.
Er der nogen som kan se hvad problemet er:

<?php
                                $host="localhost"; // Host name
                                $username="user"; // Mysql username
                                $password="pass"; // Mysql password
                                $db_name="dv"; // Database name
                                $tbl_name="table"; // Table name
                               
                                // Connect to server and select databse.
                                mysql_connect("$host", "$username", "$password")or die("cannot connect");
                                mysql_select_db("$db_name")or die("cannot select DB");
                               
                                // username and password sent from signup form
                                $myusername=$_POST['myusername'];
                                $mypassword=$_POST['mypassword'];
                               
                                $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
                                $result=mysql_query($sql);
                               
                                $row = mysql_fetch_row($result);
                                $gotoURL=$row[3];
                           
                               
                                // Mysql_num_row is counting table row
                                $count=mysql_num_rows($result);
                                // If result matched $myusername and $mypassword, table row must be 1 row
                               
                                if($count==1){
                                // Register $myusername, $mypassword and redirect to file "login_success.php"
                                session_register("myusername");
                                session_register("mypassword");
                                header("location:".$gotoURL);
                                }
                                else {
                                echo "Forkert brugernavn eller password";
                                }
                                ?>

På forhånd tak.
Avatar billede hoplaringen Nybegynder
14. februar 2010 - 22:57 #1
Hov ja.

Dette bruges til at afvise ikke godkendte bruger fra siden.
<?
session_start();
if(!session_is_registered(myusername)){
header("location:site.php");
}
?>
Avatar billede preppydude Nybegynder
14. februar 2010 - 23:08 #2
Kan ikke rigtigt se nogle fejl. Prøv og se om det her gør nogen forskel:

<?php
if (mysql_connect("localhost", "user", "pass") && mysql_select_db("dv")) {
  $username = addslashes($_POST['myusername']);
  $password = addslashes($_POST['mypassword']);
 
  $query = mysql_query("SELECT * FROM table WHERE username='$username' AND password='$password'");
  if ($query && mysql_num_rows($query)>0) {
    $row = mysql_fetch_row($query);
    header("Location: $row[3]");
    mysql_free_result($query);
  } else if (mysql_num_rows($query)==0)
    echo("Forkert brugernavn eller kodeord.");
  else
    die("Failed to query the mySQL table (".mysql_error().")");
} else die("Failed to connect to the mySQL server (".mysql_error().")");
?>
Avatar billede preppydude Nybegynder
14. februar 2010 - 23:11 #3
Mener ikke man plejer at bruge session_start() uden at tjekke om der allerede findes en session for den bruger. Og hvad er "myusername"? En global definition eller?

[div][pre]<?php
if (!session_id()) session_start();
?>
Avatar billede hoplaringen Nybegynder
01. marts 2010 - 10:03 #4
Hej Preppydude.

Jeg er ikke nogen php haj ;-)
Jeg har prøvet med
<?php
if (!session_id()) session_start();
?>
Hvilket resultere i at der er fri adgang til siden for alle.
Så det droppede jeg igen.
Avatar billede hoplaringen Nybegynder
01. marts 2010 - 10:04 #5
Hej Prerrydude.

Jeg er ikke den vilde PHP haj ;-) og har ikke fået:
<?php
if (!session_id()) session_start();
?>
til at virke.
Det giver alle adgang, hvilket ikke er ønsket.
Avatar billede preppydude Nybegynder
01. marts 2010 - 23:47 #6
Giver den alle adgang ligefrem? Det har jeg godt nok aldrig oplevet. Underligt...
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