• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Schulaufgabe: Erstellung einer Website

xD5H9x

Neues Mitglied
Hallo,
da wir im IV Unterricht gerade das Thema Websiten erstellen anhand vom Box-Modell bearbeiten, benötige ich einmal Hilfe im Teil des Login-Systems.
Die genaue Aufgabenstellung befindet sich unter dem Strich. Bisher habe ich eigentlich alles soweit fertig, bis auf den Fehler, dass ich mich zwar mit den korrekten Daten einloggen kann, der Login allerdings nicht weitergeleitet wird. das heißt, ich geb meine Daten ein, drücke auf Login und die Seite aktualisiert sich, heißt mich Willkommen und zeigt erneut das Login-Fenster auf der linken Seite an.
Normaler weise soll hier nach dem Login ein Hyperlink zum abmelden sein.


Gibt es jemanden der sich das ganze mal anschauen kann?
Möchte die Seite hier ungern hochladen.
_____________________________________________________________________________

Aufgabe

Es ist eine Website über unsere Schule, Schüler, Lehrer, Unterricht zu erstellen.

Anforderungen:
Die Seiten sind eingeteilt in einen Kopfteil, Navigationsteil, Inhaltsteil, Fußteil. Im Fußteil sind Angaben über den Autor der Website enthalten. Die Aufteilung erfolgt nach dem Box-Modell ( keine Frames).

Bestimmte Seiten sollen nur für einen bestimmten Personenkreis zur Verfügung stehen. Daher ist ein Login-System zu gestalten. Die User loggen sich mit Vorname, Nachname und Passwort ein.


Im Inhaltsteil soll enthalten sein:

- Begrüßung
- Formular für Login / Logout
- Bilder von Schülern
- Bilder von Räumlichkeiten der Schule
- Seite nach eigenem Ermessen
- noch eine Seite nach eigenem Ermessen

Das Design soll möglichst nur mit einer externen CSS-Datei realisiert werden.

Die Seiten sollen erkennbar individuell gestaltet sein, also nicht kopiert und Farbe und Schriftart geändert. Das gilt auch für das verwendete Bildmaterial.

Quellcode, der auf mehreren Seiten identisch ist, wird in Include-Dateien ausgelagert.

Ausarbeitung:
Die Ausarbeitung enthält:
- Aufgabenstellung
- Übersicht über die realisierten Seiten
- Beschreibung des Seitenaufbaus (Box-Modell)
- Beschreibung der Gliederung in Include-Dateien
- Ausführliche Beschreibung des Login-Systems.
- Schlussbetrachtung

Die Ausarbeitung enthält keinen Quellcode, nur auszugsweise soweit zur Erklärung notwendig.

Abgabe der Software:
30.01.2014 10.20 Uhr

Abgabe der Ausarbeitung:
03.02.2014 8.05 Uhr
 
Werbung:
Wenn du Unterstützung haben möchtest, poste den relevanten Teil deines PHP-Scripts. Der Rest ist ja nicht notwendig.
 
Werbung:
Richtig debuggen

1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 
Das ganze läuft nur intern und soll ja nie online gehen.
Getestet habe ich alles, die Methoden allerdings nicht, eine Datenbank gibt es ebenfalls nicht.
Unser Lehrer möchte es nicht darüber machen, noch nicht.
 
Werbung:
Ich habe dort jetzt nochmals einiges ausprobiert und verstehe nicht, warum wenn ich mich einlogge und wieder auf index.php komme, anhängendes Skript, er mir immerwieder das Login Formular anzeigt.
Normalerweise müsste doch verhalten = 1 befolgt werden, da die session ja bereits eingelocht wurde.


<?php
$verhalten = 0;
session_start();
if(!isset($_SESSION["username"]) and !isset($_GET["page"])) {
$verhalten = 0;
}
if(isset($_GET["page"]) == "log") {
$user = $_POST["user"];
$passwort = $_POST["passwort"];

if($user == "Henrik" and $passwort == "toll") {
$_SESSION["username"] = $user;
$verhalten = 1;
} else {
$verhalten = 2;
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Interner Bereich</title>
<link href="bbs.css" rel="stylesheet" type="text/css"><!--[if lte IE 7]>
<style>
.content { margin-right: -1px; }
</style>
<![endif]-->
</head>
<?php
if($verhalten == 1) {
?>
<meta http-equiv="refresh" content="3; URL=seite2.php"
<?php
}
?>
<body>

<div class="container">
<div class="header"><a href="#"><img src="" alt="Hier Logo einfügen" name="Insert_logo" width="30%" height="90" id="Insert_logo" style="background-color: #8090AB; display:block;" /></a>
<!-- end .header --></div>
<div class="sidebar1">
<?php include 'menue.php';?>
<p> Die oben stehenden Hyperlinks stellen eine allgemeine Navigationsstruktur dar, bei der eine ungeordnete Liste mit CSS formatiert wird. Verwenden Sie diese Navigationsstruktur als Ausgangspunkt und ändern Sie die Eigenschaften, um Ihre Website nach Ihren Vorstellungen zu gestalten. Wenn Sie Ausklappmenüs verwenden möchten, erstellen Sie ein eigenes Menü auf Grundlage eines Spry-Menüs, eines Menü-Widgets aus Adobe Exchange oder einer Vielzahl anderer JavaScript- oder CSS-Lösungen.</p>
<p>Wenn sich die Navigationsstruktur am oberen Rand befinden soll, verschieben Sie ul.nav an den oberen Rand der Seite und erstellen Sie die Formatierung neu.</p>
<!-- end .sidebar1 --></div>
<div class="content">
<?php
if($verhalten == 0) {
?>
<h1>Interner Bereich</h1>
<p>Da sich im internen Bereich Daten befinden, welche nicht für die Öffentlichkeit bestimmt sind, müssen Sie sich einloggen, um in den internen Bereich zu gelangen. </p>
<p>Danke für Ihr Verständnis.</p>
<br>
<h3>Login:</h3>
<form method="post" action="index.php?page=log">
User:<br>
<input type="text" name="user" value='' size='40' maxlength='40'/><br />
Passwort:
<br><input type="password" name="passwort" value='' size='40' maxlength='40'/><br />
<input type="submit" value="Einloggen" />
</form>


<?php
}
if($verhalten == 1) {
?>
Du hast dich richtig eingeloggt und wirst nun weitergeleitet....
<?php
}
if($verhalten == 2) {
?>
Du hast dich nicht richtig eingeloggt, <a href="index.php">zurück</a>.
<?php
}
?>
</div>
<div class="footer">
<p>Diese .footer-Regel enthält die Deklaration position:relative. So erhält Internet Explorer 6 die Eigenschaft hasLayout für .footer, damit die clear-Anweisung korrekt ausgeführt wird. Kann entfernt werden, wenn IE6 nicht unterstützt werden muss. </p>
<!-- end .footer --></div>
<!-- end .container --></div>
</body>
</html>
 
Du verweigerst "Richtig debuggen"!!! :( Denn wenn du das mal richtig machen würdest, dann würde dir auffallen, dass
PHP:
if(isset($_GET["page"]) == "log")
niemals zutrifft. Und das Elend an der Sache ist, mit einem einfachen
PHP:
echo "if-Bedingung ist erfüllt";
im if-Block wäre die Sache aufgefallen.

Da fragt man sich, warum man Tipps zum Debuggen gibt, wenn dann doch nicht entsprechend vorgegangen wird :(
 
Zurück
Oben