Avatar billede tt2002 Nybegynder
01. december 2004 - 22:22 Der er 9 kommentarer

bruge side.php?underside til at hente værdier?

Jeg ønsker at bruge en adresse som ligner den her side.php?underside. Ideen er så at underside skal være et eller andet nr. som så skal bruges, når værdierne skal hentes.
Indtil videre har jeg lavet følgende, og ved ikke helt hvor fejlen ligger.

<?php
$side = $_GET['side'];
?>
    <p>Værdi 1:</p>
      <?php
      include("value1/val" & $side & ".txt");
      ?>
    <p>Værdi 2:</p>
      <?php
      include("value2/val" & $side & ".txt");
      ?>
    <p>Værdi 3:</p>
      <?php
      include("value3/val" & $side & ".txt");
      ?>
Avatar billede jakoba Nybegynder
01. december 2004 - 22:30 #1
det ser helt fint ud, husk blot på at navnet 'side' skal med i din url:
    side.php?side=1

ellers kan php jo ikke vide at værdien 1 skal lægges ing i $_GET['side']

mvh JakobA
Avatar billede baitianlong Nybegynder
01. december 2004 - 22:34 #2
Altså, hvis der f.eks står side.php?underside=1 kan du jo f.eks skrive:

<?php
$underside = $_GET['underside'];
print "<p>";
switch($underside) {
case(1):
  print "Værdi 1:</p>";
  break;
case(2):
  print "Værdi 2:</p>";
  break;
case(3):
  print "Værdi 3:</p>";
  break;
}
include $underside."txt";
?>

:)
Avatar billede jakoba Nybegynder
01. december 2004 - 22:36 #3
Nåe jo. du skal også sørge for ikke at hente siden mere end een gang.

<?php
$side = $_GET['side'];
?>
<p>Værdi alle_siderne:</p>
<?php
  include("value1/val" & $side & ".txt");
?>

det kunne også være en god ide at udvide med en if sætning så du er sikker på at få det at vide hvis du prøver at hente en side der ikke findes:

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

if ( $side < 1  ||  $side > 3 ) {
?>
<p>Værdi <? echo $side; ?>:</p>
<?php
  include("value1/val" & $side & ".txt");
}
else {
?>
<p>Der er ikke nogen side med nummer <? echo $side; ?></p>.
<?
}
?>

mvh JakobA
Avatar billede dcheng Novice
01. december 2004 - 22:37 #4
Noget i retning af ?

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

if($side=1) {
echo "<p>Værdi 1:</p>";
      include("value1/val" & $side & ".txt");
      } elseif ($side=2) {
echo "<p>Værdi 2:</p>";
      include("value2/val" & $side & ".txt");
      } elseif ($side=3) {
echo "<p>Værdi 3:</p>";
      include("value3/val" & $side & ".txt");
      } else {
echo "Siden findes ikke";0,
      }
?>
Avatar billede klep2manen Nybegynder
01. december 2004 - 22:37 #5
Her er noget der ligner det jeg bruger på min side...

<?php
if ($_GET['underside']) {
$underside = $_GET['underside'];
$filename = "includes/$underside.php";
if (file_exists($filename)) {
  include("includes/$underside.php");
} else {
  echo "<p>Siden blev ikke fundet!!</p>";
}
} else {
include("includes/index.php");
}
?>
Avatar billede jakoba Nybegynder
01. december 2004 - 22:38 #6
Bvadr. jeg vendte if betingelsen den gale vej. det skal være:
if ( $side >= 1  &&  $side <= 3 ) {
Avatar billede stalle Nybegynder
02. december 2004 - 07:04 #7
Jeg må sige, jeg er størst tilhænger af lengend.dk's switch metode.
Ikke at jeg skulle kunne sige om det er den mest rigtige metode og bruge.
Avatar billede sukos Juniormester
02. december 2004 - 10:30 #8
En anden måde at gøre det på, kunne være:
1. Du bruger et bestemt dir til dine includefiler
2. Filerne er "sigende" navngivet, f.eks. kontakt.php, links.php etc.

<?php
$filer = array();
$ej_med = array("forside.php", "error.php");

$includedir = $_SERVER["DOCUMENT_ROOT"] ."/minefiler/";

$dir = opendir($includedir);
while (false !== ($files = readdir($dir))) {
    if (is_file($includedir . $files) && !in_array($files, $ej_med)) {
    array_push($filer, $files);
    }
}
closedir($dir);
sort($filer);

$id = array_keys($filer);
$filnavn = array_values($filer);

echo"<a href=\"". $_SERVER["PHP_SELF"] ."\">Forsiden</a>";
for($i = 0; $i < count($id); $i++) {
echo"<br>\n<a href=\"". $_SERVER["PHP_SELF"] ."?side=". ($id[$i]+1) ."\">". substr($filnavn[$i], 0, -4) ."</a>";
}

echo"<p>";

if(isset($_GET["side"])) {
    if(in_array(($_GET["side"]-1), $id)) {
    include($includedir . $filnavn[($_GET["side"]-1)]);
    }else{
    include($includedir . $ej_med[1]);
    }
}else{
include($includedir . $ej_med[0]);
}

?>
Avatar billede knudx Nybegynder
02. december 2004 - 14:35 #9
For at få en url som f.ex. /side.php?9876 i stedet for /side.php?side=9876 kan du bruge flg. to linier i starten:

$side = array_keys($_GET);
$side = $side[0];
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