Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql side.php?id=xxx - Hvordan i alverden funker det?

side.php?id=xxx - Hvordan i alverden funker det?


 

side.php?id=xxx - Hvordan i alverden funker det?

Henrik Mortensen  

Hejsa. Jeg har besluttet mig for at bruge min vinterferie på at forbedre min hjemmeside,
bl.a. ved at bruge MySQL og lidt mere PHP. MEN! Jeg er stadig lidt grøn på
PHP/MySQL-området, så jeg ville høre om nogle af jer kunne hjælpe mig lidt i gang?

Mit problem lige nu, er, som overskriften antyder, hvordan jeg får lavet mine links som
tal (?id=3) istedet for tekst (?id=sidenavn).
Jeg kunne forestille mig, at MySQL-delen er noget lignende:

-------------------
id   | sidenavn    |
--------------------
1    | forside.php |
--------------------
2    | links.php   |
--------------------
3    | side3.php   |
--------------------
4    | side4.php   |
--------------------

- og så videre. Dette har jeg lavet, men hvordan i alverden får jeg fx. id=1 til at
referere til forside.php, således at jeg ved at skrive main.php?id=1 kommer til
main.php?id=forside?

Er der mon en venlig sjæl, der vil skære det ud i pap for mig, for jeg er ved at gå ud af
mit go'e skind lige i øjeblikket :)

Jeg beklager, hvis emnet har været oppe at vende før, men trods ihærdig søgen har jeg ikke
kunnet finde noget...

På forhånd tak
Henrik Mortensen



Dato : 02.12.2005, 00:01

Visninger : 1155

Points : 50

 

hvor vil du have dit html? normalt lægger man alt indhold i en database og laver så en
master skabalon til eks. menu etc.


Dato : 02.12.2005, 01:57

Kommentar af : Thor B.N.  

 

"hvor vil du have dit html?" Ikke forstået...? :) På min nuværende side, www.psylicium.dk,
har jeg også en masterskabelon lavet i xhtml, og øverst på den har jeg <?php $id =
$_REQUEST['id']; ?>, som fanger ID'et (forside, diskografi osv.). Som jeg har det nu,
ligger alt mit indhold i mappen /includes som xhtml-filer. Under navigationsbaren smider
den så ID'et ind vha. <? include("./includes/id/id_$id.php"?>, så jeg kun behøver ændre
de enkelte små dokumenter, når jeg opdaterer.

Du skriver, at man normalt lægger alt sit indhold i databasen - er det så man ikke behøver
at have det i en mappe på serveren? Kan du forklare det nærmere? Jeg er ivrig efter at
lære lidt mere om det her :)

Henrik


Dato : 02.12.2005, 02:50

Kommentar af : Henrik Mortensen  

 

Du opretter en tabel i en mysql database eks. via phpmyadmin som er et system som kan
håndtere mysql databasen. (rediger/slet/opret etc)

tabellen:
----------------------------
id   | sideindhold          |
----------------------------
1    | tekst og html kode   |
----------------------------
2    | tekst og html kode   |
----------------------------
3    | tekst og html kode   |
----------------------------
4    | tekst og html kode   |
---------------------------- 

<?
mysql_pconnect
(localhost,USERNAME,PASSWORD);
mysql_select_db(DATABASE_NAME);

$res mysql_query("SELECT * FROM side WHERE id = '$_REQUEST['id']' ");
$row mysql_fetch_array($res);

echo 
$row["bruger_id"];
?>

ikke testede men noget af den stil.

Det fede ville så være hvis du lave en admin side hvor du kan redigere dine sider ved
hjælp af en wysiwyg editor eks. tinyMCE er en af de bedste.


Dato : 02.12.2005, 03:07

Godkendt svar af : Thor B.N.  

 

"hvor vil du have dit html?" Ikke forstået...? :) På min nuværende side, www.psylicium.dk,
har jeg også en masterskabelon lavet i xhtml, og øverst på den har jeg <?php $id =
$_REQUEST['id']; ?>, som fanger ID'et (forside, diskografi osv.). Som jeg har det nu,
ligger alt mit indhold i mappen /includes som xhtml-filer. Under navigationsbaren smider
den så ID'et ind vha. <? include("./includes/id/id_$id.php"?>, så jeg kun behøver ændre
de enkelte små dokumenter, når jeg opdaterer.

Du skriver, at man normalt lægger alt sit indhold i databasen - er det så man ikke behøver
at have det i en mappe på serveren? Kan du forklare det nærmere? Jeg er ivrig efter at
lære lidt mere om det her :)

Henrik


Dato : 02.12.2005, 03:09

Kommentar af : Henrik Mortensen  

 

Hovsa, undskyld dobbeltposten - Jeg prøver en gang og vender tilbage til dig :) Lækkert,
at der er andre end mig der er sent oppe i nat.

Henrik


Dato : 02.12.2005, 03:11

Kommentar af : Henrik Mortensen  

 

Nu har jeg lavet tabellen og PHP-koden som du foreslog, men jeg får denne fejlmeddelelse:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or
T_VARIABLE or T_NUM_STRING in /home/virtual/psylicium.dk/public_html/BETA/id.php on line
3

Linie 3 ser sådan ud:
$res = mysql_query("SELECT * FROM content WHERE id='$_REQUEST['id']'");

Jeg har sammenlignet den med en anden kodestump, jeg ved virker, men jeg kan ikke lige få
øje på fejlen...

Min tabel ser således ud, forresten:

------------------------------------
 id       | content                |
------------------------------------
| 1       | <html> her             |
------------------------------------
| 2       | <html> her             |
------------------------------------
^ BIGINT    ^ TEXT


Dato : 02.12.2005, 03:40

Kommentar af : Henrik Mortensen  

 

'{$_REQUEST['id']}'

Dato : 02.12.2005, 03:41

Kommentar af : Thor B.N.  

 

Så lader det til at virke - ingen fejl mere :) Men... Jeg går ud fra, at echo burde vise
det indhold der er i den "content"-celle der hører til det pågældende id? Min testside
hedder id.php, men selvom jeg skriver id.php?id=1, kommer der ingenting...

Jeg ved ikke, om jeg har lavet min tabel med de rigtige typer data (id som BIGINT og
content som TEXT)? Og det du skriver tilsidst i din kode - echo $row["bruger_id"]; 
 - skal jeg selv erstatte bruger_id med noget andet, og hvis det er tilfældet, hvad? :)


Dato : 02.12.2005, 03:54

Kommentar af : Henrik Mortensen  

 

Update: Hvis jeg retter echo til echo $row["$id"];, får jeg vist html-koden jeg har lavet
til ID 1, men hvis jeg skriver id=2,3,4 osv., er den blank igen...


Dato : 02.12.2005, 04:04

Kommentar af : Henrik Mortensen  

 

Jeg tror jeg har luret fidusen nu, Thor. Jeg rettede det til echo $row["sideindhold"];,
idet html'en ligger i kolonnen sideindhold. Nu kan jeg se indholdet af alle mine id'er.
Tusind tak for hjælpen - nu kan jeg da komme et stykke videre :)

Henrik


Dato : 02.12.2005, 04:46

Kommentar af : Henrik Mortensen  




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund