Portal > Foren > PHP > PHP-Programmierung > Brauche Hilfe beim Einstieg in PHP
Antwort
 
Themen-Optionen
Alt 05.12.2007, 16:48 Nach oben    #21
Martin Schröder
 
Benutzerbild von Orolhawion
 
Registriert seit: 15.12.2004
Ort: Stockholm
Beiträge: 116
Standard

Zitat:
Zitat von meici Beitrag anzeigen
also ist da jetz was falsch oder hat die seite mir das nur falsch angezeigt?
der validator zeigt dir an was nicht valide ist, deshalb heisst er wohl auch so. und der validator hat immer recht, denn sonst wärs ja kein validator. das heisst im klartext: wenn der validator sagt, er hat nen fehler gefunden, dann existiert der fehler auch. nämlich in dem skript das man durch den validator jagt, in diesem fall also in deinem script. wo der fehler liegt, sagt dir der validator auch, in diesem fall sogar ziemlich präzise, wie devar schon bemerkt hat.
__________________
"Wer nicht mit der Zeit geht, wird mit der Zeit gehen."
Game over, Junge!
ENERGIE!
___________________________
Mein Blog
Mein OpenBC

Geändert von Orolhawion (05.12.2007 um 16:50 Uhr). Grund: ergänzung
Orolhawion ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.12.2007, 16:54 Nach oben    #22
Neuer Benutzer
 
Registriert seit: 03.12.2007
Ort: Paderborn
Beiträge: 13
Standard

achso
lern lesen und schreiben
sry für die dumme frage
__________________
Wer Rechtschreibfehler findet darf sie behalten
meici ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.12.2007, 18:47 Nach oben    #23
Neuer Benutzer
 
Registriert seit: 03.12.2007
Ort: Paderborn
Beiträge: 13
Standard

soweit is der script jetzt fehlerfrei
muss mir jetzt nur noch was mit dem menü überlegen
Vielen Dank für eure Hilfe
__________________
Wer Rechtschreibfehler findet darf sie behalten
meici ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.12.2007, 15:05 Nach oben    #24
Neuer Benutzer
 
Registriert seit: 03.12.2007
Ort: Paderborn
Beiträge: 13
Standard

einmal brauch ich jetz ncoh eure Hilfe
Zitat:
Parse error: syntax error, unexpected T_CASE in /usr/export/www/vhosts/funnetwork/hosting/berta211/facharbeit php/inhalt.php on line 21
wird mir in dem "haupt" div ausgegeben.
PHP-Code:
<?php

    
if(isset($_GET['section'])) {
        switch(
$_GET['section']) {
            case 
"home":
                include 
"home.php";
                break;

            case 
"info":
                include 
"info.php";
                break;

            case 
"infodef":
                include 
"infodef.php";
                break;

            case 
"minfo":
                include 
"minfo.php";
                break

            case 
"minfodef":                    <- hier ist Zeile 21
                
include "minfodef.php";
                break

            case 
"mgestaltung":
                include 
"mgestaltung.php";
                break

            case 
"mdidaktik":
                include 
"mdidaktik.php";
                break

            case 
"mtheorie":
                include 
"mtheorie.php";
                break

            case 
"zukunft":
                include 
"zukunft.php";
                break

            case 
"studiengang":
                include 
"studiengang.php";
                break

            case 
"beruf":
                include 
"beruf.php";
                break

            case 
"zukunft2":
                include 
"zukunft2.php";
                break

            case 
"meinung":
                include 
"meinung.php";
                break

            case 
"bsp":
                include 
"bsp.php";
                break

            case 
"bsp1":
                include 
"bsp1.php";
                break

            case 
"bsp2":
                include 
"bsp2.php";
                break

            case 
"bsp3":
                include 
"bsp3.php";
                break

            case 
"imprint":
                include 
"imprint.php";
                break

            default:  
// Wenn eine ungültige Section angegeben wurde
                    // sollen die News gezeigt werden
                
include "home.php";
                break;
        }
    } else {
        
// wenn section nicht angegeben wurde
        // sollen die News angezeigt werden.
        
include "home.php";
    }
?>
das is die inhalt.php
aber irgendwie find ich den fehler nicht
__________________
Wer Rechtschreibfehler findet darf sie behalten

Geändert von meici (07.12.2007 um 15:07 Uhr).
meici ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.12.2007, 15:06 Nach oben    #25
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 407
Standard

Du hast hinter den meisten break 's das ";" vergessen!
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.12.2007, 15:08 Nach oben    #26
Neuer Benutzer
 
Registriert seit: 03.12.2007
Ort: Paderborn
Beiträge: 13
Standard

danke...
stimmt, ist mir gar nicht aufgefallen...
__________________
Wer Rechtschreibfehler findet darf sie behalten
meici ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.12.2007, 15:23 Nach oben    #27
Martin Schröder
 
Benutzerbild von Orolhawion
 
Registriert seit: 15.12.2004
Ort: Stockholm
Beiträge: 116
Standard

es gibt editoren, die sowas während dem tippen schon anzeigen. vielleicht solltest du sowas benutzen, denn damit reduziert man den suchaufwand, wenn nicht sogar schon das auftreten solch einfacher syntaxfehler. im anhang siehst du wie pdt (eclipse) das ganze darstellt. oft findet man den eigentlichen fehler, in der zeile davor.
Angehängte Grafiken
Dateityp: jpg syntaxerror.jpg (41,1 KB, 13x aufgerufen)
__________________
"Wer nicht mit der Zeit geht, wird mit der Zeit gehen."
Game over, Junge!
ENERGIE!
___________________________
Mein Blog
Mein OpenBC

Geändert von Orolhawion (07.12.2007 um 15:26 Uhr).
Orolhawion ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.12.2007, 19:36 Nach oben    #28
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

und dir fällt wirklich nichts auf an deiner langen Liste da? Schau dir nochmal dn letzten Punkt von den Tipps aus meinem vorigen Posting an:

PHP-Code:
<?php

    
if(isset($_GET['section'])) {
        switch(
$_GET['section']) {
            case 
"home":
                include 
"home.php";
                break;

            case 
"info":
                include 
"info.php";
                break;

            case 
"infodef":
                include 
"infodef.php";
                break;

            case 
"minfo":
                include 
"minfo.php";
                break

            case 
"minfodef":                    <- hier ist Zeile 21
                
include "minfodef.php";
                break

            case 
"mgestaltung":
                include 
"mgestaltung.php";
                break

            case 
"mdidaktik":
                include 
"mdidaktik.php";
                break

            case 
"mtheorie":
                include 
"mtheorie.php";
                break

            case 
"zukunft":
                include 
"zukunft.php";
                break

            case 
"studiengang":
                include 
"studiengang.php";
                break

            case 
"beruf":
                include 
"beruf.php";
                break

            case 
"zukunft2":
                include 
"zukunft2.php";
                break

            case 
"meinung":
                include 
"meinung.php";
                break

            case 
"bsp":
                include 
"bsp.php";
                break

            case 
"bsp1":
                include 
"bsp1.php";
                break

            case 
"bsp2":
                include 
"bsp2.php";
                break

            case 
"bsp3":
                include 
"bsp3.php";
                break

            case 
"imprint":
                include 
"imprint.php";
                break

            default:  
// Wenn eine ungültige Section angegeben wurde
                    // sollen die News gezeigt werden
                
include "home.php";
                break;
        }
    } else {
        
// wenn section nicht angegeben wurde
        // sollen die News angezeigt werden.
        
include "home.php";
    }
?>
Unzählige Redundanzen, Wiederholungen. Das kann man doch ganz einfach auch so formulieren:

PHP-Code:
<?php

$aPages 
= array(
    
'home',
    
'info',
    
'infodef',
    
'minfo',
    ...
);

// erster Eintrag der Liste sei der Default-Wert
$sDefaultPage $sPage reset($aPages);

if (isset(
$_GET['section']))
    
$sPage $_GET['section'];

if (!
in_array($sPage$aPages))
    
$sPage 'error404';

include 
'pages/' $sPage;
Damit bist du schonmal ein ganzes Stück weiter. Noch einfacher geht es eben dann, wenn du erkennst, dass diese Liste sich dann exakt mit der Liste der verzeichniseinträge in deinem pages-Verzeichnis decken wird (bis auf die Endung, die hier fehlt). Dann brauchst du die Liste nämlich nicht mehr doppelt zu führen (einmal hier im Array und einmal in Form von Dateinamen in deinem Verzeichnis), sondern guckst eben direkt im Verzeichnis nach, ob eine entsprechende Seiten-Date existiert.

Also:
PHP-Code:
<?php

$sPage 
'home';

if (isset(
$_GET['page']))
    
$sPage $_GET['page'];

if (!
preg_match('|^[a-z0-9]+$|'$sPage))
    die(
'invalid page id');

$sFilePath sprintf('pages/%s.php'$sPage);

if (!
is_writable($sFilePath))
    die(
'page not found');

include(
$sFilePath);
Kannst die Dingens natürlich auch weiterhin „Sections“ nennen – wusste nur nicht, was das hier bedeuten soll.

preg_match() filtert die Eingaben nach dem Muster: Nur Kleinbuchstaben (des englischen Alphabets) und Ziffern. Sowas ist eben wichtig, damit ein Angreifer nicht mit geschickten Parametern dateien einbinden kann, die außerhalb des angegeben Verzeichnisses liegen.

Und klar, um die Fehler darzustellen gibt es feinere Lösungen. In jedem Fall solltest du die korrekten Status-Header setzen (z.B. 404) und dann eben deine Fehlermeldung ausspucken. (Hier auch wieder die übergebenen Parameter niemals ungefiltert ausgeben, sonst lässt dich dein Prof womöglich durchrasseln!)

Basti

Geändert von Basti (07.12.2007 um 19:38 Uhr).
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ich brauche Hilfe bei der Administration meines rootservers! Firat Plauderecke 7 07.09.2007 07:40
Brauche Hilfe auf dem Handy/Telefon-Tarif-Markt Ben Plauderecke 5 20.11.2006 16:50
Brauche Hilfe d-sub / dvi Buhmann Plauderecke 2 20.11.2006 13:04
Brauche hilfe bei einer SQL Abfrage philstrike Datenbanken 18 07.07.2006 09:15
Brauche Hilfe!! Flipp Allgemeine Java-Programmierung 6 17.02.2005 10:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:52 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44