Avatar billede rozz Nybegynder
24. april 2004 - 16:52 Der er 17 kommentarer og
1 løsning

sværere php spørgsmål

hej gutter.

hvis jeg kalder en side frem feks. rozz.dk?=biler

er det så muligt at lave en eller anden regel som siger
hvis rozz.dk?=biler, så include både.php

forstået på den måde, at jeg har en side om biler, men vil så gerne have en lille boks ved siden af bilerne, hvor man så kan springe til både

og hvis man ser bådene, så kan man se boksen ved siden af med udtræk af nogle biler
Avatar billede dennismp Nybegynder
24. april 2004 - 16:57 #1
mener du rozz.dk?side=biler ?

jeg har aldrig set folk bruge rozz.dk?=biler - det nærmeste er bare rozz.dk?biler

hvis det er den første så er det:

$side = $_GET['side']; // Hvis det er rozz.dk?side=biler
$side = $_SERVER["QUERY_STRING"]; // hvis det er rozz.dk?biler (den kan nok give dig problemer senere)

switch($side) {
  case 'biler':
  include("både.php";)
  break;
}
Avatar billede jammerlab Nybegynder
24. april 2004 - 18:19 #2
Hehe sådan en total gnu måde jeg ville gøre det på ville se sådan ud:

if($biler) { include("både.php";) } else { include("biler.php";) }

hvis det kun er de 2 selvf... hvis du skal bruge flere så lave det sådan her:

if($biler) { include("både.php";) }
if($både) { include("biler.php";) }
Avatar billede dennismp Nybegynder
24. april 2004 - 18:33 #3
Switch() er jo det samme som en bunke if()-sætning. Hvordan man stiller if()s eller switch() op kan da ikke være "gnu". switch() er jo lige netop lavet for at gøre flere if()s mere overskuelige.

Man kunne også ligge det i et array.

$side = .. (se mit forrige eksempel)

$filer['både']      = 'biler.php';
$filer['biler']      = 'biler.php';
$filer['mc']        = 'mc.php';
...

if( isset($filer[$side]) )
  include($filer[$side]);
else
  include("default.php");
Avatar billede jammerlab Nybegynder
24. april 2004 - 18:34 #4
Når ok :P Kendte bare ikke lige switch... kunne være man skulle begynde at bruge den, og ja et array er også endnu en løsning... så må vi se hvad han vælger :)
Avatar billede dennismp Nybegynder
24. april 2004 - 18:43 #5
bare for at afslutte if/switch.. et eksempel

if( $a == 1 )
  et();
elseif( $a == 2 )
  to();
elseif( $a == 3 )
  tre();
elseif( $a == 4 )
  fire();
else
  andet();

vil være det samme som

switch($a) {
  case '1': et(); break;
  case '2': to(); break;
  case '3': tre(); break;
  case '4': fire(); break;
  default: andet();
}

Nu er eksemplet lidt kunstig, men forstil dig at et(), to() osv er fx. 5-10 linjer.. Så bliver det ofte meget nemmere at overskue med et switch(). Men så stiller man switch()'n op på flere linjer, ligesom mit første forslag.

Men det er vist et sidespor :)
Avatar billede rozz Nybegynder
24. april 2004 - 23:34 #6
sorry, det forstod jeg ikke
jeg bruger flg

<?php
$side = $_GET["side"];

if ($side == "både") {
  include("input/både.php");
}
if ($side == "biler") {
  include("input/biler.php");


osv

hvis jeg nu gerne vil have en boks frem med både nyt hver gang jeg er på siden med
bilerne, hvad kan jeg så gøre?
Avatar billede dennismp Nybegynder
25. april 2004 - 00:32 #7
Sådan her?

<?php
$side = $_GET["side"];

if ($side == "både") {
  include("input/både.php");
}
if ($side == "biler") {
  include("input/biler.php");
  include("input/både-nyt.php");
}
?>
Avatar billede rozz Nybegynder
25. april 2004 - 08:34 #8
øv hvorfor kunne jeg ikke se det selv ? :/, det var da egentlig ret logisk
tak dennismp. du skal nok dine points, men er lige kommetpå en nyt spørgsmål

når jeg har:

<?php
$side = $_GET["side"];

if ($side == "både") {
  include("input/både.php");


osv

hvis jeg så kalder feks både siden frem. og på det dokument så laver

<?php
$side = $_GET["side"];

if ($side == "både/jolle") {
  include("input/både/jolle.php");

Så kan jeg ikke få det til at virke, der kommer ikke noget frem

det virker tilgengæld ok, hvis skriver det på min default side,
gør jeg noget forkert?
Avatar billede dennismp Nybegynder
25. april 2004 - 10:40 #9
Har du prøvet at skrive (lige efter $side = $_GET['side']):

print "aktuelt side: $side<br />";

Så kan du se hvilken værdi den har.
Avatar billede rozz Nybegynder
25. april 2004 - 17:18 #10
hvordan kan den hjælpe mig? shit synes det burde virke

<p><?php
$side = $_GET["side"];

if ($side == "e77") {
  include("input/både/e77.php");
}
?>
<p><a href="?side=e77">Både</a></p></td>
Avatar billede dennismp Nybegynder
25. april 2004 - 17:24 #11
så kan du sikre dig, at der $side indeholder "både/jolle" og ikke "båd/jol", "både/ jolle" .. osv..
Avatar billede rozz Nybegynder
25. april 2004 - 17:28 #12
hvad jeg ikke forstår er at jeg på min index side godt kan få det til at virke, når jeg sætter det ind

if ($side == "e77") {
  include("input/både/e77.php");

men hvis jeg kalder siden både frem, og sætter den ind der, så ikluderer den ikke e77??
Avatar billede dennismp Nybegynder
25. april 2004 - 17:31 #13
Kan jeg ikke se hele scriptet?
Avatar billede rozz Nybegynder
25. april 2004 - 17:41 #14
jo men der er nu ikke så meget mere

her er hvad der står i index i min main tabel:

<?php
$side = $_GET["side"];

if ($side == "både") {
  include("input/både.php");
}
if ($side == "biler") {
  include("input/biler.php");
}
?></p>

og så vil jeg gerne have at jeg når jeg åbner både, at jeg der skriver

<?php
$side = $_GET["side"];

if ($side == "e77") {
  include("både/e77.php");
}
?>
<p><a href="?side=e77">Både</a></p></td>


både og biler ligger i mappen input. både modellen e77 ligger så i input/både/e77.php
Avatar billede dennismp Nybegynder
25. april 2004 - 17:47 #15
Hvis du åbner både, så er $_GET['side'] = 'både'.. så vil den inkluderer både.php. I denne fil gælder det jo stadig at $_GET['side'] = 'både'. så der vil du ikke få inkluderet e77.php. (da det kræver at $_GET['side'] == 'e77').

Omvendt, hvis $_GET['side'] = 'e77'; .. så vil din index.php ikke komme ind i både, da $_GET['side'] != 'både'. Og dermed kommer du slet ikke ind i filen der inkluderer e77.php

Er du med på problemet?
Avatar billede rozz Nybegynder
25. april 2004 - 19:06 #16
ok den forstod jeg godt. så er der vel ikke andet for at jeg skal skrive
alle i min index side?.
Avatar billede dennismp Nybegynder
25. april 2004 - 19:38 #17
Ja eller dele det op, så du har side og underside.

fx. url.php?side=både&underside=e77
eller url.php?side=både/e77
Avatar billede rozz Nybegynder
25. april 2004 - 19:42 #18
dennismp, kunne du ikke hjælpe mig med et prob jeg slet ikke har tænkt på

http://www.eksperten.dk/spm/493291
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