18. maj 2010 - 14:35Der er
25 kommentarer og 1 løsning
Vedr, bruger konto i login system...
Hej... Jeg har lavt mig et login system, og er igang med at når en bruger går ind under din konto, så skal alle hans oplysninger komme frem, men det har jeg også lavet, men den henter alle brugernes oplysninger, istedet for kun den valgte som er logget ind.
ja men bliver bruger xxx ikke bare hentet så istedet for.
Synes godt om
Slettet bruger
18. maj 2010 - 14:46#3
hvis det er en database med 100 bruger ca, så kan jeg jo ikke bare angive hvad brugernavn der kan benytte sig af din konto, det må kunne køre over id eller noget, så den finder ud af når det er fx brugernavn: test.
Du er nødt til at angive et eller andet unikt ved den pågældende bruger, der skal se sine oplysninger. Det kan f.eks. være hendes brugernavn eller id. Det kommer an på, hvordan resten af applikationen hænger sammen - og det ved kun du =)
/mvh </bole>
Synes godt om
Slettet bruger
18. maj 2010 - 15:27#6
olebole: kan man ikke taget det ud fra brugerens id, men ved ikke helt hvordan man gør det, har prøvet med fx. SELECT * FROM icmsbruger WHERE id="$id" men det virker heller ikke.
showsource: Hvad mener du med "Hvordan ved du at en bruger er logget ind ?"
Synes godt om
Slettet bruger
18. maj 2010 - 15:30#7
har også prøvet sådan her:
$id=$_GET['id'];
$update_dinkonto = mysql_query("SELECT * FROM icmsbruger WHERE id='$id'") or die("Der skete en fejl med mysql_query'en, update_dinkonto. " . mysql_error());
Det tror jeg ikke jeg har lavet det sådan at jeg kan holde styr på hvilke bruger som er logget ind, jeg har kun et login og register som jeg har lavet eller fostår ikke helt hvad du mener, login:
Tjek om de er logget ind, ellers send dem til login siden..
<?php session_start(); if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in header("Location: logind.php");//Sender brugeren videre exit;//Sørger for at resten af koden, ikke bliver udført } ?>
dkfire >> Ja, ellers ville vi have hørt om en SQL-fejl =)
prowdesign >> Hvad har du i variablen $id? Hvad sker der her:
$id=$_GET['id'];
print "ID: ".$id."<br>\r\n";
$update_dinkonto = mysql_query("SELECT * FROM icmsbruger WHERE id='$id'") or die("Der skete en fejl med mysql_query'en, update_dinkonto. " . mysql_error());
- og så bør du nok udføre et lidt mere effektivt kald:
$update_dinkonto = mysql_query("SELECT * FROM icmsbruger WHERE id='$id' LIMIT 1") or die("Der skete en fejl med mysql_query'en, update_dinkonto. " . mysql_error());
Synes godt om
Slettet bruger
18. maj 2010 - 16:33#12
jeg bruger ikke $id=$_GET['id']; til noget, det var bare noget jeg ville prøve, men hvordan får jeg den til at hente fx, id 1 når bruger med id 1 er logget ind..
olebole: burde spørge ikke bruge en værdi fra hans/hendes session i stedet for fra URL'en ?
prowdesign: Eftersom du gemmer brugernavnet i din session variabel kan du bruge denne til at slå op i databasen:
SELECT email, name, lastname, firma, adress, city, zipcode FROM `icmsbruger` WHERE username = $_SESSION['username']
Synes godt om
Slettet bruger
18. maj 2010 - 16:42#14
Hvis jeg bruger:
$update_dinkonto = mysql_query("SELECT * FROM `icmsbruger` WHERE username = $_SESSION['username']") or die("Der skete en fejl med mysql_query'en, update_dinkonto. " . mysql_error());
Får jeg fejlen..
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\projekt\dinkonto.php on line 59
Det er fordi du ikke har bruge arrays i strenge på den måde:
$update_dinkonto = mysql_query("SELECT * FROM `icmsbruger` WHERE username = '".$_SESSION['username']."'") or die("Der skete en fejl med mysql_query'en, update_dinkonto. " . mysql_error());
Synes godt om
Slettet bruger
18. maj 2010 - 16:54#16
Det virkede mange mange tak, smid et svar hvis du vil have points...
Synes godt om
Slettet bruger
18. maj 2010 - 21:14#17
Hej tror i, i kan hjælpe mig med en sidste ting, jeg har lavt formen til at kunne opdatere brugerns indhold, men jeg opdaterer alle bruger på en gang, kan i hjælpe mig med det måske...
<?php session_start(); if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in header("Location: logind.php");//Sender brugeren videre exit;//Sørger for at resten af koden, ikke bliver udført }
require ("masterconnect.php"); function secure($string){ $string = addslashes($string); $string = htmlspecialchars($string);
return $string; }
// If user pressed "update_dinkonto" button if(isset($_POST['update_dinkonto'])){ $username=$_POST['username']; $email=$_POST['email']; $name=$_POST['name']; $lastname=$_POST['lastname']; $firma=$_POST['firma']; $adress=$_POST['adress']; $zipcode=$_POST['zipcode']; $city=$_POST['city'];
$query = "UPDATE icmsbruger SET username = '$username', email = '$email', name = '$name', lastname = '$lastname', firma = '$firma', adress = '$adress', zipcode = '$zipcode', city = '$city' WHERE username = '".$_SESSION['username']."'"; mysql_query($query); echo "Record Updated"; mysql_close(); } ?>
eftersom du har opdateret hele din tabel, har alle rækker så ikke samme brugernavn ?
Og hvad sker der når du kører den sidste kode ?
Synes godt om
Slettet bruger
19. maj 2010 - 07:54#20
jov det har de, den opdaterer det samme som jeg self skrev i formen, men den ændre alle felter i alle brugere.. det skal den jo ikke, den skal kun ændre for den pågældene bruger..
Synes godt om
Slettet bruger
19. maj 2010 - 12:47#21
jeg har selv fundet ud af det, men tak alligvel.. LUKKES...
Hvis du forventer fremover at modtage hjælp af andre, så skal du blive MEGET bedre til at sætte pris på den hjælp du får. At lukke et spørgsmål og tage point selv, når du nu har fået en hel del kvalificeret hjælp, fremmer ikke min lyst til at hjælpe dig fremover.
Hov. undskyld det var der bare en i en tidligere tråd der sagde jeg skulle, men det vil jeg selvfølgelig aldrig gøre mere..
Synes godt om
Slettet bruger
19. maj 2010 - 16:48#25
Undskyld .. Undskyld.. :((
Synes godt om
Slettet bruger
19. maj 2010 - 17:00#26
Men hvis der er nogen der vil have point, må vi jo finde ud af hvordan...
Synes godt om
Ny brugerNybegynder
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.