mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 18:06 Benutzername: Passwort: Auto-Login

Thema: head in PHP Datei vom 29.06.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> head in PHP Datei
Autor Nachricht
gotoAndPlay
Threadersteller

Dabei seit: 22.11.2006
Ort: -
Alter: 40
Geschlecht: Männlich
Verfasst Fr 29.06.2007 21:59
Titel

head in PHP Datei

Antworten mit Zitat Zum Seitenanfang

Wieso kann ich in meine PHP Seite keinen <head> einbauen?
Will ich das machen, zeigt er mir folgende Fehlermeldung an:

Parse error: syntax error, unexpected '>' in /www/htdocs/w008a1e9/include/test.php on line 6

Die Fehlermeldung verstehe ich ja. Aber wieso?

Code:
<? php

<head>
echo '<meta http-equiv="refresh" content="1; url=$cath.php?&news_id=$news_id">'
</head>


Die Fehlermeldung sieht genauso aus, wenn ich den refresh Kram aus dem Head heraus nehme.

Hat jemand vielleicht ne Idee, wie die Variablen $cath etc. aus dem zweiten Teil der Seite an den Head übergeben kann, wenn ich es folgendermaßen löse:

Code:
<head>
<?php echo '<meta http-equiv="refresh" content="1; url='.$row_cath[cath_name].php?action=view&newsid=$newsid .'">'; ?></head>
  View user's profile Private Nachricht senden
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Fr 29.06.2007 22:09
Titel

Antworten mit Zitat Zum Seitenanfang

naja du musst die <head> tags schon auch mit echo ausgeben
oder das php nur dazwischen anfangen und schließen
  View user's profile Private Nachricht senden
Anzeige
Anzeige
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Sa 30.06.2007 03:29
Titel

Antworten mit Zitat Zum Seitenanfang

Oh, oh, oh...
Da sind aber verdammt viele Fehler drin in diesen wenigen Zeilen.
Du solltest mal einen Blick in das PHP-Handbuch werfen und dir die Grundlagen anschauen.
Die Grundlagen der Syntax wären interessant für dich. Auch der Teil über Variablen und der über Zeichenketten und Zeichenketten-Operatoren wäre wichtig für dich.
Neben PHP-Fehlern sind in den paar Zeilen aber auch noch ein paar HTML-Fehler.

Code:
<? php

Es muß heißen:
Code:
<?php

Da ist ein Leerzeichen zuviel.

Code:
<head>
echo '<meta http-equiv="refresh" content="1; url=$cath.php?&news_id=$news_id">'
</head>

Im Head eines HTML-Dokumentes muß zwingend das Element <title> enthalten sein. Andernfalls fabrizierst du falsches HTML. Der Code ist dann nicht valide.

Weiterhin müssen alle Sonderzeichen, die in HTML eine Bedeutung haben, zwingend maskiert werden.
In diesem Fall wird es zwar sicherlich auch so funktionieren, aber du hast genaugenommen falschen HTML-Code.
Das kommt so durch keinen Validator.
In deinem Fall handelt es sich um das Zeichen "&", welches maskiert werden muß. Daraus müßte "& amp;" werden.
(Natürlich ohne das Leerzeichen... Aber wenn ich das hier weglasse, dann ersetzt das Board dies.)
Außerdem wüßte ich nicht, wozu das "&" in diesem Fall überhaupt notwendig ist, wenn du nur einen Parameter im URL übergibst.

Dann findet eine Variablensubstitution in PHP nur innerhalb von Double-Quotes statt und nicht innerhalb von Single-Quotes.
Hier wäre also der nächste Fehler.
$news_id wird nicht durch den Inhalt der Variablen ersetzt.
Beispiel:
Code:
<?php
$var = "Test";

echo "Ausgabe: $var"; // Ausgabe: Test
echo 'Ausgabe: $var'; // Ausgabe: $var
?>

Wieso schreibst du den Meta-Tag eigentlich mit einem echo?
Warum nicht folgendermaßen?
Code:
<head>
  <meta http-equiv="refresh" content="1; url=<?php echo $cath; ?>.php?&amp;news_id=<?php echo $news_id; ?>">
</head>


Bzw. zweiter Code-Ausschnitt:
Code:
<head>
  <meta http-equiv="refresh" content="1; url=<?php echo $row_cath['cath_name']; ?>.php?action=view&amp;newsid=<?php echo $newsid; ?>">
</head>


Und wenn du es unbedingt alles per echo ausgeben willst:
Code:
<head>
<?php echo "<meta http-equiv=\"refresh\" content=\"1; url=". $row_cath['cath_name'] .".php?action=view&amp;newsid=". $newsid ."\">"; ?>
</head>


Und noch was:
Code:
$row_cath[cath_name]

Du greifst hier auf ein Element eines assoziativen Arrays zu.
Der Code, den du da oben geschrieben hast, ist falsch.
Das bemerkst du vielleicht nicht. Wenn allerdings das error_reporting auf einem Server etwas höher eingestellt ist, dann wird dort ein Notice (oder ein Warning?) ausgegeben.
Du versuchst dort nämlich eine nicht definierte Konstante einzusetzen.
Nur, weil es diese nicht gibt, vermutet PHP, daß du das Array-Element meinst und keine Konstante.
Richtig wäre:
Code:
$row_cath['cath_name']


Zuletzt bearbeitet von rob am Sa 30.06.2007 03:32, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
gotoAndPlay
Threadersteller

Dabei seit: 22.11.2006
Ort: -
Alter: 40
Geschlecht: Männlich
Verfasst Sa 30.06.2007 08:40
Titel

Antworten mit Zitat Zum Seitenanfang

Vielen Dank. Besonders für deine ausführliche Erklärung, so wird PHP langsam aber sicher für mich verständlich!!
  View user's profile Private Nachricht senden
 
Ähnliche Themen Anker erstellen bei Dynamischen Head
Javascript - Validator <head> Probleme?
JAVASCRIPT IM HEAD.. flash wird nur offline angezeigt
[SUCHE]tooltip-script ohne einträge in <body> oder <head>...
GoLive Raster ohne weißen Rand oder Head-Bild zentrieren?
PhP im "Head" der index.html ?
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.