Login script werkt alleen in chrome

Status
Niet open voor verdere reacties.

scaru

Nieuwe gebruiker
Lid geworden
15 sep 2012
Berichten
1
Beste lezers

ik heb momenteel een geheel werkend login en register script maar zodra ik probeer in te loggen via een andere browser dan chrome blijft het beeld wit zodra ik op login klik. terwijl ik bij chrome ingelogd wordt en geredirect naar de homepage.

ik test dit trouwens op localhost.

enig idee waarom dit zo is?

dit is het script

PHP:
<?php

session_start(); // Wanneer je met sessies werkt, zet dit dan altijd helemaal boven aan je pagina!

if($_SERVER['REQUEST_METHOD'] == 'POST') { // Is er een formulier ingevuld?
    
    include('mysql.php'); // Ik neem aan dat je hier ook al een verbinding maakt met MySQL?
    
    $tbl_name = 'accounts';
    
    if($_POST['Username'] == '') {
        header('Location: ../index.php'); // Er is geen gebruikersnaam ingevuld, redirect naar startpagina
        exit;
    }
    
    $result = mysql_query("SELECT COUNT(id) AS aantal FROM ". $tbl_name ." WHERE Username='". mysql_real_escape_string($_POST['Username']) ."' and Password='". mysql_real_escape_string($_POST['Password']) ."'");
    if(!$result) {
        echo 'Er is een fout opgetreden! Ahhhh!1';
    }
    
    $row = mysql_fetch_assoc($result);
    if(!$row) {
        echo 'Er is een fout opgetreden! Ahhhh!2';
    }
    
    if($row['aantal'] == 1) {
        $_SESSION['Username'] = $_POST['Username'];
        
        header('Location: ../index.php?p=profile');
    }else{
        echo "t gaat helemaal *** hier";   
    }
}

?>
 
Laatst bewerkt door een moderator:
Ik zie dat de status op "Opgelost" staat maar uit je bericht komt dat niet naar voren.

Zou je de oplossing er bij willen zetten of anders de status weer op "Niet opgelost" willen zetten?

Alvast bedankt :thumb:

Stefan (Tha Devil)
Moderator Helpmij.nl
 
Opmerking op regel 7:

include('mysql.php'); // Ik neem aan dat je hier ook al een verbinding maakt met MySQL?

// In je comment vraag je je af of je daar al verbinding maakt. Dit is helemaal afhankelijk van de inhoud van mysql.php. Maar daar staat waarschijnlijk je database gegevens in en de regel: mysql_connect($host, $user, $pass); en mysql_select_db($db);

Daarnaast gebruik je 'include'. Dit gaat op zich wel werken maar adviseer je toch 'require_once' te gebruiken. Dit omdat als je nog eens grotere scripts gaat maken waarbij je bestand in bestand in bestand gaat laden dan controleert hij eerst of hij niet toevallig al ingeladen is (dus vereis enkele keer) en dat voorkomt errors waarbij variabelen / objecten 'gedupliceerd' of overschreven worden.

Daarnaast nog een opmerking over je $_POST['Username']. Daar zou ik een trim($_POST['username']) van maken. Zoals je nu hebt voldoent een enkele spatie al aan de voorwaarde dat deze geldig is.

Verder zie ik geen password hashing terugkomen? Betekent dit dat je wachtwoorden als 'plain text' opslaat?.


Als laatste kun je na een header() commando ook nog exit; toevoegen. Dit voorkomt ten alle tijde dat er na de header actie verder nog dingen kunnen worden uitgevoerd in het huidige script.

header('location: index.php');
exit;
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan