Ankündigung

Einklappen
Keine Ankündigung bisher.

Einer oder Mehr Seiten

Einklappen

Neue Werbung 2019

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

  • Einer oder Mehr Seiten

    Hallo alle zusammen.
    Ich habe mir eine Seite gebaut die nur eine Index.php ist. Den ganzen inhalt hole ich mir mit include und aus einer datenbank. Nun zu meiner frage. Ist das sinvoll??? oser sollte ich liebe für jedes Thema eine Datei benutzen. Ich frage wegen der Suchmaschinen-optimierung. Da ich ja die Metatags nicht ändern kann.
    zB.

    ist:
    index.php/?content=Home
    index.php/?content=Projekte
    index.php/?content=Galerie

    oder lieber so:
    index.php
    Home.php
    Projekte.php
    Galerie.php
    hier sind dann auch die db Abfragen drin.

    freue mich auf eure Antworten.

    LG


  • #2
    Von der Wartbarkeit ist es meist besser nur eine bzw wenige Einsprungsdatei(en) zu haben. Die Suchmaschinenoptimieren kannst du auch problemlos über mod_rewrite erledigen.

    Kommentar


    • #3
      Zitat von NoVoices Beitrag anzeigen
      Hallo alle zusammen.
      Ich habe mir eine Seite gebaut die nur eine Index.php ist. Den ganzen inhalt hole ich mir mit include und aus einer datenbank. Nun zu meiner frage. Ist das sinvoll??? oser sollte ich liebe für jedes Thema eine Datei benutzen. Ich frage wegen der Suchmaschinen-optimierung. Da ich ja die Metatags nicht ändern kann.
      Wieso solltest du das nicht ändern können?
      Wenn schon deine Seiten in der DB sind, kannst du die zusätzlichen Infos ja auch dort platzieren!

      Kommentar


      • #4
        in die index datei kommt nur php code db abfragen und solch kram hinein. Und in die Home.ph, Projekte.php der ganze html Kram, sicherlich kann man dann dort auch die meta's vergeben.

        Kommentar


        • #5
          Ich würde alles über die index.php laufen lassen, und dort je nachdem was reinkommt, also egal ob du die uRl durchparsen willst oder Parameterbahängig das ganze regeln willst, und dort dann eine Datei einbinden.
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar


          • #6
            Hallo, danke für die schnellen antworten.
            zu mod_rewrite: ich gebe zu das ich zur Zeit keine Ahnung habe wie ich das für eine optimierung nutzen sollte.

            im Grunde würde ich auch die Seite nicht umstricken wollen, würde es aber machen wenn es besser (Professioneller) ist. Ich hatte mal versucht die metatags in die DB zu nehmen aber dann kam ne Meldung das er zB. <Titel> nicht überschreiben könne oder so.

            Das ist meine index.php
            Code:
            <body>
            
            <div id="rahmen">
            	
                <div id="topline">
               		<div id="ip"><?php echo "IP&nbsp;:&nbsp;" .getenv("REMOTE_ADDR"); ?></div>
                	<div id="klicks"><?php include ('counter.php'); ?></div>
                </div>
              	
                <div id="kopf"></div>
              
              	<div id="menue-background">
                	<div id="menue">
                  		<?php include('menue.php'); ?>
                	</div>
              	</div>
                
              	<div id="content">
                  <?php 
                    $content = $_REQUEST[content];
              
                    if ($content == "")
                    {
                      $content = "Home";
                    }
              
                    include('content/content-'.$content.'.php');
              
                  ?>
              	</div>
                
              	<div id="fuss">
                	<?php include('fuss.php'); ?>
              	</div>
                
            </div>
              
            </body>
            und das währe einer der inhalte
            Code:
            <div id="content-titel">
            <a style="font-size:16px; color:#a3a3a3;"><strong>Projekte</strong></a>
            </div>
            
            <div id="submenue">
            	<?php
            		include('./menues/menue-projekte.php');
            	?>
            </div>
            
            <div id="submenue-line"></div>
            
            <div id="subcontent-pos">
            <div id="subcontent-pos-inhalt">
            <?php
              
              	$sub_cont = $_REQUEST[sub_cont];
              	if ($sub_cont == "")
              	{
            		$sub_cont = "Projekte";
                }
                
                if ($sub_cont == "Projekte")
                {
                include('dbopen.php');
              
                if ($db)
                {
                $abfrage = "SELECT * FROM content WHERE titel = '$sub_cont'";
                mysql_query("SET names 'utf8'");
                $ergebnis = mysql_query($abfrage);
                
                while($row = mysql_fetch_object($ergebnis))
                  {
                  $text = $row->De;
                  
                  echo "
                  $text
                  ";
                  }
                }
                mysql_close($db);
                }
                
                if ($sub_cont == "Projekte-Homepages")
                {
                include('dbopen.php');
              
                if ($db)
                {
                $abfrage = "SELECT * FROM work";
                mysql_query("SET names 'utf8'");
                $ergebnis = mysql_query($abfrage);
                
                while($row = mysql_fetch_object($ergebnis))
                  {
                  $datum = $row->datum;
                  $gerdatum = date("d.m.Y",strtotime($datum));
                  $titel = $row->titel;
                  $bild = $row->bild;
                  $text = $row->text;
                  $link = $row->link;
                  
                  echo "
                  
                  <table cellspacing=\"10\">
                    <tr>
                      <td>
                        <a class=\"text-link-over\" href=\"http://$link\" target=\"_blank\"><img src='./images/$bild'></a>
                      </td>
                      <td>
                        <div>$gerdatum - $titel</div>
                        <div>$text</div>
                        <div><a class=\"text-link-over\" href=\"http://$link\" target=\"_blank\">$link</a></div>
                      </td>
                    </tr>
                  </table>
                  
                  ";
                  }
                }
                mysql_close($db);
                }
                
            ?>
            
            </div>
            </div>
            ist der code so ok oder kann man das noch verbessern?
            Wie sollte ich dan die Optimierung machen?
            bin auch bei google-Webmaster-loos angemeldet.
            Meine seite will er nicht so richtig in google listen. ist eine dyndns - server steht zuhause
            für einen freund habe ich eine seite gemacht die eine "echte" domain hat und auf einem webspace liegt. die hatte er schon nach einem tag gelistet.
            Habt ihr noch vorschläge für mich?

            Kommentar


            • #7
              ok habe gerade noch mal bei google gesucht (site:NoVoices.dyndns.biz) er hat sie endlich drin.
              Aber grundsätzlich bleibt die frage noch offen.

              Kommentar


              • #8
                wie wärs mit einer funktion?
                pages.php
                PHP-Code:
                function displayPages($pageName){
                switch(
                $pageName){
                case 
                'home':{
                include 
                'home.php';
                break;
                }
                case 
                'news':{
                include 
                'news.php';
                break;
                }

                default:{
                include 
                'pagenotfound.php';
                break;
                }
                }

                index.php
                PHP-Code:
                //HTML gedöhns
                include 'pages.php';
                if(isset(
                $_GET['content'])){
                displayPages($_GET['content']);
                }else{
                include 
                'home.php';
                }

                //HTML gedöhns 
                apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                Kommentar


                • #9
                  IMHO wäre es noch schöner, smaller und weniger Wartungsaufwand mit :
                  PHP-Code:
                  $allowedPages = array('home''news''...');
                  if (
                  in_array($pageName$allowedPages)
                  {
                  $pageName $pageName '.php';
                  }
                  else
                  {
                  $pageName 'foobar404.php';
                  }
                  require_once 
                  $pageName

                  Kommentar


                  • #10
                    stimmt schon aber ich bin ein fan von funktionen die funktionieren
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                    Kommentar


                    • #11
                      danke für den vorschlag. Ist die funktion nötig oder besser und wenn warum (nur um es besser zu verstehen) habe es doch sehr ähnlich gelöst, oder?

                      Kommentar


                      • #12
                        funktion ist nicht nötig, ich würde sogar ein array mehr empfehl weil du dann noch zu jeder seite zb zugriffsrechte vergeben kannst

                        PHP-Code:
                        $pages = array(
                        'home' => array(
                        'rights' =>array('user','admin'),
                        'include'=>'irgendwas.php',
                        'avaliablesubs'=>array('sub1','sub2')
                        )
                        ); 
                        und noch weitere eigenschaften die du für eine page benötigst.
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                        Kommentar


                        • #13
                          Zitat von ragtek Beitrag anzeigen
                          IMHO wäre es noch schöner, smaller und weniger Wartungsaufwand mit :
                          PHP-Code:
                          $allowedPages = array('home''news''...');
                          if (
                          in_array($pageName$allowedPages)
                          {
                          $pageName $pageName '.php';
                          }
                          else
                          {
                          $pageName 'foobar404.php';
                          }
                          require_once 
                          $pageName
                          Und noch kürzer (und ohne Syntaxfehler :P):
                          PHP-Code:
                          $allowedPages = array('home''news''...');
                          if(!
                          in_array($pageName$allowedPages))
                              
                          $pageName 'foobar404';
                          require_once 
                          $pageName.'.php'
                          MfG

                          Kommentar


                          • #14
                            Kann dir das hier empfehlen deine Seite zu includieren:

                            PHP-Code:
                            <?php
                            $page 
                            mysql_real_escape_string(htmlspecialchars($_GET['page']));

                            if(!isset(
                            $_GET['page'])){
                                
                            $page 'Home';
                            }else{
                                
                            $page basename($page);
                            }

                            $absPath realpath('pages/'.$page.'.php');
                            if(!
                            is_file($absPath)){
                                include(
                            'error/404.php');
                            }else{
                                include 
                            $absPath;
                            }  
                            ?>
                            $page = 'Home' kannst du anpassen (Hauptseite)
                            include('error/404.php') kannst du ebenfalls anpassen (Errorseite falls eine Seite nicht vorhanden ist)

                            Kommentar


                            • #15
                              also $page zu füllen bevor man überhaupt prüft of $_GET geschickt wurde , würde ich nicht machen

                              mysql_real_escape_string ist wie die funktion bereits sagt, für mysql querys gedacht, wenn ich in die URL eine SQL injection reinschreibe und diese SQL query niemals an eine datenbank gesendet wird, ist diese funktion unnötig

                              wozu basename? ich denke nicht dass seine urls index.php?page=pages/index.php lauten werden

                              realpath macht da auch kein sinn , finde ich.

                              also ragtegs lösung finde ich kurz , schmerzlos und funktionsfähig
                              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                              Kommentar

                              Lädt...
                              X