Avatar billede Thomsen11 Nybegynder
04. februar 2010 - 09:13 Der er 1 kommentar og
1 løsning

Hente data fra database

Hej eksperter.
Jeg har længe haft et problem. Jeg har en hjemmeside hvor brugere logger ind via sessions, og det fungerer fint. Men jeg har så en side som kaldes deres profilside hvor der printes data fra sql database hvor deres oplysninger er lagret. Problemet med denne side er at den er ustabil. Jeg ved ikke hvorfor men nogle gange viser den oplysningerne og andre gange gør den ikke.
Problemet ligger ikke I at brugerne ikke er logget ind for jeg ved fra loginsystemet at de er logget ind i sessions.
Profilsiden som jeg søger hjælp til skal kunne printe data fra den specifikke bruger så han kan se udløb af medlemskab m.m. Oplysningerne hentes fra brugernavnet som indtastes i loginscriptet.
Er der nogle der kan hjælpe mig eller vil lave et nyt script, ville det bare være super!

Mit nuværende script ser således ud:


<?php
session_start();
if(!$_SESSION['loget_in'] == 1) {
header("Location: http://www.google.dk");

exit;}

L
$conn = mysql_connect("localhost", "min_database", "PASSWORD");
mysql_select_db("min_database");

$resultat = mysql_query("SELECT * FROM `brugere` WHERE Brugernavn = '".$_SESSION['Brugernavn']."'");
if (mysql_num_rows($resultat) == 1) { 
$row = mysql_fetch_array($resultat);
echo "<br><h3>Velkommen ".$row['Navn'] ;
echo "<br>Dit brugerid er = ".$row['id'];
echo "<br>Dit medlemsskab udløber d. ".$row['Dage'] ;




} else {
echo "Ingen oplysninger fundet";
}

?>
Avatar billede cronaldo Nybegynder
26. februar 2010 - 01:45 #1
Du kan i hvert fald ændre lidt skønhed, ved ikke om det vil gøre noget, men:
Jeg sætter en ORDER BY ind fordi det virker sgu bedre efter min mening :) du kan også få den til at udregne hvor mange dage der er til det udløber, men for at jeg kan lave det kræver det, at du nævner datatype og format på "Dage".. men har prøvet at lave et udkast i hvert fald:
----------------


<?php
session_start();
if(!$_SESSION['loget_in'] == 1)
{
  header("Location: http://www.google.dk");
  exit;
}

L
$conn = mysql_connect("localhost", "min_database", "PASSWORD");
mysql_select_db("min_database");

$resultat = mysql_query("
  SELECT
      *,
      Dage,
      (TO_DAYS( NOW() ) - TO_DAYS( Dage )) as datediff
  FROM
    brugere
  WHERE
    Brugernavn = '".$_SESSION['Brugernavn']."'
  ORDER BY
    id
  DESC
");
if (mysql_num_rows($resultat) == 1)

  $row = mysql_fetch_array($resultat);
  echo "<br><h3>Velkommen ".$row['Navn'] ;
  echo "<br>Dit brugerid er = ".$row['id'];
  echo "<br>Dit medlemsskab udløber d. ".$row['Dage'] ;
  echo "<br>Der er <b>".$row[datediff]."</b> til dit medlemsskab udløber!";
} else {
  echo "Ingen oplysninger fundet";
}
Avatar billede Thomsen11 Nybegynder
03. marts 2010 - 16:48 #2
Tak for dit svar. Undskyld jeg først reagerer nu. Har døjet lidt med scriptet, men har nu fundet fejlen. Min fejl lagde i at der var en side mellem login-siden og profil-siden. Ved at fjerne den side og linke direkte fra loginsiden og over til profilsiden blev dette løst.

Måden jeg har udløb af medlemskab nu er blot at den printer en dato (nogle tal) som er skrevet i databasen og så kan man se det derfra.
Hvad er din idé til at vise udløb af medlemsskab? Vil du beskrive måden? Hvis den gør det nemmere vil det da være at foretrække.

- Tak
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

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