Dateinamen im Internet
Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.B. Windows, Unix, Macintosh, Linux etc.) gelten folgende Regeln:
Erlaubte Zeichen
- Buchstaben a bis z oder A bis Z
- Zahlen von 0 bis 9
- Unterstrich _
Verbotene Zeichen
- Europäische Sonderzeichen (z.B. ä, ö, ü, é, à, è, ç etc.)
- Leerzeichen
- Sonderzeichen (z.B. Punkt, ?, $ etc.)
Erlaubte Zeichen
- Buchstaben a bis z oder A bis Z
- Zahlen von 0 bis 9
- Unterstrich _
Verbotene Zeichen
- Europäische Sonderzeichen (z.B. ä, ö, ü, é, à, è, ç etc.)
- Leerzeichen
- Sonderzeichen (z.B. Punkt, ?, $ etc.)
Daten in eine Tabelle eingeben
Rezept: Login Problematik
Herausforderung #5 Wie einen Direktaufruf verhindern?
Herausforderung #5 Wie einen Direktaufruf verhindern?
Lösung
<?php
session_start();
if (empty($_SESSION['sessionName'])) {
header("Location:login.php");
}
?>
<?php
session_start();
if (empty($_SESSION['sessionName'])) {
header("Location:login.php");
}
?>
Datei- & Feld- & Tabellennamen im Internet
Erlaubte Zeichen
- Buchstaben a - z oder A - Z; Zahlen von 0 bis 9; Unterstrich
Verbotene Zeichen
- Europäische Sonderzeichen, Leerzeichen, Sonderzeichen Gross- und Kleinschreibung beachten
- Verbotener Dateiname: Über uns.html
- Buchstaben a - z oder A - Z; Zahlen von 0 bis 9; Unterstrich
Verbotene Zeichen
- Europäische Sonderzeichen, Leerzeichen, Sonderzeichen Gross- und Kleinschreibung beachten
- Verbotener Dateiname: Über uns.html
Dynamische Websites?
PHP Crashkurs
Wie heissen die Dateien?
Wie heissen die Dateien?
PHP-Dateien müssen mit der Dateierweiterung *.php in einem Unterordner von htdocs abgelegt werden.
PHP Crashkurs
Wo steht der Code?
Wo steht der Code?
Der Code steht am Anfang vor dem html Tag oder im body der HTML-Seite und beginnt immer mit <?php und endet mit ?>:
<html><head><title>PHP</title></head>
<body>
<?php echo "Hallo Welt!"; ?>
</body>
</html>
<html><head><title>PHP</title></head>
<body>
<?php echo "Hallo Welt!"; ?>
</body>
</html>
PHP Crashkurs
Ausgabe
Ausgabe
Zeilenende immer mit ; (Strichpunkt)
- Jede Zeile muss mit einem Strichpunkt abgeschlossen werden! echo "Hallo Welt!";
Dynamische Ausgabe
- Die dynamische Ausgabe mit dem echo Befehl passiert ausschliesslich im <body>-Teil von HTML.
Ausgabe mit HTML-Tags
- Der echo() Befehl gibt Informationen aus. Es dürfen auch HTML- Befehle verwendet werden.
echo "Hallo <strong>kluge</strong> Welt!";
Ausgabe mit HTML-Attributen
echo 'Hallo <span class="rot">kluge</span> Welt!';
- Jede Zeile muss mit einem Strichpunkt abgeschlossen werden! echo "Hallo Welt!";
Dynamische Ausgabe
- Die dynamische Ausgabe mit dem echo Befehl passiert ausschliesslich im <body>-Teil von HTML.
Ausgabe mit HTML-Tags
- Der echo() Befehl gibt Informationen aus. Es dürfen auch HTML- Befehle verwendet werden.
echo "Hallo <strong>kluge</strong> Welt!";
Ausgabe mit HTML-Attributen
echo 'Hallo <span class="rot">kluge</span> Welt!';
PHP Crashkurs
Arbeiten mit Variablen
Arbeiten mit Variablen
Variablen sind Platzhalter, vergleichbar mit Schubladen.
- Variablennamen dürfen nur aus den Buchstaben a bis z, Ziffern und dem Unterstrichstrich (_) bestehen.
- Unterscheidung zwischen Gross- und Kleinbuchstaben
- Variablennamen dürfen nur aus den Buchstaben a bis z, Ziffern und dem Unterstrichstrich (_) bestehen.
- Unterscheidung zwischen Gross- und Kleinbuchstaben
PHP Crashkurs
Definieren von Variablen (Name und Inhalt festlegen)
Definieren von Variablen (Name und Inhalt festlegen)
Variablen werden mit dem $-Zeichen definiert:
$vorname = "Martin";
echo $vorname;
$vorname = "Martin";
echo $vorname;
PHP Crashkurs
Mischen von HTML- und PHP-Code
Mischen von HTML- und PHP-Code
PHP unterstützt mehrere Möglichkeiten, HTML- und PHP-Code zu verbinden.
Direkte Methode des Verbindens
$vorname = 'Martin';
echo 'Guten Tag $vorname, cool dich zu sehen!';
Vereinigungs-Operator: Punkt
Der Punkt (.) hängt HTML- und PHP-Code zusammen
$vorname ='Martin';
echo 'Guten Tag '.$vorname.', cool dich zu sehen!';
Direkte Methode des Verbindens
$vorname = 'Martin';
echo 'Guten Tag $vorname, cool dich zu sehen!';
Vereinigungs-Operator: Punkt
Der Punkt (.) hängt HTML- und PHP-Code zusammen
$vorname ='Martin';
echo 'Guten Tag '.$vorname.', cool dich zu sehen!';
PHP Crashkurs
Ausgabe
Ausgabe
Zeilenende immer mit ; (Strichpunkt)
- Jede Zeile muss mit einem Strichpunkt abgeschlossen werden! echo "Hallo Welt!";
Dynamische Ausgabe
- Die dynamische Ausgabe mit dem echo Befehl passiert ausschliesslich im <body>-Teil von HTML.
Ausgabe mit HTML-Tags
- Der echo() Befehl gibt Informationen aus. Es dürfen auch HTML- Befehle verwendet werden.
echo "Hallo <strong>kluge</strong> Welt!";
Ausgabe mit HTML-Attributen
echo 'Hallo <span class="rot">kluge</span> Welt!';
- Jede Zeile muss mit einem Strichpunkt abgeschlossen werden! echo "Hallo Welt!";
Dynamische Ausgabe
- Die dynamische Ausgabe mit dem echo Befehl passiert ausschliesslich im <body>-Teil von HTML.
Ausgabe mit HTML-Tags
- Der echo() Befehl gibt Informationen aus. Es dürfen auch HTML- Befehle verwendet werden.
echo "Hallo <strong>kluge</strong> Welt!";
Ausgabe mit HTML-Attributen
echo 'Hallo <span class="rot">kluge</span> Welt!';
Dynamische Websites?
Datenbank Zugriff?
Verbindungsvariabeln externe Datei verbindung.php
Wo läuft was ab?
Zugriff auf Datenbank
Rezept: Nur x Datensätze auflisten
SELECT * FROM x LIMIT Start, Zeilen
Beispiel: Es werden die ersten vier Datensätze aufgelistet
$sql = "SELECT * FROM ".$tbl." ORDER BY name ASC
LIMIT 0, 4;";
Beispiel: Es werden die ersten vier Datensätze aufgelistet
$sql = "SELECT * FROM ".$tbl." ORDER BY name ASC
LIMIT 0, 4;";
Rezept: Navigieren durch X Datensätze
<a href="<?php echo
$_SERVER['PHP_SELF']."?start=".($start+$zeilen);
?>">weiter</a>
Somit gilt
Erster Aufruf: LIMIT 0,4
Zweiter Aufruf: LIMIT 4,4
Dritter Aufruf: LIMIT 8,4
Startwert in Variable $start setzen
if (isset($_GET['start'])) {
$start = $_GET['start'];
} else {
$start = 0;
}
$zeilen = 4;
$_SERVER['PHP_SELF']."?start=".($start+$zeilen);
?>">weiter</a>
Somit gilt
Erster Aufruf: LIMIT 0,4
Zweiter Aufruf: LIMIT 4,4
Dritter Aufruf: LIMIT 8,4
Startwert in Variable $start setzen
if (isset($_GET['start'])) {
$start = $_GET['start'];
} else {
$start = 0;
}
$zeilen = 4;
Rezept: Zum nächsten Datensatz gehen
Einen Hyperlink »weiter« um zum nächsten Datensatz zu gelangen einbauen
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start+$zeilen);
?>">weiter</a>
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start+$zeilen);
?>">weiter</a>
Rezept: Zum vorherigen Datensatz gehen
Einen Hyperlink »zurück« um zum vorherigen Datensatz zu gelangen einbauen
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start-$zeilen);
?>">zurück</a>
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start-$zeilen);
?>">zurück</a>
Rezept: zurück bei X Datensätzen dynamisch sichtbar machen
Link «Zurück» ausblenden am Anfang
<?php
if ($start > 0) {
?>
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start-$zeilen);
?>">zurück</a>
<?php
}
?>
<?php
if ($start > 0) {
?>
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start-$zeilen);
?>">zurück</a>
<?php
}
?>
Rezept: Anzahl Datensätze herausfinden
Variable1 = "SQL-Abfrage";
Variable2 = mysqli_query(Verbindung, Abfrage);
Variable3 = mysqli_num_rows(Variable2)
Beispiel (in der Datenbank kommt das Feld name vor)
$sql2 = "SELECT * FROM ".$tbl.";";
$query2 = mysqli_query($verb, $sql2);
$anzahl = mysqli_num_rows($query2);
Variable2 = mysqli_query(Verbindung, Abfrage);
Variable3 = mysqli_num_rows(Variable2)
Beispiel (in der Datenbank kommt das Feld name vor)
$sql2 = "SELECT * FROM ".$tbl.";";
$query2 = mysqli_query($verb, $sql2);
$anzahl = mysqli_num_rows($query2);
Rezept: vorwärts bei X Datensätzen dynamisch sichtbar machen
Link «Weiter» ausblenden am Schluss
<?php
if ($start+$zeilen < $anzahl) {
?>
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start+$zeilen);
?>">weiter</a>
<?php
}
?>
<?php
if ($start+$zeilen < $anzahl) {
?>
<a href="<?php echo
$_SERVER ['PHP_SELF']."?start=".($start+$zeilen);
?>">weiter</a>
<?php
}
?>
Rezept: Daten in Datenbank einfügen
Rezept: Datensätze editieren
4 Schritte notwendig
1. Alle Pokemons auflisten, mit «Bearbeiten»-Link versehen
2. «Editieren»-Link id übergeben
3. In neuer Formularseite «editieren.php» zu bearbeitenden
Pokemon einfüllen
4. «Update»-SQL-Funktionen aufrufen
1. Alle Pokemons auflisten, mit «Bearbeiten»-Link versehen
2. «Editieren»-Link id übergeben
3. In neuer Formularseite «editieren.php» zu bearbeitenden
Pokemon einfüllen
4. «Update»-SQL-Funktionen aufrufen
Datensätze editieren: Einzelne Schritte im Detail 1.
1. Alle Pokemons auflisten, mit «Editieren»-Link versehen
Zuerst
auflisten2.php kopieren zu
bearbeiten_auflisten.php
Zuerst
auflisten2.php kopieren zu
bearbeiten_auflisten.php
Datensätze editieren: Einzelne Schritte im Deatil 2.
2. Editieren»-Link id übergeben
Folgende Änderung von
do {
echo $row['name']. " hat Energie ".$row['farbe']."<br>";
} while($row = mysqli_fetch_assoc($query));
zu
do {
echo $row['name']. " hat Energie ".$row['farbe']."<br>";
echo "<a href='editieren.php?id=".$row['id']."'>bearbeten</a><br>";
} while($row = mysqli_fetch_assoc($query));
Folgende Änderung von
do {
echo $row['name']. " hat Energie ".$row['farbe']."<br>";
} while($row = mysqli_fetch_assoc($query));
zu
do {
echo $row['name']. " hat Energie ".$row['farbe']."<br>";
echo "<a href='editieren.php?id=".$row['id']."'>bearbeten</a><br>";
} while($row = mysqli_fetch_assoc($query));
Datensätze editieren: Einzelne Schritte im Detail 3.
3.Neue Formularseite «editieren.php»
Ausgehen von formular.php. Ändern von
if (isset($_GET['submit'])) {
...
}
?>
<!doctype html>
zu
} else {
$sql = "SELECT * FROM ".$tbl3.", ".$tblf;
$sql .= " WHERE ".$tbl3.".energie = ".$tblf.".id";
$sql .= " AND ".$tbl3.".id=".$_GET['id'];
$query = mysqli_query($verb,$sql);
$row = mysqli_fetch_assoc($query);
$name = $row['name'];
$energie = $row['energie'];
$punkte = $row['punkte'];
$beschreibung = $row['beschreibung'];
}
?>
<!doctype html>
Ausgehen von formular.php. Ändern von
if (isset($_GET['submit'])) {
...
}
?>
<!doctype html>
zu
} else {
$sql = "SELECT * FROM ".$tbl3.", ".$tblf;
$sql .= " WHERE ".$tbl3.".energie = ".$tblf.".id";
$sql .= " AND ".$tbl3.".id=".$_GET['id'];
$query = mysqli_query($verb,$sql);
$row = mysqli_fetch_assoc($query);
$name = $row['name'];
$energie = $row['energie'];
$punkte = $row['punkte'];
$beschreibung = $row['beschreibung'];
}
?>
<!doctype html>
Datensätze editieren: Einzelne Schritte im Detail 4.
4. «Update»-SQL-Funktionen aufrufen
Einfügen eines versteckten Feldes für die id
<input name="id" type="hidden" id="id" value="<?php
echo $row['id']; ?>" />
Einfügen eines versteckten Feldes für die id
<input name="id" type="hidden" id="id" value="<?php
echo $row['id']; ?>" />
SQL-Befehl für Aktualisieren in Datenbank
Sicherheitsabfrage via Javascript
Gross- und Kleinschreibung
Windows und Macintosh unterscheiden nicht zwischen Gross- und Kleinschreibung in Dateien. Die Dateien «produkte.htm» und «Produkte.htm» sind identisch für
Windows und Mac.
Linux und Unix unterscheiden zwischen Gross- und Kleinschreibung. Das heisst, die Dateien «produkte.htm» und «Produkte.htm» sind für Linux und Unix nicht identisch.
Wir vergeben wir für Ordner- und Dateinamen und CSS- Definitionen nach Möglichkeit nur Kleinbuchstaben.
Windows und Mac.
Linux und Unix unterscheiden zwischen Gross- und Kleinschreibung. Das heisst, die Dateien «produkte.htm» und «Produkte.htm» sind für Linux und Unix nicht identisch.
Wir vergeben wir für Ordner- und Dateinamen und CSS- Definitionen nach Möglichkeit nur Kleinbuchstaben.
Kartensatzinfo:
Autor: CoboCards-User
Oberthema: Interaktive Medien
Thema: Web Applikationen
Veröffentlicht: 18.06.2014
Schlagwörter Karten:
Alle Karten (41)
keine Schlagwörter