Anzeige:
Ergebnis 1 bis 9 von 9

Thema: PHP Newbie Probleme...

  1. #1
    Registrierter Benutzer
    Registriert seit
    10.06.2003
    Beiträge
    19

    Unhappy PHP Newbie Probleme...

    Guten Tag miteinander,
    Ich beschäftige mich seit kurzem (wieder) mit PHP und schlage mich mit ein paar Newbie PHP Problem rum... Vielleicht könnt ihr mir ja helfen. Das Problem ist, dass der Server immer crashed und Errors am Laufband ausspuckt, wenn ich versuche das Script aufzurufen.

    PHP-Code:
    <?PHP
    echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE-CH"> \n";
    echo "<html> \n";
    echo 
    "<head> \n";
    echo 
    "<title>Titel2003</title> \n";
    echo 
    "</head> \n";

    readfile ("../modules/style.php");

    readfile ("../modules/javascript.php");

    echo 
    "<body topmargin=\"0\" leftmargin=\"0\" bgcolor=\""; echo $background; echo"\">";

    echo 
    "<div align=\"center\">";
    echo 
    "<center>";


    echo 
    "<table border=\"0\" width=\"";if ($nav 1) {echo "600";} else {echo "700";} echo"\">";
    echo 
    "<tr>";
        

    if (
    $nav 1) {
    echo 
    "";
    }

    else {
    readfile ("../modules/nav.php");
    }

    echo 
    "<td width=600>";

    echo 
    "<table border=\"1\" width=\"600\" cellspacing=\"0\" height=\"0\" bordercolorlight=\"";echo $border1;echo "\" bordercolordark=\"";echo $border1;echo "\" bordercolor=";echo $border2;echo" bgcolor=";echo $bginside;echo">";

    echo 
    "<tr>";
    echo 
    "<td width=\"0\" height=\"60\" colspan=\"5\" bgcolor=\"#FFFFFF\">";
    echo 
    "</tr>";
    echo 
    "<tr valign=\"middle\">";

    echo 
    "<td height=\"18\" align=\"center\" bgcolor=\"";echo $menu1;echo "\" onMouseOver=\"cOn(this);\" onMouseOut=\"cOut(this);\" bordercolor=\"";echo $bordermenu;echo "\">";
    echo 
    "<a href=\"./index.php?section=home\">Home</a>";

    echo 
    "<td height=\"18\" align=\"center\" bgcolor=\"";echo $menu1; echo"\" onMouseOver=\"cOn(this);\" onMouseOut=\"cOut(this);\" bordercolor=\"";echo $bordermenu;echo "\">";
    echo 
    "<a href=\"./index.php?section=produkte\">Produkte</a>";

    echo 
    "<td height=\"18\" align=\"center\" bgcolor=\"";echo $menu1;echo "\" onMouseOver=\"cOn(this);\" onMouseOut=\"cOut(this);\" bordercolor=\"";echo $bordermenu;echo "\">";
    echo 
    "<a href=\"./index.php?section=about\">Über Uns</a>";

    echo 
    "<td height=\"18\" align=\"center\" bgcolor=\"";echo $menu1;echo "\" onMouseOver=\"cOn(this);\" onMouseOut=\"cOut(this);\" bordercolor=\"";echo $bordermenu;echo "\">";
    echo 
    "<a href=\"./index.php?section=faq\">FAQ</a>";

    echo 
    "<td height=\"18\" align=\"center\" bgcolor=\"";echo $menu1;echo "\" onMouseOver=\"cOn(this);\" onMouseOut=\"cOut(this);\" bordercolor=\"";echo $bordermenu;echo "\">";
    echo 
    "<a href=\"./index.php?section=kontakt\">Kontakt</a>";

    echo 
    "</tr>";
    echo 
    "<tr>";

    echo 
    "<td width=\"0\" height=\"17\" colspan=\"5\" bgcolor=\"";echo $bgshow;echo "\" bordercolor=\"";echo $border1;echo "\">";

    echo 
    "<B><font size=\"3\" font color=\"";echo $fontshow;echo "\">";

    if (!isset(
    $section)){
    echo 
    "home";
    }
    else {
    echo 
    $section;
    }

    echo 
    "</B>";        
    echo 
    "</td>";
    echo 
    "</tr>";
    echo 
    "<tr>";

    echo 
    "<td width=\"0\" height=\"0\" colspan=\"5\" valign=\"top\" align=\"left\" bgcolor=\"";echo $bginside;echo "\" bordercolor=\"";echo $border1;echo "\">";

    $PATHTO "../content"
    if(
    eregi("^[a-z]+$"$section)) 
    include(
    "$PATHTO/$section.txt"); 
    elseif(!isset(
    $section))    
    include(
    "$PATHTO/home.txt"); 
    else 
    die(
    "Section not found");

    echo 
    "<p></p>";
    echo 
    "</td>";
    echo 
    "</tr>";
    echo 
    "<tr>";

    echo 
    "<td width=\"0\" height=\"22\" colspan=\"5\" bgcolor=\"";echo $bgshow;echo "\" bordercolor=\"";echo $border1;echo "\">"
    readfile ("../modules/copyright.php");

    echo 
    "</td>";

    echo 
    "</tr>";

    echo 
    "</table>";
    echo 
    "</td>";
    echo 
    "</tr>";
    echo 
    "</table>";
    echo 
    "</center>";
    echo 
    "</div>";
    echo 
    "</body>";
    echo 
    "</html>";
    ?>
    Wahrscheinlich habe ich sowieso den falschen Ansatz verfolgt, oder?

    Vielen Dank für eure Hilfe, ich bin wirklich ein totaler N00b...
    bionic

  2. #2
    Registrierter Benutzer
    Registriert seit
    03.07.2002
    Beiträge
    21

    Re: PHP Newbie Probleme...

    Moin!

    Code:
    <?PHP
    echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE-CH"> \n";
    Hier hast du vergessen, die " zu escapen. Also " -> \"

    Alternativ könntest du auch erst später mit dem PHP anfangen, also so:
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE-CH">
    <html>
    <head>
    <title>Titel2003</title>
    </head>
    
    <?php
    readfile ("../modules/style.php");
    ...
    Ansonsten wäre es mal interessant, die Fehlermeldungen zu kennen. Und glücklicherweise arbeiten wir nicht zusammen an einem Projekt, unser Codingstyle unterscheidet sich etwas (z. B. mach ich nur einen Befehl pro Zeile und fange nach max. 80 Zeichen eine neue an). Aber jeder wie er will

    [Edith]Seh ich erst gerade: Die Sprache, die du im DOCTYPE definierst, ist nicht die Sprache, in der der Text der Seite gehalten ist, sondern der, in der die Tags gehalten sind, und das ist nunmal Englisch. Wenn du die Sprache der Seite angeben willst, kannst du das entweder mit metatags machen
    Code:
    <meta name="DC.Language" content="de">
    oder indem du es in den HTTP-Headerdaten angibst. Das machst du so:
    Code:
    <?php
    header("Content-Language: de-CH");
    ...
    Alle Header müssen abgeschickt werden, bevor die Ausgabe angefangen hat, also schreib die Anweisung am besten ganz an den Anfang. Du kannst PHP ja erstmal wieder zumachen (?>), wenn du den HTML-Kopf ausgeben willst (siehe oben).[/edith]

    iGEL
    Geändert von igel (10-06-2003 um 21:40 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    10.06.2003
    Beiträge
    19
    Danke iGEL!

    Ich habe aber leider nun ein neues Problem:
    PHP-Code:
    echo "<table border=\"0\" width=\"";if ($nav 1) {echo "600";} else {echo "700";} echo"\">";
    echo 
    "<tr>";
        

    if (
    $nav 1) {
    echo 
    "";
    }

    else {
    readfile ("../modules/nav.php");

    Die Idee hierbei ist, dass durch die Variable $nav bestimmt wird, ob das Menü geladen wird und wie gross der Rahmen wird. Weiss jemand was hier falsch ist?

    Vielen Dank,
    bionic
    P.S.: Sorry für die späte Antwort...

  4. #4
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo!

    Sieht so aus als hättest du ein leerzeichen bei dem letzten echo in der ersten Zeile vergessen.
    Es wäre schöner, wenn du das auf mehrere Zeilen verteilen würdest.
    Falls es das nicht war würde es helfen die Fehlermeldung zu posten.


  5. #5
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638

    Re: PHP Newbie Probleme...

    Hi,

    ich habe Dir mal dein Script bearbeitet:
    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Titel2003</title>
      </head>

    <?php

      
    include("../modules/style.php");
      include(
    "../modules/javascript.php");

    ?>
    <body topmargin="0" leftmargin="0" bgcolor="<?php echo $background?>">
      <div align="center">
        <center>
          <table borde="0" width="<?php echo ($nav 1) ? "600" "700" ?>">
            <tr>
              <?php if ($nav 0) { include("../modules/nav.php"); } ?>
              <td width=600>
                <table border="1" width="600" cellspacing="0" height="0" bordercolorlight="<?php echo $border1?>" bordercolordark="<?php echo $border1?>" bordercolor="<?php echo $border2?>" bgcolor="<?php $bginside">
                  <tr>
                    <td width="
    0" height="60" colspan="5" bgcolor="#FFFFFF"></td>
                  
    </tr>
                  <
    tr valign="middle">
                    <
    td height="18" align="center" bgcolor="<?php echo $menu1; ?>" onMouseOver="cOn(this);" onMouseOut="cOut(this);" bordercolor="<?php echo $bordermenu; ?>">
                      <
    a href="index.php?section=home">Home</a>
                    </
    td>
                    <
    td height="18" align="center" bgcolor="<?php echo $menu1; ?>" onMouseOver="cOn(this);" onMouseOut="cOut(this);" bordercolor="<?php echo $bordermenu; ?>">
                      <
    a href="index.php?section=produkte">Produkte</a>
                    </
    td>
                    <
    td height="18" align="center" bgcolor="<?php echo $menu1; ?>" onMouseOver="cOn(this);" onMouseOut="cOut(this);" bordercolor="<?php echo $bordermenu; ?>">
                      <
    a href="index.php?section=about">&Uuml;ber Uns</a>
                    </
    td>
                    <
    td height="18" align="center" bgcolor="<?php echo $menu1; ?>" onMouseOver="cOn(this);" onMouseOut="cOut(this);" bordercolor="<?php echo $bordermenu; ?>">
                      <
    a href="index.php?section=faq">FAQ</a>
                    </
    td>
                    <
    td height="18" align="center" bgcolor="<?php echo $menu1; ?>" onMouseOver="cOn(this);" onMouseOut="cOut(this);" bordercolor="<?php echo $bordermenu; ?>">
                      <
    a href="index.php?section=kontakt">Kontakt</a>
                    </
    td>
                  </
    tr>
                  <
    tr>
                    <
    td width="0" height="17" colspan="5" bgcolor="<?php echo $bgshow; ?>" bordercolor="<?php echo $border1; ?>">
                      <
    B><font size="3" font color="<?php echo $fontshow; ?>"><?php
      
    if (!isset($section)) {
        echo 
    "home";
      }
      else {
        echo 
    $section;
      }
    ?></B>        
                    </td>
                  </tr>
                  <tr>
                    <td width="0" height="0" colspan="5" valign="top" align="left" bgcolor="<?php echo $bginside?>" bordercolor="<?php echo $border1?>">
                      <?php
      $PATHTO 
    "../content"
      if(
    eregi("^[a-z]+$"$section)) {
        include(
    "$PATHTO/$section.txt");
      }
      else if(!isset(
    $section)) {
        include(
    "$PATHTO/home.txt"); 
      }
      else {
        echo 
    "Section not found";
      }
    ?>
                      <p></p>
                    </td>
                  </tr>
                  <tr>
                    <td width="0" height="22" colspan="5" bgcolor="<?php echo $bgshow?>" bordercolor="<?php echo $border1?>">
                      <?php include("../modules/copyright.php"); ?>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </center>
      </div>
    </body>
    </html>
    Puh ... fertig

    Pingu

  6. #6
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Also für kleinere Seiten ohne viel Scripte, kann man das schon so schreiben.

    Ansonsten zur Leserlichkeit, warum schreibst:
    PHP-Code:
    echo "<tag attr=\"value\">"
    und nicht
    PHP-Code:
    echo '<tag attr="value">'
    oder
    PHP-Code:
    echo "<tag attr='value'>"
    Dann könntest Du auch statt
    PHP-Code:
    echo "<tag attr='"; echo $var; echo "'>"
    gleich schreiben
    PHP-Code:
    echo "<tag attr='$var'>"
    Du hattest auch einige Fehler mit den HTML-Tags selbst: Du machst nicht gerne die Spalten zu oder?

    Von den Links her, ich würde nicht mit "index.php?section=seite" arbeiten, da dies Suchmaschinen feindlich ist. Denn Suchmaschinen indizieren keine Seiten mit Parameteraufrufen.

    Alles nur mal so ein paar Gedanken.

    Gruß

    Pingu

  7. #7
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Original geschrieben von Pingu
    ...gleich schreiben
    PHP-Code:
    echo "<tag attr='$var'>"
    Du hattest auch einige Fehler mit den HTML-Tags selbst: Du machst nicht gerne die Spalten zu oder?

    Von den Links her, ich würde nicht mit "index.php?section=seite" arbeiten, da dies Suchmaschinen feindlich ist. Denn Suchmaschinen indizieren keine Seiten mit Parameteraufrufen.

    Alles nur mal so ein paar Gedanken.

    Gruß

    Pingu [/B]
    @Pingu
    Einfache Anführungszeichen in HTML Tags sind AFAIK nicht W3C Konform, also kein schöner Stil, ansonsten ACK!

    Das mit den Suchmaschinen war einmal so, hat sich mittlerweile aber geändert!


  8. #8
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Original geschrieben von Gaert
    @Pingu
    Einfache Anführungszeichen in HTML Tags sind AFAIK nicht W3C Konform, also kein schöner Stil, ansonsten ACK!
    Ich komme von C und schreibe deswegen sowie und meistens (tolle Wortkonstruktion *g*): printf('<tag attr="%s">', $var); Denn hierbei hat man nun mal viel mehr Möglichkeiten die Ausgabe zu steuern.

    Das mit den Suchmaschinen war einmal so, hat sich mittlerweile aber geändert!
    Also dazu kann ich nur aus der aktuellen ix wieder geben
    aus ix 8 (August 2003)
    Google, FAST und Altavista nehmen inzwischen zwar teilweise auch Seiten mit Parametern auf, allerdings ist nicht nachvollziehbar, nach welcher Logikdies geschieht. Darum sollten Webmaster, deren Seiten Fragezeichen in der URL enthalten, lieber eine andere Lösung wählen.
    Pingu

  9. #9
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Fakt ist aber, dass die Suchmaschinen die Seiten jetzt indizieren... aber (da hab ich sogar der IX offensichtlich was voraus) nur bis zur zweiten oder dritten ebene um overhead zu vermeiden. In dem hier beschriebenen Fall gibt es nur eine Ebene, also keine Probleme...


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •