WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   koordinatsystem med PHP (https://www.wn.se/forum/showthread.php?t=8948)

koala 2005-07-19 07:17

Du borde nästan kolla in #php.se på quakenet istället. Finns mer lämplig hjälp att få där. Följande kod kan du nog använda i alla fall:
Kod:

<?php $z = array(1=>'sida2.php','kontakt.php','sida3.php');
if (isset($_GET['sida'])) include($z[(int)substr( $_GET['sida'],4)]); ?>


festiz 2005-07-19 12:06

Citat:


festiz
aha, ok. Nu förstår jag varför alla 3 sidor kom samtidigt. smile.gif

BRA!!
Citat:


Nu har jag endast din kod:
Kod:

<?
...
$sida="hemsida"; //namnet på din startsida utan ".php"
...
?>

Men det händer inget. Som du kan se så har jag ändrat namnet, i koden, på startsidan till hemsida (den heter just nu det, men kommer sedan att bli index)

Nu har du fel, hemsida.php ska ju heta index.php, mycket riktigt, men! Det är inte den sidan du ska inkludera! utan du får klippa ut texten du vill ha på startsidan och infoga i en separat fil som kanske ska heta main.php. Hoppas du förstår vad jag menar. Det viktiga här är att index bara innehåller typ meny, sidebar, logga och all sån huvudsaklig struktur, men att innehållet alltid infogas från en separat fil. Självklart kan du även modifiera ifsatsen till att visa din indextext istället för att inkludera standardsidans php-fil. Detta är dock enligt mig mycket jobbigare att underhålla.

ashur 2005-07-19 14:07

:),
Nu har jag gjort som du sagt, klippt ut texten och placerat den i main.php. Ändrat i koden från hemsida till main.
Kod:

}else{
$sida="main"; //namnet på din startsida utan ".php"
}

Sedan har jag ändrat mitt namn, behövdes inte, men jag ville göra det nu till index.php. http://videohelp.se/formmail/index.php

Men nu får jag upp en text där det står: "Sidan du vill gå till kan inte hittas", när jag går till sidan.

Sedan ifall jag tycker på "min kontaktsida"-knapp med koden
Kod:

<a href="index.php?sida=kontakt">Min kontaktsida</a>
så händer inget.


p.s. main.php innehåller detta:
Kod:


  <h1>V&auml;lkommen till Videohelp.se</h1>
  <h2>Guider, program, test och nyheter</h2>
  <p>V&auml;lkommen till den svenska sidan f&ouml;r hj&auml;lp med filmer och d&auml;romkring. H&auml;r kommer vi i f&ouml;rsta hand koncentrera oss endast p&aring; svenska guider med en viss reservation f&ouml;r engelska. </p>
  <p>Om du &auml;r en nyb&ouml;rjare med filmkonvertering eller vet du inte ens vad jag pratar om <a href="http://videohelp.se/phpBB2/viewtopic.php?t=12" target="_self">g&aring; hit</a> s&aring; kan du f&aring; en liten introduktion till olika filmformat.<br />
    <br />
       

<br />
<div class="note">
        <h4>Tips!</h4>
       
  <p>Se mer i <a href="http://www.videohelp.se/guider.php">guider</a></p>
        <p>Se mer i <a href="http://www.videohelp.se/program.php">program</a></p>
</div>


festiz 2005-07-19 21:02

sorry, såg två fel i min kod...

$file="pages/$sida.php"; ska kanske modifieras, just nu inkluderade den sidor som ligger i mappen pages, och om du inte har den mappen blir det svårt :) så ta bara bort pages/

sen högst upp har vi:
if($_GET['sida']) --- Ska ändras till --- if(isset($_GET['sida']))

kopierade bara scriptet direkt från en sida jag använder..:)

ashur 2005-07-19 22:18

Tack så mycket för hjälpen festiz. Sidan fungerar nu. :D


P.S. Nu när jag har en sida som mall, vet du hur mina knappar fungerar nu, dvs. jag använder css där den sida du är på ändras färgen på knappen. Som Hem-knappen.

stakes 2005-07-19 22:33

Citat:

Originally posted by festiz@Jul 19 2005, 01:19
if (isset($sida) == "lank1") { include 'sida2.php'; }
if (isset($sida) == "lank2") { include 'kontakt.php'; }
if (isset($sida) == "lank3") { include 'sida3.php'; }

Den koden är fel - HELT FEL.
Logiken blir true varje gång, isset($sida) returnerar true, därefter blir jämförelsen true eftersom du jämför "TRUE" med en sträng som har det naturliga värdet "TRUE" (den är inte 0 tecken lång), dessutom måste du lägga till en rad för varje fil du vill inkludera. Därför du ska använda min kod, OCH BARA MIN KOD, då spelar det ingen roll hur många sidor du har, bara skapa länkarna rätt så fungerar det.

jag är ganska nybörjare på PHP så sorry att koden var fel.. men jag förstår inte riktigt för den fungerar ju finfint på mina sidor.. koden som följer:

Kod:

<?
if (isset($_GET['x']) == ""){ include 'index.php'; }
if (isset($_GET['x']) == "1"){ include '1.php'; }
if (isset($_GET['x']) == "2"){ include '2.php'; }
?>

<a href="index.php?x=1"> example link </a>

finns det någon anledning att inte använda ovanstående kod om den fungerar?

koala 2005-07-19 23:40

Citat:

Ursprungligen postat av stakes
Citat:

Ursprungligen postat av festiz
if (isset(sida) == lank1) { include sida2.php; }
if (isset(sida) == lank2) { include kontakt.php; }
if (isset(sida) == lank3) { include sida3.php; }
Den koden är fel - HELT FEL.
Logiken blir true varje gång, isset(sida) returnerar true, därefter blir jämförelsen true eftersom du jämför TRUE med en sträng som har det naturliga värdet TRUE (den är inte 0 tecken lång), dessutom måste du lägga till en rad för varje fil du vill inkludera. Därför du ska använda min kod, OCH BARA MIN KOD, då spelar det ingen roll hur många sidor du har, bara skapa länkarna rätt så fungerar det.

jag är ganska nybörjare på PHP så sorry att koden var fel.. men jag förstår inte riktigt för den fungerar ju finfint på mina sidor.. koden som följer:
Kod:

?
if isset_GETx == { include index.php; }
if isset_GETx == 1{ include 1.php; }
if isset_GETx == 2{ include 2.php; }
?
a href=index.php?x=1 example link /a

finns det någon anledning att inte använda ovanstående kod om den fungerar?

Ovanstående kod fungerar inte heller. Du kan inte nå 2.php alls nämligen, eftersom värdet av "isset($_GET['x'])" är TRUE (1) om x=1, och FALSE(0) om x inte är något alls. Om x = 2 är värdet av "isset($_GET['x'])" TRUE(1) eftersom variabeln x har tilldelats ett värde.

eg0master 2005-07-20 08:55

Stakes, koden funkar inte eftersom isset returnerar bara true eller false (precis som feztis påpekat) och koala har också fel. klart include2.php också inkluderas eftersom det är en serie IF och inte IF..ELSE IF
Du vill göra så här:
Kod:

<?
if (!isset($_GET['x']) || $_GET['x'] == ""){ include 'index.php'; }
else if ($_GET['x'] == "1"){ include '1.php'; }
else if ($_GET['x'] == "2"){ include '2.php'; }
else { include "error.php"; }
?>

<a href="index.php?x=1"> example link </a>


stakes 2005-07-20 14:53

tack fungerar perfekt nu :)

nomicon 2005-07-20 18:50

Felplacerad tråd? :) Handlar mest om php, och det är ju knappast klientsidans teknologier :)

-Martin


Alla tider är GMT +2. Klockan är nu 10:10.

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