Avatar billede bb_maze Nybegynder
19. januar 2005 - 21:42 Der er 12 kommentarer og
3 løsninger

Ændre id i adresse linie

Hejsa

Jeg arbejdet lidt med et script som viser én nyhed ad gangen. Det er bygget op i php og mySQL.

Men hvordan gør jeg sådan at hvis man i adresse linien ændre det id (hvilket er unikt) der er, så kommer hen til den nyhed der har det id?

Håber det er til at forstå, ellers må i spørge! På forhånd tak :)

Hygge
Avatar billede loevgaard Praktikant
19. januar 2005 - 21:54 #1
$hejsa = mysql_query("SELECT FROM `tabel` WHERE id='".$_GET['id']."'");
$hej = mysql_fetch_assoc($hejsa);
echo $hej['felt'];

Sådan :)?
Avatar billede bb_maze Nybegynder
19. januar 2005 - 21:57 #2
Hmm... Tror jeg ikke. For hvor registrerer den hvad der står i adresse feltet?
Avatar billede bb_maze Nybegynder
19. januar 2005 - 21:57 #3
Altså adresse feltet i browseren
Avatar billede Slettet bruger
19. januar 2005 - 22:02 #4
Ja, det gør $_GET - det kræver så bare at du tildeler idvariabeln sin værdi i en variabel i adressefeltet der hedder "id" :)

--
pacroon
Avatar billede jakobdo Ekspert
19. januar 2005 - 22:21 #5
Dog må du ikke benytte l0vgaard eksempel direkte!
Da du dermed vil kunne blive udsat for SQL injections.
Du bør derfor tjekke indholdet af $_GET['id'] inden det bruges i din SQL.

F.eks.
if(is_numeric($_GET['id']))
//lav din sql
else
//fortæl id ikke er korrekt...
Avatar billede maabjerg Nybegynder
19. januar 2005 - 22:29 #6
Hele koden for en nyhedsside:

$action = $_REQUEST["action"];
$id = $_REQUEST["id"];

if ($action == "") {
  $sql = mysql_query("Select * from nyheder order by id DESC");
  while($rs = mysql_fetch_array($sql)) {
      echo "<a href='?action=view&id=$rs[id]'>$rs[overskrift]</a>";
      echo "<br>";
  }
}
if ($action == "view") {
  $sql = mysql_query("Select * from nyheder where id='$id'");
  while($rs = mysql_fetch_array($sql)) {
      echo $rs[overskrift];
      echo "<br>";
      echo $rs[tekst];
      echo "<br><br>";
      echo "Af: $rs[navn]";
}

Til hvis du ikke forstår de andres som kom før mig :)
Avatar billede maabjerg Nybegynder
19. januar 2005 - 22:31 #7
$action = $_REQUEST["action"];
$id = $_REQUEST["id"];

//Gør således at den requester det fra adressebaren.
Avatar billede bb_maze Nybegynder
19. januar 2005 - 22:37 #8
Jeg har lige fået hjælp af en god kammerat og vi fik det til at virke. Men det ser ud til at i er kommet med nogle godter som jeg måske får brug for senere, så jakobdo hvis du lige smider et svar, så får dig og l0vgaard en sjat, og så får maabjerg en lidt større sjat ;)
Avatar billede maabjerg Nybegynder
19. januar 2005 - 22:43 #9
:)
Avatar billede loevgaard Praktikant
19. januar 2005 - 23:13 #10
Bruger også den der metode selv jakobdo, var bare lige en hurtig sammensætning ;)
Avatar billede morteeart Nybegynder
20. januar 2005 - 01:39 #11
bb_maze

Du ser helt klart ud til at du trænger til at læse et par timer,
så her står det hele: http://se2.php.net/reserved.variables
Avatar billede hmortensen Nybegynder
20. januar 2005 - 02:01 #12
Der skal ikke '' om talværdier
Avatar billede jakobdo Ekspert
20. januar 2005 - 08:31 #13
Svar...
Avatar billede bb_maze Nybegynder
21. januar 2005 - 18:18 #14
Tak for hjælpen ;)
Avatar billede maabjerg Nybegynder
21. januar 2005 - 21:30 #15
var så lidt :)
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