Meddelande

Minska
No announcement yet.

Inloggning med mysqli och php

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Inloggning med mysqli och php

    Hej!

    Får inte nedanstående php/mysqli kod att jämföra den inmatade användarnamn och lösenord från formulär.
    Att registrera användare funkar men varför funkar inte nedanstående kod? Vet att det är saker som ska till sen som session cookie osv men måste får denna att fungera först.
    Tack på förhand!
    Putte

    <?php
    require '../database/connect.php';

    $conn = mysqli_connect($hn, $un, $pw, $db);
    if(mysqli_connect_errno()){
    echo "Not connected " . mysqli_connect_error();
    }

    if(isset($_POST['submit'])) {
    $userN=mysqli_real_escape_string($conn,$_POST['anvandarid']);
    $passW=mysqli_real_escape_string($conn,$_POST['password']);

    $query = "SELECT * FROM user WHERE username='$userN' AND password='passW'";
    $result = mysqli_query($conn, $query);
    $row = mysqli_fetch_array($result);

    if(!$row){
    echo "Wrong user or password!";
    }
    else{
    echo "Welcome! You will now enter in 4 sec!";
    header("refresh:4; url=../backend/backend.php");
    }
    }
    ?>


  • #2
    Du har glömt ett $ framför passW

    $query = "SELECT * FROM user WHERE username='$userN' AND password='passW'";

    Du har ingen kryptering på lösenordet ? (Inte ok mot användarna tycker jag att spara lösenordet som text, detta då många användare använder samma lösenord på flera sidor och det från din sida lätt kan snos.)
    Minns inte kommandot men kolla in ex. detta DES_ENCRYPT, och istället för att bara skriva ...password='$passW'"; så skriver du ...password=DES_ENCRYPT('$passW')"; (tror det blir något sådant, men lär om det !
    ---------------
    http://fun.axplock.com
    Ett gott skratt förlänger livet

    Kommentera


    • #3
      Har satt dit ett $ nu men får samma tomma sida. Ska granska koden extra noggrannt. Håller med om lösenordet men eftersom det är första gången jag gör detta så vill ja ha så lite felkällor som möjligt. Får jag bara svar från mysql servern att det funkar så kan jag lägga till alla andra funktioner sen. Undrar varför jag inte får det att funka :-(

      Kommentera


      • #4
        Har du aktiverat visning av felmeddelanden på servern? Om inte, gör det.
        Jag skulle tro att den vita sidan beror på att du försöker sätta en header efter att output har skickats. Men som sagt, aktivera felmeddelanden så får du svart på vitt vad det beror på.
        "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain

        Kommentera


        • #5
          Du bör även göra en lösning med prepared statments då din lösning lämnar dig öppen för SQL Injections.
          Med vänlig hälsning

          Clownen

          Kommentera

          Working...
          X