/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hjælp.
Fra : Emil Petersen


Dato : 04-03-08 19:37

Hejsa,
Er igang med at lave et blogsystem.
Har lavet et lille login script, hvor at når man logger ind
bliver der registreret to session variabler, myusername og
mypassword.
Når jeg så skal oprette et nyt blog inlæg skal der som standard
stå brugerens navn i input feltet name. Hvordan henter jeg det ud
fra session'et ? brugernavnet og brugerens navn ligger i samme
tabel i en MySQL db, havde tænkte på noget ligende dette men det
virker ikke ?:

function getName() {
   $sess = $_SESSION['myusername'];
   $result = mysql_query("SELECT * FROM bonanza_admin WHERE
username='$sess'") or die(mysql_error());
   $row = mysql_fetch_array($result);
   $row['name'];
}

Og input feltet:

<input name="name" type="text" class="borderdef3" id="name"
value="<?php getName(); ?>">

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johan Holst Nielsen (04-03-2008)
Kommentar
Fra : Johan Holst Nielsen


Dato : 04-03-08 19:42

Emil Petersen wrote:
> Hejsa,
> Er igang med at lave et blogsystem.
> Har lavet et lille login script, hvor at når man logger ind
> bliver der registreret to session variabler, myusername og
> mypassword.
> Når jeg så skal oprette et nyt blog inlæg skal der som standard
> stå brugerens navn i input feltet name. Hvordan henter jeg det ud
> fra session'et ? brugernavnet og brugerens navn ligger i samme
> tabel i en MySQL db, havde tænkte på noget ligende dette men det
> virker ikke ?:
>
> function getName() {
>    $sess = $_SESSION['myusername'];
>    $result = mysql_query("SELECT * FROM bonanza_admin WHERE
> username='$sess'") or die(mysql_error());
>    $row = mysql_fetch_array($result);
>    $row['name'];
> }

Du mangler "return" foran $row['name']

Derudover er der ingen grund til at selecte alt fra tabellen når du kun
skal bruge navn....

function getName() {
$result = mysql_query("SELECT name FROM bonanza_admin WHERE username
= '".$_SESSION['myusername']."'");
$r = mysql_fetch_assoc($result);
return $r['name'];
}

Bør virke - hvis det forsat ikke virker kan mulige fejl være:

1. Du mangler session_start(); i filen et sted?
2. Du selecter fra den forkerte tabel/queryen fejler (løs evt. via
mysql_error og se om den kommer med en fejl)
3. Din sessionsvariabel er tom - prøv var_dump($_SESSION);

Men hvis det er copy paste af din funktion er jeg overbevist om at det
er den manglende return der er problemet :)

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste