Meddelande

Minska
No announcement yet.

Hämta användarnamnet från session?

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

  • Hämta användarnamnet från session?

    Hejsan. Är inte så super haj på PHP men använder ett login script ifrån GitHub. Dock så kommer jag inte på hur jag ska hämta ut användarnamnet.

    Skriver jag t.ex.
    PHP-kod:
    <?php echo "." $_SESSION["username"] . "."?>
    Då skriver den ut .myusername. istället för användarnamnet.

    Dock så antar jag att det är denna koden som bestämmer att användarnamnet ska visas som .myusername. i sesssionen.
    PHP-kod:
    <?php
    ob_start
    ();
    session_start();
    include_once 
    'config.php';
    require 
    'scripts/class.loginscript.php';

    // Define $myusername and $mypassword
    $myusername $_POST['myusername'];
    $mypassword $_POST['mypassword'];

    // To protect MySQL injection
    $myusername stripslashes($myusername);
    $mypassword stripslashes($mypassword);

    // Connect to server and select databse.
    $login = new loginForm;
    $response $login->checkLogin($tbl_name$myusername$mypassword);

        if (
    $response == 'true'){
            echo 
    "true";
            
    $_SESSION['username'] = 'myusername';
            
    $_SESSION['password'] = 'mypassword';
        }
        else {

            echo 
    $response;

        }

    ob_end_flush();
    ?>
    Ni hittar hela scriptet här https://github.com/therecluse26/PHP-Login
    Lögnen är vackrare än sanningen, men framförallt roligare! Sökmotoroptimering

  • #2
    PHP-kod:
    $_SESSION['username'] = 'myusername'
    Där sätts värdet på sessionsvariabeln till myusername. Ändra detta till
    PHP-kod:
    $_SESSION['username'] = $myusername
    Några synpunkter:
    • Lösenordet ser jag ingen anledning att spara i en sessionsvariabel.
    • Jag tror att metoden checkLogin returnerar ett booleskt värde (true/false) istället för en sträng ('true'/'false'). Du bör då också använda booleska värden i din jämförelse för att PHP ska slippa göra en typomvandling.


    Och till sist:
    Om du skriver
    PHP-kod:
    <?php echo "." $_SESSION["username"] . "."?>
    så kommer det att skrivas ut en punkt före och efter användarnamnet, men det kanske du vill?
    "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain

    Kommentera


    • #3
      Som sagt är inte så duktig på PHP. Ändrade koden där jag vill hämta sessionen till

      PHP-kod:
      <?php echo  $_SESSION["username"]  ;?>
      Så nu sliper jag punkterna.

      Men den skriver fortfarande ut myusername ändrade ändå koden i checklogin.php som du skrev.
      Lögnen är vackrare än sanningen, men framförallt roligare! Sökmotoroptimering

      Kommentera


      • #4
        Hmm... tittade igenom koden på github som du länkade till. Metoden returnerar faktiskt strängen 'true', så det ska inte vara true som jag skrev tidigare. Men för mig är det ett väldigt konstigt sätt att koda

        Prova att ändra tillbaka till
        PHP-kod:
         if ($response == 'true'){ 
                echo 
        "true"
                
        $_SESSION['username'] = $myusername
                
        $_SESSION['password'] = 'mypassword'
            } 
        "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain

        Kommentera


        • #5
          Toppen! Tack för hjälpen
          Lögnen är vackrare än sanningen, men framförallt roligare! Sökmotoroptimering

          Kommentera

          Working...
          X