Gå til innhold

Få brukernavn automatisk med i en tabell?


Anbefalte innlegg

Skrevet

Jeg har et innloggings script og en legge inn informasjons script. Dvs jeg har to tabeller. Når brukerene skal legge inn info, vil jeg at brukernavnet dems automatisk skal legges inn samtidig. Hvordan få til dette?

Videoannonse
Annonse
Skrevet

Du kan bruke enten sesjoner eller cookies til å lagre navnet deres når de logger inn, og når de legger til informasjon kan du ta frem igjen den variabelen som er lagret.

Skrevet

Nettopp det jeg trodde. Jeg bruker sessions i innloggings scriptet. Jeg er bare ikke sikker på hvordan jeg kaller på brukernavnet i "legge til info" scriptet og hvordan jeg legger brukernavnet med automatisk..

Skrevet

$query = "INSERT INTO info (navn, informasjon) VALUES (\"$_SESSION[navn]\", \"$_POST[informasjon]\");";
mysql_query($query, $connection) or die(mysql_error());

 

Her går jeg ut fra at tabellen din heter info, og du skal legge til verdier i feltene navn og informasjon. Navnet henter jeg fra $_SESSION['navn'] som du må definere når brukeren logger inn, og informasjonen som skal lagres har jeg gått ut fra at kommer fra et skjema som bruker post.

 

Håper det ble noe klarere nå. Hvis ikke, må du bare spørre igjen :)

 

Det kan være smart å inkludere ID'en til brukeren istedenfor navnet hvis du har en mulighet for brukeren å skifte navn. Da må du gjøre et oppslag i tabellen brukere når du vil vise informasjonen igjen, men du vil spare deg for mye arbeid hvis du må endre det manuelt.

Skrevet

Nytt spm, bare i motsatt rettning.... Jeg poster den bare i min gamle tråd jeg.

 

Jeg holder på med søke side og har en enkel: SELECT * FROM $tabell WHERE `sted` = '".$_POST['sted']."'

 

Jeg ønsker at brukere som er logget inn, bare skal kunne få opp sine egene poster, så jeg prøvde med noe slikt:

 

SELECT * FROM $tabell WHERE `username` = `$_SESSION[username]` AND `sted` = '".$_POST['sted']."'

 

Det virket ikke... Hvordan få til dette?

Eventuelt er dette måten å gjøre det på, når jeg vil at bare egene poster skal kunne søkes frem??

Skrevet

Du må nok gjøre det sånn:

 

$query = "SELECT * FROM $tabell WHERE username = `$_SESSION[username]` AND sted = '$_POST[sted]';";

 

Det du hadde gjort feil var å ha username og sted i klammer og, mens det egentlig bare er verdiene som skal være i klammer.

Skrevet (endret)

Er det bare jeg som syns at det der ser enda mer feil ut?

Ville ihvertfall ha gjort det slik:

$query = "SELECT * FROM $tabell WHERE username = '".$_SESSION["username"]."' AND sted = '".$_POST["sted"]."'";

 

edit: leif

Endret av LoS
Skrevet
Er det bare jeg som syns at det der ser enda mer feil ut?

Jeg har nå iallfall aldri hatt noen problemer med å skrive det på den måten jeg skrev i posten ovenfor her... Siden det virker for meg bør det vel virke for andre og, hvis ikke jeg da har en sær php/mysql da ;)

Skrevet

ALDRI sett POST/GET variable direkte inn i et SQL query, kjør mysql_escape_string på det først:

 

$sted = mysql_escape_string($_POST['sted']);

 

$query = "select bla bla where sted='$sted'";

Skrevet
ALDRI sett POST/GET variable direkte inn i et SQL query, kjør mysql_escape_string på det først:

 

$sted = mysql_escape_string($_POST['sted']);

 

$query = "select bla bla where sted='$sted'";

Jaha... Hvorfor ikke? Siden du understreker aldri med flere utropstegn blir jeg nysgjerrig... ;)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...