|
|
lorenzolamas

: 24.02.2010 : 10
|
| : 25.02.2010, 20:39 : Eine header.inc und verschiedene Titel |
|
|
Hallo,
auf meiner Website wird alles über die index.php gesteuert und hier wird auch bereits eine header.inc includet, wo Titel und so weiter eingetragen ist. Das hat natürlich den Nachteil, dass ich jetzt auf jeder Seite ein und den selben Titel habe. Lässt sich das irgendwie umgehen?
Zum Beispiel, dass ich der Seite index.php?page=123 sage, sie soll nich die header.inc nehmen, sondern lieber die die header2.inc. Oder kann ich trotz der header.inc der Seite index.php?page=123 einen anderen Titel geben?
Ich hoffe, es weiß jemand Rat. Über die Suche habe ich ähnliches gefunden, aber nicht genau dieses Problem. |
|
| Nach oben |
|
 |
Andreas I.


: 18.03.2006 : 1426 : Hamburg
|
| : 25.02.2010, 21:24 : Eine header.inc und verschiedene Titel |
|
|
Ja, du musst einfach nur die Parameter aus der URL auslesen und im script header.inc entsprechend reagieren.
Das läuft ja wohl ungefähr so ab, Beispiel-URLs:
index.php?id=42
In header.inc musst du dann für die jeweilige id den passenden Titel ausgeben. Am besten aus einer Datenbank lesen... |
|
| Nach oben |
|
 |
lorenzolamas

: 24.02.2010 : 10
|
| : 25.02.2010, 21:36 : Eine header.inc und verschiedene Titel |
|
|
ok, danke erstmal.
Mal angenomen es ist die hier index.php?page=102
was schreib ich dann in die header.inc ? |
|
| Nach oben |
|
 |
Andreas I.


: 18.03.2006 : 1426 : Hamburg
|
| : 25.02.2010, 22:18 : Eine header.inc und verschiedene Titel |
|
|
Ganz primitiv:
[php]
if ($_GET['page']==102) echo "<title>Ich bin auf Seite 102</title>";
[/php]
Natürlich sollte man das mit einer Datenbank lösen und nicht per if-Abfrage...
Du musst deine header.inc deinen Wünschen anpassen. |
|
| Nach oben |
|
 |
800XE


: 02.12.2004 : 5121 : XENEVU
|
| : 25.02.2010, 23:05 : Eine header.inc und verschiedene Titel |
|
|
| lorenzolamas hat Folgendes geschrieben: |
auf meiner Website wird alles über die index.php gesteuert |
so mach ich das auch
und einunddieselbe index.php ist nicht nur für eine Site(=Domain) sondern für mehrere zuständig
| lorenzolamas hat Folgendes geschrieben: |
ok, danke erstmal.
Mal angenomen es ist die hier index.php?page=102
was schreib ich dann in die header.inc ? |
dort gibst du garnix ein
dort liest du aus
und gibst aus
| Andreas I. hat Folgendes geschrieben: |
Ganz primitiv:
[php]
if ($_GET['page']==102) echo "<title>Ich bin auf Seite 102</title>";
[/php]
Natürlich sollte man das mit einer Datenbank lösen und nicht per if-Abfrage...
Du musst deine header.inc deinen Wünschen anpassen. |
etwas verkürzt
| Code: |
$DCkill_ =$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$metakeywords="";
$metadescript="";
include('cms800/cms800ini.php');
header("HTTP/1.1 200 OK");
include("cms800/cms800.php");
include("cms800/cms800request.php");
include('cms800/cms800filer.php');
if ( $DCkill
&& strcmp($DCkill,$DCkill_) )
{
if ( strstr($DCkill_,'%') )
{
$DCkill_= urldecode ( $DCkill_ );
if ( strcmp($DCkill,$DCkill_) )
make301($DCkill);
}
else make301($DCkill);
}
$CMS800END=microtime_float();
$CMS800RUN=round($CMS800END-$CMS800START,4);
echo(str_replace('_PHPrun_',$CMS800RUN,$tbuf));
|
in der letzten Zeile ist
echo(str_replace('_PHPrun_',$CMS800RUN,$tbuf));
erst dort ist eine ausgabe, vorher wird alle sin $Vars geschieben
Die Inhalte der Vars werden dann genommen um Platzhalter im Template zu ersetzen
=
| Code: |
<header>
<title>_tit_</title>
</header>
.....
|
index.php
| Code: |
$tbuf = file_get_contents( 'template.html' );
// module laden die COntent in $Vars schreiben
$tbuf = str_replace( '_tit_', $tit, $tbuf );
$tbuf = str_replace( '_navi_', $navi, $tbuf );
$tbuf = str_replace( '_content_', $content, $tbuf );
$tbuf = str_replace( '_metadesc_', $metadesc, $tbuf );
$tbuf = str_replace( '_metakey_', $metakey, $tbuf );
echo( $tbuf );
|
aber nur ... /Affilitiv/ ... innovativ |
|
| Nach oben |
|
 |
lorenzolamas

: 24.02.2010 : 10
|
| : 25.02.2010, 23:14 : Eine header.inc und verschiedene Titel |
|
|
Super. So geht es jetzt
<?php
if ($_GET['page']==102) echo "<title>Ich bin auf Seite 102</title>";
?>
Danke dir Andreas I.
Allerdings: Wenn ich jetzt in den Quelltext gehe, stehen dann ja beide Titel drin. Macht google da nicht zicken?
Kann ich den anderen titel auch irgendwie auskommentieren?
Mien Quelltext sieht jetzt so aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ich bin auf Seite 102</title>
<title>xxxxxxxx</title>
<meta name="keywords" content....
usw.... |
|
| Nach oben |
|
 |
Andreas I.


: 18.03.2006 : 1426 : Hamburg
|
| : 26.02.2010, 09:02 : Eine header.inc und verschiedene Titel |
|
|
Du musst erstmal besser PHP (und SQL im MySQL-Dialekt) lernen und dann verstehen, was genau in deiner header.inc gemacht wird.
Wenn Du das dann nachvollziehen kannst, änderst du die header.inc so, wie du es haben wilst.
Und ja, zweimal <title>....</title> würde ich nicht so stehen lassen. |
|
| Nach oben |
|
 |
alpening

: 07.12.2005 : 110 : Miesbach
|
| : 26.02.2010, 09:37 : Eine header.inc und verschiedene Titel |
|
|
Was für deine Einsatzzwecke besser geeignet ist, ist die Switch Funktionen. Schau dir dazu zum Bsp. mal das PHP-Manual an:
http://de2.php.net/manual/en/control-structures.switch.php
Aber wie Andreas schon gesagt hat, versuch erst mal die Grundlagen im Programmieren (im besonderen natürlich PHP) zu verstehen. Dazu gibt's ganz tolle Bücher. |
|
| Nach oben |
|
 |
Andreas I.


: 18.03.2006 : 1426 : Hamburg
|
| : 26.02.2010, 11:16 : Eine header.inc und verschiedene Titel |
|
|
Switch ist hier auch nicht besser als if.
Das ist beides nur beispielhaft.
Ich vermute, dass der Threadstarter ein datenbankbasiertes CMS hat und da nun nicht so richtig weiterweiß, weil er keine Gebrauchsanweisung hat und es sich auch nicht selber erklären kann, weil er von PHP und MySQL zuwenig versteht. |
|
| Nach oben |
|
 |
lorenzolamas

: 24.02.2010 : 10
|
| : 27.02.2010, 12:29 : Eine header.inc und verschiedene Titel |
|
|
Danke erstmal für die weiteren Antworten. Mit Switch komm ich nicht wirklich klar.
Hatte jetzt mal das probiert
if (($_GET['page']=1234.html) ) {
// include special header on "about" page:
include ("ordner/header_1234.inc");
} else {
// otherwise include default header:
include ("ordner/header.inc");
}
klappt aber auch nicht. Muss ich wohl weiter "fummeln"... |
|
| Nach oben |
|
 |
800XE


: 02.12.2004 : 5121 : XENEVU
|
| : 27.02.2010, 21:55 : Eine header.inc und verschiedene Titel |
|
|
| lorenzolamas hat Folgendes geschrieben: |
Hatte jetzt mal das probiert
klappt aber auch nicht. Muss ich wohl weiter "fummeln"... |
| lorenzolamas hat Folgendes geschrieben: |
if (($_GET['page']=1234.html) ) |
1 = gleich Zuweisung
2 = gleich Vergleich auf istgleich
fummel mal damit rum
| lorenzolamas hat Folgendes geschrieben: |
if (($_GET['page'] == 1234.html) ) |
ähm ...
das geht eh nicht
entweder
| lorenzolamas hat Folgendes geschrieben: |
| if (($_GET['page'] == '1234.html' ) ) |
oder
| lorenzolamas hat Folgendes geschrieben: |
| if (($_GET['page'] == 1234 ) ) |
//EDIt
DU solltest aber erstmal einen
| lorenzolamas hat Folgendes geschrieben: |
| echo ( $_GET['page'] ) |
machen
um zu sehen was dein Script sehen tut
aber nur ... /Affilitiv/ ... innovativ |
|
| Nach oben |
|
 |
simi1987

: 22.02.2010 : 108
|
| : 28.02.2010, 02:13 : Eine header.inc und verschiedene Titel |
|
|
Jetzt will ich auch mitmachen
Normal hast du in deinen Dateien einen Befehlt der ungefär so aussieht:
include('ordner/header.inc');
Ich würde jetzt vor den Befehl eine Variable knallen z.B.
$titel = 'Mein Seitentitel';
include('ordner/header.inc');
Die Header.inc wüde ich jetzt wie folgt modifizieren:
<title>xxxxxxxx</title>
Daraus mache ich:
if ( $titel != '' )
{ echo '<title>$titel</title>'; }
else
{ echo '<title>Reserve Titel wenn keiner definiert ist</title>'; }
So musst du nicht kucken welche ID jede seite hat sondern kannst direkt beim erstellen einer neuen Seite den Header mit definieren
Je nachdem ob PHP in dem Teildes Codes aktiviert ist oder nicht halt noch:
<?php
if ( $titel != '' )
{ echo '<title>$titel</title>'; }
else
{ echo '<title>Reserve Titel wenn keiner definiert ist</title>'; }
?> |
|
| Nach oben |
|
 |
lorenzolamas

: 24.02.2010 : 10
|
| : 28.02.2010, 13:15 : Eine header.inc und verschiedene Titel |
|
|
@ simi1987
Das haut fast hin.
Der Befehl für die header.inc. klappt.
<?php
if ( $titel != '' )
{ echo '<title>$titel</title>'; }
else
{ echo '<title>Reserve Titel wenn keiner definiert ist</title>'; }
?>
Aber wie ist das jetzt mit der neuen Seite.
Demzufolge gebe ich jetzt auf einer x-beliebigen php Seite folgenden Befehl ein:
$titel = 'Mein Seitentitel';
Trotzdem erscheint: Reserve Titel wenn keiner definiert ist
Auf der x-beliebigen Seite habe ich allerdings auch keinen include Befehl für die header inc., da dieser ja automatisch über die index.php eingebunden ist.
die x-beliebige Seite fängt bei mir so an:
<?
echo"
<tr>
Und wie gesagt, die header.inc ist über die index.php schon eingebunden.... |
|
| Nach oben |
|
 |