Avatar billede vejgaard82 Nybegynder
10. marts 2008 - 20:51 Der er 17 kommentarer og
1 løsning

session problem

<?php
session_start();
$query = mysql_query("select * from crew") or die(mysql_error()); // Tjekke i database for informationer
$row = mysql_fetch_assoc($query)

$_SESSION['nick'] = $row['nick'];
echo $_SESSION['nick'];
?>
Avatar billede nielle Nybegynder
10. marts 2008 - 20:55 #1
... og problemet består i?
Avatar billede vejgaard82 Nybegynder
10. marts 2008 - 21:05 #2
Den ikke gider smide echo ud
Avatar billede vejgaard82 Nybegynder
10. marts 2008 - 21:05 #3
det er lige som den ikker fanger
$_SESSION['nick'] = $row['nick'];
Avatar billede nielle Nybegynder
10. marts 2008 - 21:14 #4
Prøv lige med:

echo "DEBUG: [" . $_SESSION['nick'] . "]";
Avatar billede glh2 Nybegynder
10. marts 2008 - 21:16 #5
Hvis php ikke er sat op til at vise fejl, så kan fejlen også skyldes din linje med fetch_assoc
Avatar billede nielle Nybegynder
10. marts 2008 - 21:17 #6
Ahh, du mener den linjer hvor der mangler et ; ?
Avatar billede vejgaard82 Nybegynder
10. marts 2008 - 21:23 #7
ja det hjalp, men mit problem er at den kun hente en linje = id 1, men den skal hente det hele.
Avatar billede nielle Nybegynder
10. marts 2008 - 21:27 #8
Den henter den første fordi at du kun køre mysql_fetch_assoc() en gang ... hvis du skal have resten med, skal det ind i en while-løkke. Og så skal du selvfølgelig også have mere end et felt til at gemme dem i.
Avatar billede vejgaard82 Nybegynder
10. marts 2008 - 21:31 #9
<?php
session_start();
$query = mysql_query("select * from crew") or die(mysql_error()); // Tjekke i database for informationer
while ($row = mysql_fetch_assoc($query)){

$_SESSION['nick'] = $row['nick'];
}
echo $_SESSION['nick'];
?>

burde det ikke være riligt?
Avatar billede jokkejensen Novice
10. marts 2008 - 21:36 #10
du vil altid få det samme - eller det sidste i udtrækket :)
Avatar billede nielle Nybegynder
10. marts 2008 - 21:36 #11
Nej, for så overskriver du hele tiden den forrige værdi ved hvert gennemløb af løkken-
Avatar billede vejgaard82 Nybegynder
10. marts 2008 - 21:38 #12
hmmm okay kan i give mig nogle hint så jeg lige gennemskuer det?
Avatar billede nielle Nybegynder
10. marts 2008 - 21:57 #13
For det første kan jeg ikke lige se pointen i at trække hele tabellens indhold ud og så gemme den i hukommelsen - i en session. Det belaster da bare webserveren.

Dernæst skal du gemme det i et array, hvis du ønsker at gøre det på den måde:

<?php

session_start();
$query = mysql_query("select * from crew") or die(mysql_error()); // Tjekke i database for informationer

$nick = array();

while ($row = mysql_fetch_assoc($query)){
    $nick[] = $row['nick'];
}

$_SESSION['nick'] = $nick;

print_r($_SESSION['nick']);
?>
Avatar billede vejgaard82 Nybegynder
11. marts 2008 - 10:11 #14
Hvad kan man gøre hvis det ikke skal være session?
Jeg skal bruge det til at se om nogen har en bestemt level for så skal de stå et bestemt sted.
Ansvarlige<br>
<?php
if($_SESSION['level'] == 1 {
echo $row['nick']
}
?>
<br />
CS 1.6 Admins:<br>
<?php
if($_SESSION['level'] == 2 {
echo $row['nick']
}
?>

Derfor jeg ville bruge session
Avatar billede vejgaard82 Nybegynder
11. marts 2008 - 10:12 #15
Ansvarlige<br>
<?php
if($_SESSION['level'] == 1) {
echo $row['nick']
}
?>
<br />
CS 1.6 Admins:<br>
<?php
if($_SESSION['level'] == 2) {
echo $row['nick']
}
?>
Avatar billede nielle Nybegynder
11. marts 2008 - 18:25 #16
Umiddelbart gør din kode det samme i begge tilfælde?

Der er ingen grund til at have samtlige rækker far en database i hver session. Det man bør bruge en session til er at holde styr på de data som gælder for den aktuelle bruger - altså noget som svarer til en enkelt af de mange rækker.
Avatar billede vejgaard82 Nybegynder
11. marts 2008 - 19:27 #17
Okay har løst det på en anden måde tak for hjælpen alle.
Avatar billede vejgaard82 Nybegynder
20. marts 2008 - 23:40 #18
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester