[LØST] PHP Variabler gjennom URL?

9 innlegg i emnet

Skrevet

God aften alle sammen :)

Skal gjøre dette så enkelt som mulig...

Jeg har en database med en del informasjon, en av feltene inneholder et unikt tall som genereres for hver rad. Den heter user_id. Jeg vil gjøre sånn at jeg kan skrive i URL'en http://www.eksempel..no/profilside.php?user_id=[ET TALL], for så bare å vise feltet med bruker id (1,2,3,4 osv.).

Eks:

Vesle Per vil se på brukerprofilen til Jonathan. Han vet at bruker id'en (user_id) til Jonathan er 4, og han vil nå se profilen til Jonathan på siden. Så da skriver han http://www.eksempel.no/profilside.php?user_id=4 og får opp detaljene til brukeren Jonathan.

Skjønner dere hva jeg mener? :)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet (endret)

Hei.

Koden blir noe slikt (jeg er ikke 100% på mysql i php);

$user_id = $_GET['user_id'];


$result = mysql_query("SELECT * FROM tabell WHERE user_id = $user_id");


echo "$result";
Noe slikt. Dette scriptet funker ikke, men du må gjøre det på den måten. EDIT: Eller:
Header(Location: http://www.dinside.no/brukere/$resultat);

Endret av Quad
0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Litt usikker på den MySql querien du ga meg der Quad... Takk uansett, du f¨år pekepinn :)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Tror jeg har funnet løsningen på problemet til alle dere som lurer på det samme. Legger den ut i denne tråden etter skolen i dag..Det baserer seg på nesten det samme som første svar.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Jeg kan bekrefte at metoden som ble nevnt tidligere skal fungere.

Ved å bruk $_GET['user'] (dersom du har brukt ?user=1) så kan du hente ut tallet i URL'en, legge den i en variabel, for så å bruke variablen til å gjøre en SQL-spørring :)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Så da blir koden :P ?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Det kan bli slik:

Dersom URL er dette:

http://www.eksempel.no/profilside.php?user_id=4

$con = mysql_connect("localhost", "root", "passord"); //tilkobling til database - bytt ut med riktig informasjon for DIN database


mysql_select_db("database"); //Velg databasen som users ligger på.


$user_id = $_GET['user_id']; //legge user_id i en litt enklere variabel


$query  = "Select * from tabell where user_id =" .  $user_id . ""; //tror jeg. Prøv.

$result = mysql_query($query);


//Hva du gjør videre her må du jo velge selv - men nå er jo spørringen gjort så du kan f.eks. hente ut infoen på denne måten:


while($row = mysql_fetch_row($result))

{

	$name	= $row[1];



	echo "Navn: " . $navn . ""; //eller no i den duren? 

}

Dersom du trenger mer info om hva du skal gjøre etter spørringen anbefaler jeg denne siden:

http://www.php-mysql-tutorial.com/

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Vel, du bør også beskytte deg mo sql-injection. Hva skjer hvis brukeren går til en url med en falsk bruker_id som i stedet inneholder spesielle tegn? De kan modifisere sql-querien din!

http://en.wikipedia.org/wiki/SQL_injection

Bruk:

$user_id = (int) $_GET['user_id'];

(konverterer tekststrengen til en integer)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Takk for all hjelpen dere :)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

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