Webdesign in Siegen

cbarkey's PHP-Sachen

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

cbarkey's PHP-Sachen

Beitragvon Christopher am 10.10.2005, 00:59

Hallo, habe hier ein Problem...
Habe eine *.php mit HTML-Code und PHP-Code:

Code: Alles auswählen
<?xml version="1.0" encoding="iso-8859-1"?>
<!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="de" lang="de">
<head>
<title>PHP Test</title>
<meta name="generator" content="Scribe! 2 [http://scribe.de]" />
</head>

<body>
<p>Hier finden PHP Tests statt!</p>
<?php
   echo "Test der echo-Funktion";
?>
</body>
</html>


Bekomme da aber diesen Error:

Parse error: parse error, unexpected T_STRING on line 1

Kommt der mit dem HTML-Code nicht klar?

EDIT: Habe mal das hier entfernt -> <?xml version="1.0" encoding="iso-8859-1"?> Jetzt gehts.... :?

EDIT2: So, hier könnt ihr gucken, was ich gemacht habe^^
MyFirstPHPcrap
Gebt in die Textbox einfach mal euren Namen ein^^ Danach könnt ihr ja noch andere Namen versuchen ;) ;) ;)
MfG
Christopher
Bild
AMD K6 // 166MHZ // 16 MB-RAM // 2 MB On-Board Grafikchip // 1,6 GB-HDD // 4-Fach CD-Laufwerk :mrgreen:
Benutzeravatar
Christopher
Mitglied
 
Beiträge: 1679
Registriert: 18.09.2005
Wohnort: Gütersloh(NRW)

Beitragvon Manuel am 10.10.2005, 01:36

Na das ist doch schonmal ein Anfang ;)

Nur das Layout fehlt dann natürlich noch komplett, aber das ist ja dann wieder eine andere Geschichte mit HTML und CSS...
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8680
Registriert: 10.12.2004
Wohnort: Asbach

Beitragvon Christopher am 10.10.2005, 01:38

Hihi....^^ Wenn man jetzt seinen Namen eingibt und dann OK rückt, dann speichert der den Namen in einer Textdatei^^ :lol:
MfG
Christopher
Bild
AMD K6 // 166MHZ // 16 MB-RAM // 2 MB On-Board Grafikchip // 1,6 GB-HDD // 4-Fach CD-Laufwerk :mrgreen:
Benutzeravatar
Christopher
Mitglied
 
Beiträge: 1679
Registriert: 18.09.2005
Wohnort: Gütersloh(NRW)

Beitragvon Manuel am 10.10.2005, 01:42

Na dann gibt die Textdatei jetzt noch als Übung mit einer while-Schleife aus um zu sehen, wer schon alles seinen Namen eingegeben hat.
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8680
Registriert: 10.12.2004
Wohnort: Asbach

Beitragvon Christopher am 10.10.2005, 02:33

Mh, habe es jetzt hinbekommen, dass der das Eingetragene ausgibt, aber natürlich nur unformatiert -.-

Code: Alles auswählen
<?php
if($HTTP_POST_VARS["Inhalt"]=="cbarkey")
{
  echo"Hallo cbarkey!";
}
else
{
   echo"Hallo ",$HTTP_POST_VARS["Inhalt"],", ich habe cbarkey            erwartet!";
}
$datei = fopen("zugriff.txt", "a+");

fwrite($datei, $HTTP_POST_VARS["Inhalt"]);

fclose($datei);

$datei = fopen("zugriff.txt","r");

if ($datei)
{
   while(!feof($datei))
      {
         $text = fgets($datei);
         echo"$text";
      }
   fclose($datei);
}
?>


Ich muss irgendwo, denke mal wenn der den Inhalt aus $HTTP_POST_VARS["Inhalt"] in die Datei speichert, ein \n machen, aber wenn ich das hier mache:

Code: Alles auswählen
$datei = fopen("zugriff.txt", "a+");

fwrite($datei, $HTTP_POST_VARS["Inhalt\n"]); //HIER

fclose($datei);


dann geht das nicht :(
MfG
Christopher
Bild
AMD K6 // 166MHZ // 16 MB-RAM // 2 MB On-Board Grafikchip // 1,6 GB-HDD // 4-Fach CD-Laufwerk :mrgreen:
Benutzeravatar
Christopher
Mitglied
 
Beiträge: 1679
Registriert: 18.09.2005
Wohnort: Gütersloh(NRW)

Beitragvon Manuel am 10.10.2005, 03:16

Na ich würde die Datei einfach zeilenweise auslesen und dann mit HTML arbeiten.

HTML kannst du in PHP ja auf mehrere Arten einbinden.

Code: Alles auswählen
<? if .....{
  ?> <br /><b>text</b><br /><br /><?
else
{
  ....
}
?>


oder
Code: Alles auswählen
<? if.....{
  echo "<br /><b>text</b><br /><br />";
else
{
  .....
}
?>


Beim 2ten Fall musst du dann nur darauf achten, wenn du beispielsweise diesen Ausdruck schreibst:

Code: Alles auswählen
echo "<img src=\"test.jpg\" alt=\"Test\" />";


Wichtig dabei ist ein Backslash vor einem Anführungszeichen, dass zu html gehört.

Lg,
Manuel ;-]

P.S. Falls du das alles schon wusstest: Überles es einfach *g*

P.P.S. Deine Methode kann übrigens gar nicht funktionieren, da du so den Namen des Variablennamens umänderst. Könnte aber auch sein, dass ein Backslash im Variablennamen einfach unzulässig ist.
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8680
Registriert: 10.12.2004
Wohnort: Asbach

Beitragvon Malte am 10.10.2005, 12:31

<?xml version="1.0" encoding="iso-8859-1"?>


Das <? verursacht den Fehler, weil es PHP signalisiert, das PH-Code kommt, obwohl es ja gar keiner werden sollte... Lösung habe ich leider kein...
[x] <<< Nail here for new Monitor
Benutzeravatar
Malte
Mitglied
 
Beiträge: 365
Registriert: 01.04.2005
Wohnort: Zuhause

Beitragvon Manuel am 10.10.2005, 12:43

Ich glaube ich habe eine Lösung für dein Problem gefunden:

Code: Alles auswählen
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>


So müsste es eigentlich klappen. Arbeitest du denn überhaupt mit XML? Dieses Tag ist nämlich nur dann wichtig, da sonst ein anderer Zeichensatz, nämlich der internationale UTF-8, wobei wir hier aber den ISO-Standard verwenden.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8680
Registriert: 10.12.2004
Wohnort: Asbach

Beitragvon Christopher am 10.10.2005, 13:39

Das mit dem xml mach Scribe automatisch, wenn ich ein Dokument erstelle^^ Geht aber auch ohne diesen Tag, w3c gibt trotzdem sein okay :P
MfG
Christopher
Bild
AMD K6 // 166MHZ // 16 MB-RAM // 2 MB On-Board Grafikchip // 1,6 GB-HDD // 4-Fach CD-Laufwerk :mrgreen:
Benutzeravatar
Christopher
Mitglied
 
Beiträge: 1679
Registriert: 18.09.2005
Wohnort: Gütersloh(NRW)

Beitragvon Manuel am 10.10.2005, 13:49

Ja wie gesagt, wenn du nicht mit XML arbeitest, dann brauchst du diesen Tag auch gar nicht. ;)
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8680
Registriert: 10.12.2004
Wohnort: Asbach

Beitragvon Christopher am 10.10.2005, 14:12

So, habe das mit der Auflistung geregelt bekommen^^
Klick^^

Konnte heute Nacht nichts mehr machen, da mein Laptop den Geist aufgegeben hat.. -.- Erst war alles OK, aber dann ging der einach aus :shock: Dann brauchte der 6 Minuten zum Restart und wollte die ganzen Dienste nicht mehr laden...nach mehreren Startversuchen kam dann noch ein Bluescreen dazu und ich war mit den Nerven am Ende...Heute Morgen(Mittag ;)) startete er wieder fröhlich und alles ist normal -.-

Kann das mit den 16 Std. Betrieb zu tun haben? Aber er war nicht sonderlich heiß....der war schonmal heißer... :?
MfG
Christopher
Bild
AMD K6 // 166MHZ // 16 MB-RAM // 2 MB On-Board Grafikchip // 1,6 GB-HDD // 4-Fach CD-Laufwerk :mrgreen:
Benutzeravatar
Christopher
Mitglied
 
Beiträge: 1679
Registriert: 18.09.2005
Wohnort: Gütersloh(NRW)

Beitragvon Krabbi am 10.10.2005, 14:26

Darf eigentlich weder beim Laptop noch beim PC passieren, sowas :? Naja, so lange er jetzt wieder funktioniert ist ja alles in Butter.

Die Auflistung hab ich prompt auch mal ausprobiert, passt alles, denk ich :)
Satzbau? Nein danke ;)
Benutzeravatar
Krabbi
Mitglied
 
Beiträge: 1473
Registriert: 05.04.2005
Wohnort: BW

Beitragvon Christopher am 10.10.2005, 14:38

Schön, dass du es probiert hast^^ Habe schon in die Liste geschaut :mrgreen: Ist ja fast wie ein kleines GB :P Nur das die Nachricht fehlt^^(Mh, soll ich das noch ergänzen? Dann bedarf es aber schon einer DB)
MfG
Christopher
Bild
AMD K6 // 166MHZ // 16 MB-RAM // 2 MB On-Board Grafikchip // 1,6 GB-HDD // 4-Fach CD-Laufwerk :mrgreen:
Benutzeravatar
Christopher
Mitglied
 
Beiträge: 1679
Registriert: 18.09.2005
Wohnort: Gütersloh(NRW)

Beitragvon Rene am 10.10.2005, 17:29

Also noch was zu echo lieber Manu

Man lernt zwar immer echo "";
Viel besser ist aber echo '';

Vorteile:
- Schnellere Ladezeiten
- Man muss keine \ vor " setzen höchstens vor ein ' (was es aber weniger gibt)

Variablen muss man dann so einbinden echo '<b>'.$var.'</b>';
Hier erkennt jetzt der Interpret sofort was er interpretieren muss und was nicht. Dadurch geht das alles schneller.
Und es ist auch weniger aufwand zu schreiben.

lg
Bild
Rene
Mitglied
 
Beiträge: 1187
Registriert: 28.02.2005
Wohnort: nähe Ravensburg

Beitragvon Manuel am 10.10.2005, 17:45

Okay, also wieder anders... ;)

Und die schnellere Ladezeit begründet sich dadurch, dass er den Text nicht nach Variablen parsed?
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8680
Registriert: 10.12.2004
Wohnort: Asbach

Nächste

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast