Avatar billede tlunde Nybegynder
09. oktober 2008 - 10:56 Der er 11 kommentarer og
1 løsning

Kan ikke få min form og location kode til at virke?

Hej,
Jeg har lige flyttet min hjemmeside www.marieogthomas.dk til one.com, men der er noget meget simpel PHP kode, som jeg ikke lige kan få til at virke. Kan i måske hjælpe mig??

Det er denne loginform:
if ($action == "") {
    echo"
    <form action='".$_SERVER['PHP_SELF']."?action=login_check' method='post' style='margin:0px;'>
    <div class='contentheading'>Administrator login</div><br />
    <b>Brugernavn:</b><br />
    <input type='text' name='user'><br /><br />
    <b>Password:</b><br />
    <input type='password' name='pass'><br /><br />
    <input type='submit' value='Login'>
    </form>
    ";
}

Den skal ramme denne form:
if ($action == "login_check") {
    session_register("ses_login");
    $ses_login = "true";
   
    $sql = "INSERT INTO login_log (dato, ip) VALUES ('".time()."', '".$_SERVER['REMOTE_ADDR']."')";
    mysql_db_query($dbName, $sql);
   
    header("location: ../index.php");
}

Det gør den sådan set også, men der sker bare INTET. Sætter ikke noget i databasen, og så header den ikke tilbage til min index.php.

Hvad er det der er galt her?
Avatar billede michael_stim Ekspert
09. oktober 2008 - 10:58 #1
if ($_GET['action'] == "")
Avatar billede michael_stim Ekspert
09. oktober 2008 - 10:59 #2
Og ligeledes nede på den anden $action
Avatar billede tlunde Nybegynder
09. oktober 2008 - 11:06 #3
Tak for det, havde ikke lige opdaget at jeg ikke havde en: $action = $_GET['action']; i min top.php fil :-)

Men...hvorfor virker denne ikke: header("location: /index.php"); ??
Når jeg logger ind, så bliver den bare i $action == "login_check" og smider mig ikke tilbage til forsiden af min hjemmeside?
Avatar billede michael_stim Ekspert
09. oktober 2008 - 11:10 #4
header("location: ../index.php");
Ligger index i en mappe "tilbage"?

header("location: index.php");
Avatar billede tlunde Nybegynder
09. oktober 2008 - 11:14 #5
Admin filen hvor jeg logger ind ligger på niveau med index.php, så ikke en mappe tilbage.

Har prøvet disse også:
header("location: ".$_SERVER['PHP_SELF']."");
header("location: ".$_SERVER['HTTP_REFERER']);

Og de virker heller ikke...
Hvordan kan det være?
Avatar billede michael_stim Ekspert
09. oktober 2008 - 11:17 #6
header("location: index.php");
Avatar billede tlunde Nybegynder
09. oktober 2008 - 11:19 #7
Den har jeg også prøvet...
Mit login check ser lige nu sådan her ud:
if ($action == "login_check") {
    if ($_POST['user'] == '***' && $_POST['pass'] == '***') {
        session_register("ses_login");
        $ses_login = "true";
       
        $sql = "INSERT INTO login_log (dato, ip) VALUES ('".time()."', '".$_SERVER['REMOTE_ADDR']."')";
        mysql_db_query($dbName, $sql);
       
        header("location: index.php");
    }
    else {
        header("location: ".$_SERVER['HTTP_REFERER']);
    }
}

Og hvis man er logget korrekt ind, så skulle man gerne blive smidt til forsiden af hjemmesiden, og hvis login fejler, så skulle man gerne blive smidt tilbage til loginsiden, men ingen af de to headers virker...
Avatar billede tlunde Nybegynder
09. oktober 2008 - 11:23 #8
Har fundet fejlen...
Manglede ob_start i top.php :)

Smider du et svar?
Avatar billede michael_stim Ekspert
09. oktober 2008 - 11:24 #9
if ($action == "login_check") { //Denne er ikke rettet til $_GET['action']

Bliver der lagt noget i basen? Med andre ord, kommer du ind i dine iffer?
Avatar billede michael_stim Ekspert
09. oktober 2008 - 11:25 #10
ob_start er ikke en god en at have.
Samler ikke på point. Tag dem selv ;o)
Avatar billede tlunde Nybegynder
09. oktober 2008 - 11:26 #11
okay, men tak for hjælpen alligevel :)
Avatar billede tlunde Nybegynder
09. oktober 2008 - 11:26 #12
Svar
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