Website-Fehler

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Website-Fehler

    Hallo erstmal ich bin ganz neu hier und grade dabei Html Php und css zu lernen.Dazu habe ich mir ein paar Tutorials angesehen und sie nach gemacht.Das ganze will aber leider nicht so ganz wie ich will.
    Hier erstmal die Dateien

    index.php:
    PHP-Code:
    <?php
        
    include_once("includes/functions.inc.php");
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <meta name="author" content="Philipp Goeldner" />
        <link href="style/style.css" rel="stylesheet" type="text/css" />   
        
        <title><?php title();?></title>

     </head>

        <body background="images/background.jpg" >

            <!-- Template Start -->
                <div class="container">

                <div class="header">
                    <img src="images/header.png" />
                </div>

                <!-- Navigation -->
                    <div class="navigation">
                        <a href="index.php?page=home">Startseite</a>
                        <a href="index.php?page=Unsere Top 10 App's">Unsere Top 10 App's</a>
                    </div>
                    
                <!-- Container 1 -->
                    <div class="container1">
                    <?php
                        print_content
    ();
                    
    ?>
                                    
            <!-- Template Ende -->
        </body>
    </html>
    functions.inc.php
    PHP-Code:
    <?php

    /**
     * @author Philipp Goeldner
     * @copyright 2011
     * @content Funktionen für den Inhalt meiner Website
     */

    function title()
    {
        
    //das ist die funktion zum setzten des seiten Titels
        
    if (isset($_GET["page"]))
        {
            
    //Dann Abfrage ausführen
            
    $seite $_GET ["page"];
            switch (
    $seite)
            {
                case 
    "home":
                    echo 
    "die-apper Startseite";
                    break;
                case 
    "Unsere Top 10 App's":
                    echo 
    "Unsere Top 10 App's";
                    break;   
            }
        }
        else
        {
            echo 
    "die-apper - Startseite";
        }
    }

    function 
    print_content()
    {
            
    //Hier wird der Content ausgegeben
            
    if (isset($_GET["page"]))
        {
            
    //Dann die Seite einfügen
            
    $seite $_GET ["page"];
            switch (
    $seite)
            {
                
    //Dann die passende Seite heraussuchen
                
    case "home":
                    include_once(
    "home.htm");
                    break;
                case 
    "Unsere Top 10 App's":
                    include_once(
    "Die Top 10 App's.htm");
                    break;  
            }
        }
        else
        {
            
    //Dann die Startseite einfügen
                
    include_once ("home.htm");
                include_once(
    "Die Top 10 App's.htm");
        }
        
            

    }
    ?>
    und dann noch die style.css
    HTML-Code:
    body{
        font-family: sans-serif;
    }
    /*Container für alle anderen Divs */
    .container{
        width: 800px;
        margin:auto;
    }
    /*Container für den Header */
    .header{
        height: 200px;
        margin-left: auto;
        margin-right: auto;
        }
    /*Content Container */
    .container1{
        margin-left:15%;
        margin-top:-40px;
    }
    
    /*Container für die Navigation */
    .navigation{
        margin-right:auto;
        margin-top: 5px;
        width:15%;
    }
    /*Navigationseinträge */
    .navigation_schrift{
        float:left;
        font:13px;
        width:100% ;
        font-family: sans-serif;
        font-weight:bold;
        text-decoration: none;
        margin:0px 0px 3px 5px;
    }
    .navigation_schrift:hover{
        color: blue;
    }
    Mein Problem ist hier die functions.inc.php datei.Hier wird nämlich nicht der Seiten titel angepasst.Oder die datei home.htm eingefügt (oder wie man das nennt include= inkludieren ?).
    Außerdem will ich einen Login einbauen.Dieser soll folgender Maßen Funktionieren:
    1.Festes Passwort (für die Admins) aber von Admin zu Admin eine andere ID.
    2.Wenn man eingeloggt ist soll man die Texte bearbeiten können und neue schreiben können.


    Leider habe ich wenig Ahnung wie ich das realisieren kann.Ich hoffe ihr könnt mir helfen

    Mit Freundlichen Grüßen der-apper

  • #2
    also beim durchlesen hab ich schon einen fehler gefunden

    [COLOR=#ff9900]
    Code:
    [COLOR=#ff9900]//Dann Abfrage ausführen[/COLOR]
    [COLOR=#0000cc]$seite [/COLOR][COLOR=#006600]= [/COLOR][COLOR=#0000cc]$_GET [/COLOR][COLOR=#006600][[/COLOR][COLOR=#cc0000]"page"[/COLOR][COLOR=#006600]];[/COLOR]
    [/COLOR]

    [COLOR=#006600]richtig[/COLOR]

    Code:
    [COLOR=#006600][COLOR=#006600]$seite = $_GET["page"];[/COLOR]
    [/COLOR]
    [COLOR=#006600]also war ein Lerrzeichen zwischen[/COLOR]

    [COLOR=#006600]bei der funktion print_content das gleiche[/COLOR]

    [COLOR=#006600]was noch ein Grund sein könnte, der Apostroph bei[/COLOR]

    [FONT=Courier New][COLOR=#006600]
    Code:
    case [/COLOR][COLOR=#cc0000]"Unsere Top 10 App's" :[/COLOR][/FONT]
    [COLOR=#006600][FONT=Courier New]ich würde da einfach nur top10 schreiben und auch den Link anpassen[/FONT][/COLOR]
    [FONT=Courier New][COLOR=#006600][/COLOR][/FONT]
    dann würde ich empfehlen in der index.php nicht include_once zu verwenden sondern require, denn include gestattet die weitere Auführung des Codes, auch wenn die zu ladende Datei nicht vorhanden ist, require bricht mit einer fehlermeldung ab, wenn die Datei nicht vorhanden ist und die functions.inc.php wird ja nun zwangsweise gebraucht.

    in der functions.inc macht include_once nur Sinn, wenn home.htm und andere im gleichen Verzeichnis wie die functions.inc.php ist,


    [COLOR=#006600]Sven[/COLOR]
    Zuletzt geändert von phpsven; 21.05.2011, 14:27.

    Kommentar


    • #3
      ok jetzt kommt keine Fehlermeldung mehr danke.Ein fehler hab ich aber noch wenn ich die seite normal aufrufe kommt der text der home.htm datei (Inhalt=unwichtig) aber wenn ich auf startseite drücke ist der text weg eig. soll er dann immernoch da sein!Wie kann ich das umbauen bzw. wo ist mir ein fehler unterlaufen?
      Hab die Sache mit Top 10 rausgelöscht also bei der print_content werde es später wenn alles wieder klappt einfügen
      also soll ich einfach die home.htm in das verzeichnis functions.inc.php schieben?(grad probiert ohne ergebnis alles gleich dann bleibt mir nur die andere lösung ich versuche diese heute abend
      Zuletzt geändert von der-apper; 21.05.2011, 14:31.

      Kommentar


      • #4
        aber da scheinste noch einen Fehler zu haben

        Code:
         
        else
            {
                [COLOR=#ff9900]//Dann die Startseite einfügen[/COLOR]
        [COLOR=#006600]include_once ([/COLOR][COLOR=#cc0000]"home.htm"[/COLOR][COLOR=#006600]);[/COLOR]
        [COLOR=#006600]          include_once([/COLOR][COLOR=#cc0000]"Die Top 10 App's.htm"[/COLOR][COLOR=#006600]);[/COLOR]
        [COLOR=#006600]  }[/COLOR]
        warum soll der da beide Seiten laden

        so wie du es beschreibst sieht es so aus als wenn home.htm keinen Inhalt hat und er nur die [COLOR=black]Die Top 10 App's.htm lädt[/COLOR]
        [COLOR=black][/COLOR]
        [COLOR=black]wegen der home.htm ins verzeichnis von der functions.inc.php, oder du gibst den Ordner an bei include_once wo die home.htm liegt[/COLOR]
        [COLOR=black][/COLOR]
        [COLOR=black]hier noch ein Link wo die Funktion und auch andere gut beschrieben sind: http://de3.php.net/manual/de/function.include-once.php[/COLOR]
        Zuletzt geändert von phpsven; 21.05.2011, 14:49.

        Kommentar


        • #5
          PHP-Code:
          include_once("Die Top 10 App's.htm"); 
          Und bitte NIEMALS Dateien so benennen. Das gibt immer wieder Ärger. Mach daraus eine "die_top_10_apps.htm" oder so ähnlich. Also immer nur Buchstaben von a-z (groß oder klein), Zahlen, Unter- oder Bindestrich. Mehr nicht! Selbst bei Umlauten kann es schon zu Problemen kommen.

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            die functions.inc.php sieht jetzt so aus.
            PHP-Code:
            <?php

            /**
             * @author Philipp Goeldner
             * @copyright 2011
             * @content Funktionen für den Inhalt meiner Website
             */

            function title()
            {
                
            //das ist die funktion zum setzten des seiten Titels
                
            if (isset($_GET["page"]))
                {
                    
            //Dann Abfrage ausführen
                    
            $seite $_GET["page"];
                    switch (
            $seite)
                    {
                        case 
            "home":
                            echo 
            "die-apper Startseite";
                            break;
                        case 
            "Unsere Top 10 App's":
                            echo 
            "Unsere Top 10 App's";
                            break;   
                    }
                }
                else
                {
                    echo 
            "die-apper - Startseite";
                }
            }

            function 
            print_content()
            {
                    
            //Hier wird der Content ausgegeben
                    
            if (isset($_GET["page"]))
                {
                    
            //Dann die Seite einfügen
                    
            $seite $_GET["page"];
                    switch (
            $seite)
                    {
                        
            //Dann die passende Seite heraussuchen
                        
            case "home":
                            include_once
            './home.htm';
                            break; 
                    }
                }
                else
                {
                    
            //Dann die Startseite einfügen
                        
            include_once './home.htm';
                }
                
                    

            }
            ?>

            wenn ich die seite mit meinem Browser aufrufe kommt der Inhalt von der home.htm in meinem fall (Hallo wie gehts?) aber wenn ich auf Startseite drücke kommt nicht da steht einfach garnichts irgendwo muss noch ein fehler sein.
            Achja und danke für die Information wegen Dateinamen

            Kommentar


            • #7
              nimm mal das break; raus

              ich selber arbeite nicht mit switch, ich glaube aber daß das break; da falsch ist

              ich glaube da ist noch ein Fehler, ich weiß nicht ob Register_Globals automatisch in Funktionen sichtbar sind. schreib mal gleich als erste Anweisung in beiden Funktionen:

              global $_GET;
              Zuletzt geändert von phpsven; 21.05.2011, 18:41.

              Kommentar


              • #8
                beides versucht nichts ändert sich alles wie vorher
                datei sind nun so aus kann man das switch irgendwie umschreiben (drüfte es dann klappen)
                PHP-Code:
                <?php

                /**
                 * @author Philipp Goeldner
                 * @copyright 2011
                 * @content Funktionen für den Inhalt meiner Website
                 */

                function title()
                {
                    global 
                $_GET;
                    
                //das ist die funktion zum setzten des seiten Titels
                    
                if (isset($_GET["page"]))
                    {
                        
                //Dann Abfrage ausführen
                        
                $seite $_GET["page"];
                        switch (
                $seite)
                        {
                            case 
                "home":
                                echo 
                "die-apper Startseite";
                                
                            case 
                "Unsere Top 10 App's":
                                echo 
                "Unsere Top 10 App's";
                                   
                        }
                    }
                    else
                    {
                        echo 
                "die-apper - Startseite";
                    }
                }

                function 
                print_content()
                {
                        global 
                $_GET;    
                        
                //Hier wird der Content ausgegeben
                        
                if (isset($_GET["page"]))
                    {
                        
                //Dann die Seite einfügen
                        
                $seite $_GET["page"];
                        switch (
                $seite)
                        {
                            
                //Dann die passende Seite heraussuchen
                            
                case "home":
                                include_once
                './home.htm';
                                
                        }
                    }
                    else
                    {
                        
                //Dann die Startseite einfügen
                            
                include_once './home.htm';
                    }
                    
                        

                }
                ?>
                Zuletzt geändert von der-apper; 21.05.2011, 18:57.

                Kommentar


                • #9
                  ich muß mich entschuldigen das break; nach dem include_once war doch richtig.

                  warum eigentlich Funktionen?

                  ich würds so machen:

                  index.php
                  PHP-Code:
                  <?php
                  if (isset($_GET["page"]))
                        {
                        
                  //Dann die Seite einfügen
                        
                  $seite $_GET["page"];
                        if(
                  $seite=="home"$titel="Home";
                        elseif(
                  $seite=="top10"$titel="Top10";
                        
                  /* hier weitere Abfragen eintragen */
                        
                  }
                  else 
                  $titel="Home";
                  ?>
                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
                   
                  <head>
                  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
                  <meta name="author" content="Philipp Goeldner" />
                  <link href="style/style.css" rel="stylesheet" type="text/css" />
                  <title><?php echo "$title"?></title>
                  </head>
                   
                      <body background="http://www.php-resource.de/forum/images/background.jpg" >
                   
                          <!-- Template Start -->
                              <div class="container">
                   
                              <div class="header">
                                  <img src="http://www.php-resource.de/forum/images/header.png" />
                              </div>
                   
                              <!-- Navigation -->
                                  <div class="navigation">
                                      <a rel="nofollow" href="index.php?page=home">Startseite</a>
                                      <a rel="nofollow" href="index.php?page=top10">Unsere Top 10 App's</a>
                                  </div>
                   
                              <!-- Container 1 -->
                                  <div class="container1">
                   
                  <?php
                  if (isset($_GET["page"]))
                        {
                        
                  //Dann die Seite einfügen
                        
                  $seite $_GET["page"];
                        if(
                  $seite=="home") include 'home.htm';
                        elseif(
                  $seite=="top10") include 'top10.htm';
                        
                  /* hier weitere Abfragen eintragen */
                        
                  }
                  else include 
                  'home.htm';
                  ?>
                  </body>
                  </html>
                  Zuletzt geändert von phpsven; 21.05.2011, 20:54. Grund: {

                  Kommentar


                  • #10
                    immernoch das selbe.... wie vorher nichts hat sich geändert nur das da hintergrundbild(nach anpassung) nicht da ist ..naja so wie es aussieht wird das eh nicht klappen ich pausiere bzw. beende mein Projekt und lese erstmal paar Php und Mysql bücher... (html und css ist ja wirklich nicht soooo schwer)
                    Zuletzt geändert von der-apper; 21.05.2011, 21:31.

                    Kommentar


                    • #11
                      natürlich mußt du noch die richtigen Ordner reinsetzen in denen sich die *.htm dateien befinden immer ausgehend wo sich die index.php befindet.

                      Kommentar


                      • #12
                        PHP-Code:
                        global $_GET
                        Das ist tinnef, da $_GET superglobal ist. Außerdem vermute ich, dass das Problem hier liegt:
                        PHP-Code:
                        case "Unsere Top 10 App's"
                        Dir fehlen wohl noch urlencode und urldecode.

                        Peter
                        EDIT:
                        Außerdem heißt das Apps und nicht App's. Also ohne Deppenapostroph.
                        Zuletzt geändert von Kropff; 22.05.2011, 16:57.
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar

                        Lädt...
                        X