visa ett enskilt värde ur DB??

PHPportalen Forum Index » PHP Mjukstart
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
woppar



Medlem i: 748 dagar

Status: Offline



#741523
Inlägg Skrivet: 2017-03-04 11:03      Ämne: visa ett enskilt värde ur DB?? Citera

Hej alla

Jag är lite grön på detta men hoppas få förståelse för hur allt hänger ihop så snart som möjligt:)

Jag kör PHP med mysqli och funderar lite på hur jag väljer att visa användarnamnet på den som är inloggad på min sida i titel-raden.

Välkommen [användar-namn] till dina sidor

När jag försöker göra en hämtning blir det antingen att alla namn i DB hämtas om och om igen eller så hämtas inget namn.

Jag vill som sagt be DB att visa namnet på den som är inloggad på sidan bara.

Vore tacksam för svar

KOD:
1:
$user = trim(strip_tags($_POST['username']));
2:
            $pass = trim(strip_tags($_POST['password']));
3:
 
4:
            $phash = sha1(sha1($pass."salt")."salt");
5:
 
6:
            $query = "SELECT * FROM tblusers ORDER BY Username WHERE Id='$user'";
7:
            
8:
            //$name = $mysqli->query("SELECT Username FROM tblusers WHERE id = '$user'")->fetch_object()->Username;
9:
            
10:
            $result = mysqli_query($conn, $query);
11:
            
12:
            echo "<h1>Välkommen " . $row['Username'] . " till denna sida</h1>";
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4656 dagar
Från: Tavesta
Status: Offline



#741526
Inlägg Skrivet: 2017-03-04 15:50      Ämne: Citera

Jag skulle gissa att du inte kan hitta användarnamnet i $_POST['username'] i det här läget.
En vanlig lösning är att det finns någonstans i $_SESSION, men det beror på hur din inloggning är konstruerad.

För att undersöka saken kan du köra
PHP:
1:
 echo "Innehållet i POST:\n";
2:
var_dump($_POST);
3:
echo "Innehållet i SESSION:\n";
4:
var_dump($_SESSION); 


Du behöver inget ORDER BY i databasfrågan. När du behöver använda ORDER BY så måste den i normalfallte komma efter WHERE-satsen.

Sedan så är det nog inte så lämpligt att dra $user genom trim() och strip_tags(). I det här fallet är det nog snarare mysqli_real_escape_string() som skall användas.
Att göra så med $pass är ännu värre, eftersom det i värsta fall kan leda till att det går att logga in utan lösenord. Men det är en annan fråga, för den används inte här.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP Mjukstart
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic