WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   if satser... (https://www.wn.se/forum/showthread.php?t=2377)

antefjante 2004-05-23 14:37

Lite ny på detta men skulle behöve lite hjälp.

Det är så att jag håller på att skapa en sida och bygger en meny med hjälp av if satser...
När jag trycker på en länk ska det hämtas information (txt dokument) men jag vill också hämta en bild (överskrift till sidan) som inte ingår i txt dokumentet....

Finns det någon lösning på detta förutom att lägga bilden i ett html dokiment och hämta där igenom..?
Jag kör php..


skulle vara härligt och få tips om detta...


:ph34r:

FredrikMH 2004-05-23 19:24

Humm förstår inte riktigt vad du menar. är if satserna i php? I så fall vad har de med menyn att göra? Ska en ny sida laddas med ny informatin och en utvald bild när du klickar på en länk? Isåfall använd detta:

Meny:
Kod:

<a href="index.php?alt=link1">Link1</a>
<a href="index.php?alt=link2">Link2</a>
osv...

Där text och bild ska inkluderas skriv:
Kod:

<?php
// Inkluderar text och bild beroende på menyval
$alt = $_GET['alt'];

include "$alt.txt"; // Inkluderar link1.txt vid val av det...

Print "<img src=\"$alt.jpg\" alt=\"\" />"

?>

Om detta inte är vad du söker så försök förklara lite bättre så ska jag ge det en ny chans :)

Per 2004-05-24 00:17

Citat:

Originally posted by FredrikMH@May 23 2004, 16:24
Kod:

<?php
// Inkluderar text och bild beroende på menyval
$alt = $_GET['alt'];

include "$alt.txt"; // Inkluderar link1.txt vid val av det...

Print "<img src=\"$alt.jpg\" alt=\"\" />"

?>


Livsfarlig kod. Scenario, någon skriver page.php?alt=http://code

Kontrollera alltid indata, speciellt från användare.

Jonas 2004-05-24 02:19

I detta fall så är en switch() sats bättre.

Kod:

if (isset($_GET['alt']))
{
  $alt = $_GET['alt'];
}
else
{
 $alt = "";
}

switch($alt)
{
  case = "page1":
    include($alt);
  break;
  case = "page2":
    include($alt);
  break;
...
...
...
  default:
    include("errorpage.php");
}

Jag gör personligen oftast med siffror istället för variabler i get fältet.
Då kan man kolla ifall $_GET är en integer med is_int() och då är det också lite säkrare.

Kristofer 2004-05-24 02:21

Jag hade satt upp en enkel databas med en rad per länk där t ex

name = link1
top = adress till bilden för sida 1
body = texten som ska finnas på sida 1

Sen hämtar man innehållet från den aktuella raden och skriver ut det.
Du förstår principen?

Då kan du inte skriva ut något farligare än det du en gång sparat i databasen. Att använda txt-filer låter verkligen inte roligt...

antefjante 2004-05-24 12:26

Klockrent, tackar för tipsen.. !!
Lärt mig massor men nya saker hehe, ska testa med de alternativ ni gav förslag på, kör nog på det sist nämda.. :)



:ph34r:

Anders 2004-05-24 14:59

Citat:

Originally posted by Kristofer@May 23 2004, 23:21
Jag hade satt upp en enkel databas med en rad per länk där t ex

name = link1
top = adress till bilden för sida 1
body = texten som ska finnas på sida 1

Sen hämtar man innehållet från den aktuella raden och skriver ut det.
Du förstår principen?

Då kan du inte skriva ut något farligare än det du en gång sparat i databasen. Att använda txt-filer låter verkligen inte roligt...

Detta blir ineffektivt. Bättre att låta textfilen ligga kvar på disken och bara lagra filnamn/sökväg i databasen. Filsystemet är snabbare än en databas...

Kristofer 2004-05-24 16:51

Det måste vara marginellt, speciellt för små sidor.

Fördelen med en databas är att du kontrollerar spridningen av informationen från den. En txt-fil kan vem som helst ladda hem, liksom bilder och annat som du kan tänkas spara.

Jag tror det är mer stimulerande att lära sig databaskopplingar än att leka med textfiler om nu inte dessa nanosekunder är viktiga.

Jonas 2004-05-24 17:12

Citat:

Ursprungligen postat av Kristofer
Det måste vara marginellt, speciellt för små sidor.

Marginellt o marginellt.

Kör man en community exempelvis, så vill man inte ha menyn eller liknande i databasen.
Filsystemet är och kommer att förbli det snabbaste sättet att spara information.

Citat:

Originally posted by -Kristofer@May 24 2004, 13:51
Fördelen med en databas är att du kontrollerar spridningen av informationen från den. En txt-fil kan vem som helst ladda hem, liksom bilder och annat som du kan tänkas spara.
Hört talar om SQL-Injection? ;)
En TXT Fil kan vem som helst ladda ner om dom vet _NAMNET_ och om den ligger i den katalog som delas ut.

Citat:

Ursprungligen postat av Kristofer
Jag tror det är mer stimulerande att lära sig databaskopplingar än att leka med textfiler om nu inte dessa nanosekunder är viktiga.

Fortf. har du en hårt belastad databas så handlar det inte längre om nanosekunder.

grazzy 2004-05-24 20:39

Varför ens spara det i en fil om det inte rör sig om mer än max 100 rader.. spara det i en hash direkt i scriptet istället. Det är snabbast och enklast.


Alla tider är GMT +2. Klockan är nu 14:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson