Avatar billede Frederik Nybegynder
15. januar 2008 - 23:37 Der er 14 kommentarer og
1 løsning

Spørgsmål angående include af sider.

Hej.

Jeg har en side hvor jeg anvender include af sider.

f.eks.

if($pageid == "1" && $kategori="content"){ include("content.php");
}

Mit spørgsmål lyder således:
Hvis der ikke er en angiven værdi i pageid eller kategori, hvilken else sætning skal jeg så skrive for, at siden bliver på den nuværende side?

På fårhånd tak!


- Frederik
Avatar billede nomisweb Nybegynder
16. januar 2008 - 00:01 #1
Måske kan du skrive:

if($pageid !== "1" && $kategori !="content")
{
include("content.php");
}
Avatar billede Slettet bruger
16. januar 2008 - 14:51 #2
Jeg ville nok skrive:

if($pageid !="1" || $kategori !="content") {
include("content.php");
};
Avatar billede Frederik Nybegynder
16. januar 2008 - 15:42 #3
Hmm... Det hjælper jo ikke når der er mange andre sider.. Så er det jo stadig content der bliver included, selvom man måske er på info siden..
Avatar billede nicolaib Praktikant
16. januar 2008 - 18:35 #4
if(!isset($pageid && $kategori))
{
include 'default.php'; //dette er din defaultside
}elseif($pageid == "1" && $kategori="content")
{
include 'content.php';
}

Dette skulle meget gerne svare på det specifikke spørgsmål - jeg er dog i tvivl om det egentlig er det du vil.
Avatar billede nicolaib Praktikant
16. januar 2008 - 18:37 #5
$pageid  og $kategori kan du jo erstatte med $_GET['pageid']  og $_GET['kategori']  og så echo'e dem ud hvis det er det dine sider hedder.
Avatar billede olebole Juniormester
17. januar 2008 - 00:11 #6
<ole>

if ($pageid == "1" && $kategori="content") {
    include("content.php");
    exit;
}

Så inkluderer dokumentet content.php, hvis begge variabler indeholder det forventede - og stopper udskrivningen af resten af dokumentet, der er kaldt.

Ellers udskrives blot det dokument, der er kaldt ... hvis jeg altså forstår dit spørgsmål korrekt  :)

/mvh
</bole>
Avatar billede Frederik Nybegynder
20. januar 2008 - 12:09 #7
olebole:

Undskyld jeg ikke har svaret tilbage før nu. Har været på skiferie, så har ikke kunnet komme på nettet.

Jeg f¨år en fejlmeddelelse når jeg bruger exit...
Min oprindelige include ser sådan ud:

        <?
        if($pageid == "1" && $kategori="content"){ include("content.php");
        }
        else if($pageid == "2" && $kategori="Tilføj menu"){ include("menu/add.php");
        }
            else if($pageid == "3" && $kategori="Tilføj menu kategori"){ include("menu/addkategori.php");
        }
            else if($pageid == "4" && $kategori="menukategori"){ include("menu/addkategori-ok.php");
        }
        else if($pageid == "5" && $kategori="Tilføj menu punkt"){ include("menu/addmlink.php");
        }
        else if($pageid == "6" && $kategori="menupunkt"){ include("menu/addmlink-ok.php");
        }
            else if($pageid == "7" && $kategori="Menu"){ include("menu/menu.php");
        }
        else if($pageid == "8" && $kategori="Tilføj billede"){ include("picupload/add.php");
        }
        else if($pageid == "9" && $kategori="addpic"){ include("picupload/upload-ok.php");
        }
        else if($pageid == "10"){ include("picupload/getpicture.php");
        }
        else if($pageid == "11" && $kategori="$kategori"){ include "picupload/getpicturekategori.php";
        }
        else if($pageid == "12" && $kategori="$kategori"){ include("picupload/showpicture.php");
        }
        else if($pageid == "13" && $kategori=""){ include("admin/status.php");
        }
        else if($pageid == "14" && $kategori=""){ include("admin/login.php");
        }
        else if($pageid == "15" && $kategori=""){ include("admin/login_confirm.php");
        }
        else if($pageid == "16" && $kategori=""){ include("admin/medit/admin_link.php");
        }
        else if($pageid == "17" && $kategori=""){ include("admin/medit/link_edit_ok.php");
        }
        else if($pageid == "18" && $kategori=""){ include("admin/medit/mlinkedit.php");
        }
                        else {
        }
      ?>


Kan du se hvad jeg skal ændre?


- Frederik
Avatar billede olebole Juniormester
20. januar 2008 - 14:10 #8
I alle dine if-sætninger mangler du et lighedstegn i anden betingelse:
    if($pageid == "1" && $kategori="content"){

- skal være:
    if($pageid == "1" && $kategori=="content"){

- osv  ;o)
Avatar billede Frederik Nybegynder
22. januar 2008 - 08:56 #9
det har jeg så ændret nu:

          <?
        if($pageid == "1" && $kategori=="content"){ include("content.php");
        }
        else if($pageid == "2" && $kategori=="Tilføj menu"){ include("menu/add.php");
        }
            else if($pageid == "3" && $kategori=="Tilføj menu kategori"){ include("menu/addkategori.php");
        }
            else if($pageid == "4" && $kategori=="menukategori"){ include("menu/addkategori-ok.php");
        }
        else if($pageid == "5" && $kategori=="Tilføj menu punkt"){ include("menu/addmlink.php");
        }
        else if($pageid == "6" && $kategori=="menupunkt"){ include("menu/addmlink-ok.php");
        }
            else if($pageid == "7" && $kategori=="Menu"){ include("menu/menu.php");
        }
        else if($pageid == "8" && $kategori=="Tilføj billede"){ include("picupload/add.php");
        }
        else if($pageid == "9" && $kategori=="addpic"){ include("picupload/upload-ok.php");
        }
        else if($pageid == "10"){ include("picupload/getpicture.php");
        }
        else if($pageid == "11" && $kategori=="$kategori"){ include "picupload/getpicturekategori.php";
        }
        else if($pageid == "12" && $kategori=="$kategori"){ include("picupload/showpicture.php");
        }
        else if($pageid == "13" && $kategori==""){ include("admin/status.php");
        }
        else if($pageid == "14" && $kategori==""){ include("admin/login.php");
        }
        else if($pageid == "15" && $kategori==""){ include("admin/login_confirm.php");
        }
        else if($pageid == "16" && $kategori==""){ include("admin/medit/admin_link.php");
        }
        else if($pageid == "17" && $kategori==""){ include("admin/medit/link_edit_ok.php");
        }
        else if($pageid == "18" && $kategori==""){ include("admin/medit/mlinkedit.php");
        }
                        else {
        }
      ?>


Det giver jo så bare samme resultat som jeg startede ud med.. Den bliver ikke på samme side.

Vil det være lettere at omskrive min menu, så den ikke vil påvirke sidevisningen ved at vælge en topkategori?


min menufil ser sådan ud:

<?php


function menuliste() {




include ("config.php");



    $query1 = "select * from mkategori";
    $result1 = mysql_query($query1);


        while($row1 = mysql_fetch_array($result1))
        {
          $topkat = array($row1['mtopkategori']);
          echo "<a class='top' href='?kategori=".$topkat[0]."'>".$topkat[0]."</a><br>";
           


            if($_REQUEST['kategori'] == '') {
            }
            elseif($_REQUEST['kategori'] == $topkat[0])
            {
                      $query2 = "select * from mlink where mtopkategori = '".$topkat[0]."'";
                      $result2 = mysql_query($query2);



                        while($row2 = mysql_fetch_array($result2))
                        {
                          $link = array($row2['mid'],$row2['mpunkt'],$row2['mlink']);
echo "<a class='link' href='".$link[2]."&kategori=".$row2['mpunkt']."'>".$link[1]."</a><br>";

                }

            }
           
        }
       
    mysql_close();

}

menuliste();
         
?>



- Frederik
Avatar billede olebole Juniormester
22. januar 2008 - 22:33 #10
Hvis lige, hvordan du skaber $pageid og $kategori - og prøv i øvrigt selv at skrive dem ud på siden
Avatar billede Frederik Nybegynder
23. januar 2008 - 17:00 #11
Er ikke helt sikker på hvad du mener..

Men et link jeg har, ser sådan ud:
index.php?pageid=2&kategori=tilføj menu


Det jeg tilføjer et link med er sølgende filer:

<form action="index.php?pageid=6" method="post">
    <tr>
        <td>Menu kategori:</td>
        <td><select name="mtopkategori">
<?
                include ("config.php");
                $query = mysql_query("SELECT mtopkategori, mid FROM mkategori ORDER BY mid") or die(mysql_error());
                while($row = mysql_fetch_assoc($query)){
                echo"<option>
                ".$row['mtopkategori']."
                </option>";}
?>
</select><font color="red">*</font></td>
    </tr>
    <tr>
        <td>Menu punkt:</td>
        <td><input type="text" name="mpunkt"><font color="red">*</font></td>
    </tr>
        <tr>
        <td>Menu link:</td>
        <td><select name="mlink">
        <option>
        index.php?pageid=1&kategori=content
        </option>
        <option>
        index.php?pageid=2&kategori=tilføj menu
        </option>
        <option>
        index.php?pageid=8
        </option>
        <option>
        index.php?pageid=11
        </option>
        </select>
                <font color="red">*</font></td>
    </tr>
    <tr>
        <td></td>
        <td><br><input type="submit" name="add" value="Tilføj menu link"></td>
    </tr>
</form>


Filen der ssender det til databasen ser sådan ud:
<?php
require("config.php");
$add = $_POST['add'];
if(empty($add)) {
  ?>
  <br><a href="index.php?pageid=5">Tilføj menu link</a>
  <?php
  } else {

$mtopkategori = $_POST['mtopkategori'];
$mpunkt = $_POST['mpunkt'];
$mlink = $_POST['mlink'];

if(empty($mtopkategori) OR empty($mpunkt) OR empty($mlink)) {
    echo '<font color="red"><b>Fejl!</b></font><br>Felterne markeret med en <font color="red">*</font> <u>skal</u> udfyldes!<br><br>
<a href="index.php?pageid=5"><b>Tilbage</b></a>';}

else {
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);
mysql_query("insert into mlink (mtopkategori, mpunkt, mlink) values ('$mtopkategori', '$mpunkt', '$mlink')")
or die(mysql_error());
print "Menu linket <b>\"$mpunkt\"</b> er nu tilføjet til databasen.";
?>
<br>
Gå til <a href="index.php?pageid=7"><b>menu</b></a>
<?php
}
}
?>
Avatar billede olebole Juniormester
23. januar 2008 - 20:31 #12
Der er en del af koden, der skal skrives om, men jeg orker ikke lige nu. For det første bør du undlade at bruge POST- og GET-variabler i én og samme form-request. Det skaber kun rod. I stedet for at skrive variablen 'pageid' i action-attributten - og i stedet lægge den i et skjult felt.

Dernæst bør du sætte values på dine options og undlade at bruge specialtegn som mellemrum og æ, ø eller å (eks: 'tilføj menu').

- muligvis er der mere, jeg ikke lige har set (er dødtræt)  :)

Sidst, men ikke mindst, mangler du stadig at forklare, hvor variablerne i denne linje kommer fra:
    if ($pageid == "1" && $kategori="content") {

Mangler du mon ikke disse to linjer:
    $pageid = $_POST["pageid"];
    $kategori = $_POST["kategori"];

NB: De to sidste linjer virker naturligvis kun, hvis du ikke sender 'pageid' som GET-variabel  ;o)
Avatar billede olebole Juniormester
23. januar 2008 - 20:33 #13
"I stedet for at skrive variablen 'pageid' i action-attributten bør du lægge den i et skjult felt."  =)
Avatar billede Frederik Nybegynder
24. januar 2008 - 19:25 #14
Min index.php ser sådan ud:

<? session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
    <?
    $pageid = $_GET['pageid'];
    ?>
    <?
    $kategori = $_GET['kategori'];
    ?>
<html>
<head>
<title>RecaroShop.dk</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="shortcut icon" href="icon.ico">
</head>
<body>
<div id="center">
    <div id="top">
    <div id="logo">
    </div>
    <div id="banner">
    Banner
    </div>
    </div>

          <div id="content">
          <br>
          <div class="contentcontent">
          <div class="contentt">
          top
          </div>
          <div class="contentc">
          <?
        if($pageid == "1" && $kategori=="content"){ include("content.php");
        }
        else if($pageid == "2" && $kategori=="Tilføj menu"){ include("menu/add.php");
        }
            else if($pageid == "3" && $kategori=="Tilføj menu kategori"){ include("menu/addkategori.php");
        }
            else if($pageid == "4" && $kategori=="menukategori"){ include("menu/addkategori-ok.php");
        }
        else if($pageid == "5" && $kategori=="Tilføj menu punkt"){ include("menu/addmlink.php");
        }
        else if($pageid == "6" && $kategori=="menupunkt"){ include("menu/addmlink-ok.php");
        }
            else if($pageid == "7" && $kategori=="Menu"){ include("menu/menu.php");
        }
        else if($pageid == "8" && $kategori=="Tilføj billede"){ include("picupload/add.php");
        }
        else if($pageid == "9" && $kategori=="addpic"){ include("picupload/upload-ok.php");
        }
        else if($pageid == "10"){ include("picupload/getpicture.php");
        }
        else if($pageid == "11" && $kategori=="$kategori"){ include "picupload/getpicturekategori.php";
        }
        else if($pageid == "12" && $kategori=="$kategori"){ include("picupload/showpicture.php");
        }
        else if($pageid == "13" && $kategori==""){ include("admin/status.php");
        }
        else if($pageid == "14" && $kategori==""){ include("admin/login.php");
        }
        else if($pageid == "15" && $kategori==""){ include("admin/login_confirm.php");
        }
        else if($pageid == "16" && $kategori==""){ include("admin/medit/admin_link.php");
        }
        else if($pageid == "17" && $kategori==""){ include("admin/medit/link_edit_ok.php");
        }
        else if($pageid == "18" && $kategori==""){ include("admin/medit/mlinkedit.php");
        }
                        else {
        }
      ?>
          </div>
          <div class="contentb">
          </div>
          </div>
          </div>


                            <div id="leftmenu">
                            <br>
                            <div class="menucontent">
                            <div class="menucontentt">
                            Navigation
                            </div>
                            <div class="menucontentc">
                            <?
                            include "menu/menu.php";
                            ?>
                            </div>
                            <div class="menucontentb">
                            </div>
                            </div>
                            <br>
                            <div class="menucontent">
                            <div class="menucontentt">
                            Reklame
                            </div>
                            <div class="menucontentc">

                            indhold

                            </div>
                            <div class="menucontentb">
                            </div>
                            </div>
                            <br>
                            </div>





                            <div id="rightmenu">
                            <br>
                            <div class="menucontent">
                            <div class="menucontentt">
                            Admin login:
                            </div>
                            <div class="menucontentc">
                            <?
                            include "admin/login.php";
                            ?>
                            </div>
                            <div class="menucontentb">
                            </div>
                            </div>
</div>
</body>
</html>

I toppen er vist det du spørger efter:
"Mangler du mon ikke disse to linjer:
    $pageid = $_POST["pageid"];
    $kategori = $_POST["kategori"];"


men af hvad jeg umiddelbart kan se, skal menuen skrives om, ellers kan jeg vil ikke anvende den side visnings metode som jeg anvender nu????
Avatar billede Frederik Nybegynder
12. februar 2008 - 17:57 #15
- lukker
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