Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Visa användarnamn för inloggade

Skapad av tok124, 2014-09-08 00:23 i Webbutveckling & Programmering

3 642
18 inlägg
0 poäng
tok124
Visningsbild
P 35 Hjälte 258 inlägg
0
Hej.

Jag skulle vilja veta hur man visar användarnamn för dom som är inloggade på mig hemsida. Jag har googlat en hel del men alla kodar ju php so olika så jag lyckas verkligen inte klura ut hur man gör. Har kollat tusentals länkar... Så en link kommer nog inte vara till mycket nytta för mig... :(

Så här ser min login.php ut
Ett stycke php-kod:
<?php
$dbc = mysqli_connect('127.0.0.1','root','') or
die('could not connect: '. mysqli_connect_error());

mysqli_select_db($dbc, 'mylinks') or die('no db connection');

if(isset($_POST['go'])){

$usr = mysqli_real_escape_string($dbc, htmlentities($_POST['myuser']));
$psw = mysqli_real_escape_string($dbc, htmlentities($_POST['mypass']));
$psw=sha1(strtoupper($usr).':'.strtoupper($psw));

$q = "SELECT * FROM users WHERE name='$usr' AND pass='$psw' ";

$res = mysqli_query($dbc, $q);

if(mysqli_num_rows($res) == 1){

session_start();

$_SESSION['log'] = 'in';

header('location: ../links/?p=private');
} else {
echo 'Sorry, Login Details are wrong. You will be directed to the index page in 2 seconds';
}
}
?>

jag antar att man ska lägga till en ny session och nån variabel nånstans på något sätt. Vet bara inte hur. Har säkert klurat på de här i mer än 2 år nu. Känns som att de börjar bli dax att fråga nu...

Tack på förhand
MVH: Tok124 !

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Guitarman
Visningsbild
P 30 Hjälte 6 576 inlägg
0
$row = mysql_fetch_assoc($res);
$_SESSION['username'] = $row[0];

echo $_SESSION['username'];

Eller är jag helt ute och cyklar?

Hajj på dajj

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Guitarman [Gå till post]:
Fungerade tyvär inte :/ Om de nu inte var så att jag klistrade in de på fel ställe. Men jag klistrade in de precis under session_start();

Guitarman
Visningsbild
P 30 Hjälte 6 576 inlägg
0

Svar till tok124 [Gå till post]:
Vad slänger den ut för nått då? Felmeddelande? Tomt?
Fungerar if-satsen då? "if(mysqli_num_rows($res) == 1){"? Om den inte är sann kommer den inte skriva ut någonting.

Testa skriv typ echo "BAJS"; i den if-satsen.

Hajj på dajj

Guitarman
Visningsbild
P 30 Hjälte 6 576 inlägg
0
Eller om du testar echo mysql_result($res);

Hajj på dajj

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0
Svar till Guitarman [Gå till post]:
Tack, Ska testa det. Men de visade iaf ingenting med de första som du linkade. Men ska testa nu med "if" och se vad som händer



Tillägg av tok124 2014-09-08 18:36

Inget av det funkar tyvär :/ Ser iaf inget felmedelande. De kommer bara inte upp något. Så ingen text visas.

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0
Men $_SESSION['log'] = 'in'; fungerar men den visar ju bara "in" om jag gör en echo för den.
tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0
Någon som vet? Snälla... :/
tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0
Bump
Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Det borde fungera om du ändrar din if-sats, den här.

Ett stycke php-kod:
if(mysqli_num_rows($res) == 1)


Till det här.

Ett stycke php-kod:
if($row = mysqli_fetch_array($res)) {
session_start();
$_SESSION['log'] = 'in';
$_SESSION['username'] = $row['name'];

header('location: ../links/?p=private');
}else { /* resten av koden */ }

Jag är ond!

Bjornez
Visningsbild
P 30 Hjälte 335 inlägg
0

Svar till tok124 [Gå till post]:
Om det är användarnamnet bara för den som är inloggad så vid inloggning så sparar du session med användarnamnet bara enkelt.

Ett stycke php-kod:

//Start session
session_start();

//Du får in med Post användarnamnet dem loggar in med
$user = $_POST['username'];

$_SESSION['user'] = $user;

//Bara att använda echo i vilken annan sida som helst som har session
echo $_SESSION['user'];


Are you looking for a nerd? Then you have to find me

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
Okej tack. Och hur ska jag då skriva själva echo på index scriptet?

Bjornez
Visningsbild
P 30 Hjälte 335 inlägg
0

Svar till tok124 [Gå till post]:
Ett stycke php-kod:

<?php
session_start();
echo $_SESSION['user'];
?>


Are you looking for a nerd? Then you have to find me

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0
Svar till Bjornez [Gå till post]:
Tack så mycket för all hjälp. Nu har de äntligen löst sig. De slutade med att jag bytte ut hela login scriptet haha. Min polare tyckte inte att mitt loginscript var bra så han gav mig ett nytt som funkade perfect ! :D

Väldigt tacksam för hjälpen endå ! :)



Tillägg av tok124 2014-09-12 00:12

Och tack till Tvillingen & Guitarman också !

Bjornez
Visningsbild
P 30 Hjälte 335 inlägg
0

Svar till tok124 [Gå till post]:
Ska ge dig ett tips, börja läsa på om PDO koppling. Det är istället för Mysql koden du använder ovan, Mysql (php koden) håller på att bli avvecklad så den kommer inte finnas kvar länge till :).

Are you looking for a nerd? Then you have to find me

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till Bjornez [Gå till post]:
Tittar du så ser du att det är mysqli, vilket fungerar alldeles utmärkt att köra. Finns prepared statements även där, så ingen större skillnad på det gentemot PDO. Skillnaden är att PDO har stöd för fler databaser :)

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Bjornez [Gå till post]:
Åh fan, Ska ta o kolla upp det. Har aldrig hört talats om det så de e väl värt att kika iaf. Är de typ som en MySQL Console eller? Ska börja googla lite nu på direkten och se vad de är :)

Bjornez
Visningsbild
P 30 Hjälte 335 inlägg
0

Svar till Tvillingen [Gå till post]:
Ah jag såg fel! sorry :P



Svar till tok124 [Gå till post]:
Det är som mysql/mysqli fast ett nytt sätt som är mer optimerat samt med prepared statements.

Are you looking for a nerd? Then you have to find me


Forum » Datorer & IT » Webbutveckling & Programmering » Visa användarnamn för inloggade

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons