Datensatz in eine MySQL-Datenbank-Tabelle einfügen - INSERT INTO

23. Oktober 2008 – 15:26

In einem anderen Tutorial haben wir ja bereits gelernt wie wir Daten aus einer Datenbank auslesen.
Wenn du noch nicht weißt wie man Daten aus einer DB ausliest dann empfehle ich dir erst das Tutorial “Daten aus einer MySQL-Datenbank-Tabelle auslesen und anzeigen - SELECT” zu lesen um zu verstehn was hier passiert.

<?php

//DB-Settings
$db_host        = 'localhost'// Datenbankserver
$db_user        = 'root';              // Datenbankbenutzer
$db_pass        = ;         // Datenbankpasswort
$db_db    = 'erocms';              // Datenbankname

$con = @mysql_connect($db_host, $db_user, $db_pass);

if (!$con) {
        die('Konnte keine Verbindung zum Datenbankserver herstellen!<p/><strong>Fehler:</strong><br/>'.mysql_error());
}

// Wenn der Button "einfügen" geklickt wurde trage username und passwort in die DB ein
if (isset($_POST['input'])) {
    /*
                Übersetzt:
                Füge in die Datenbank "meine_db" und dort in der Tabelle "members" den username $_POST['username'] und das passwort $_POST['passwort'] ein.
        */

        mysql_query(“INSERT INTO `”.$db_db.“`.`members` (
                        `username`,
                        `passwort`
                ) VALUES (
                        '”
.mysql_escape_string($_POST['username']).“',
                        '”
.mysql_escape_string($_POST['passwort']).“'
                )”
) or die (“<srong>Datenbankfehler:</strong> “.mysql_error());
}

$all_members = mysql_query(“SELECT * FROM `”.$db_db.“`.`members`”) or die (“<srong>Datenbankfehler:</strong> “.mysql_error());

mysql_close($con);

echo '<h2>Datensatz einfügen</h2>
        <form action="'
.$_SERVER['SCRIPT_NAME'].'" method="post">
                Username: <input type="text" name="username" /><br />
                Passwort: <input type="text" name="passwort" /><br />
                <input type="submit" name="input" value="einfügen" />
</form>'
;

while ($members_ary = mysql_fetch_array($all_members,MYSQL_ASSOC)) {
        echo '<strong>Username:</strong> '.$members_ary['username'].' <strong>Zuname:</strong> '.$members_ary['passwort'].' [ <a href="'.$_SERVER['SCRIPT_NAME'].'?delete='.$members_ary['username'].'">DELETE</a> ]<br />';
}

?>

Wichtig!
Solch ein Script sollte immer Passwort geschützt sein!

Mehr zu Passwortschutz findest du hier: http://ctxtra.org/snippet/?p=16


Datensatz aus einer MySQL-Datenbank-Tabelle löschen - DELETE

23. Oktober 2008 – 15:08

In einem anderen Tutorial haben wir ja bereits gelernt wie wir Daten aus einer Datenbank auslesen.
Wenn du noch nicht weißt wie man Daten aus einer DB ausliest dann empfehle ich dir erst das Tutorial “Daten aus einer MySQL-Datenbank-Tabelle auslesen und anzeigen - SELECT” zu lesen um zu verstehn was hier passiert.

<?php

//DB-Settings
$db_host        = 'localhost'// Datenbankserver
$db_user        = 'root';              // Datenbankbenutzer
$db_pass        = ;         // Datenbankpasswort
$db_db    = 'erocms';              // Datenbankname

$con = @mysql_connect($db_host, $db_user, $db_pass);

if (!$con) {
        die('Konnte keine Verbindung zum Datenbankserver herstellen!<p/><strong>Fehler:</strong><br/>'.mysql_error());
}

// Wenn der Link "DELETE" geklickt wurde lösche den username der in $_GET['delete'] gespeichert ist
if (isset($_GET['delete'])) {
        /*
                Übersetzt:
                Lösche aus der Datenbank "meine_db" und dort aus der Tabelle "members" den username $_GET['delete']
        */

        mysql_query(“DELETE FROM `”.$db_db.“`.`members` WHERE username='”.mysql_escape_string($_GET['delete']).“' “) or die (“<srong>Datenbankfehler:</strong> “.mysql_error());
}

$all_members = mysql_query(“SELECT * FROM `”.$db_db.“`.`members`”) or die (“<srong>Datenbankfehler:</strong> “.mysql_error());

mysql_close($con);

while ($members_ary = mysql_fetch_array($all_members,MYSQL_ASSOC)) {
        echo '<strong>Username:</strong> '.$members_ary['username'].' <strong>Zuname:</strong> '.$members_ary['passwort'].' [ <a href="'.$_SERVER['SCRIPT_NAME'].'?delete='.$members_ary['username'].'">DELETE</a> ]<br />';
}

?>

Wichtig!
Solch ein Script sollte immer Passwort geschützt sein!

Mehr zu Passwortschutz findest du hier: http://ctxtra.org/snippet/?p=16


Daten aus einer MySQL-Datenbank-Tabelle auslesen und anzeigen - SELECT

23. Oktober 2008 – 14:42

Hier will ich euch erklären wie Ihr Daten aus einer Datenbank (DB) auslesen und anzeigen lassen könnt.

In unserem Beispiel haben wir eine Datenbank mit den Namen meine_db und eine Tabelle mit den namen members.
In der Tabelle members befinden sich die Felder username und passwort.

So könnte die Tabelle aussehen:
#############################
meine_db.members
—————————–
username | passwort
—————————–
mark| 123
hans | 456
inge | 789
#############################

Solch ein Script ist eigendlich sehr einfach zu schreiben. Zum besseren Verständniss habe ich das Script in 3 Abschnitte aufgeteilt.

Im Abschnitt 1 müssen wir unser DB-Einstellungen vornehmen. Das heißt: Server, Benutzer, Passwort und Datenbankname angeben. Dann wird die Verbindung mit Hilfe von mysql_connect() hergestellt.

Im Abschnitt 2 stellen wir die Anfrage an die Datenbank. Hier wählen wir mit SELECT die Felder die wir brauchen. In unserem Fall brauchen wir username und passwort. Wenn wir alle Felder wählen wollen schreiben wir nur * (ein Stern) an Stelle der Feldernamen.
Wenn etwas in unserer Anfrage falsch ist, soll uns dies PHP mittelen. Das machen mir mit den Befehl mysql_error().

Jetzt befinden sich unsere Daten in der Variable $all_members also können wir die Verbindung zur DB beenden.

Im Abschnitt 3 lassen wir alles auf den Bildschirm anzeigen was wir sehen wollen. Ab hier sollte auch erst die eigendliche Seite (HTML) beginnen.

<?php

##########################################
// Abschnitt 1 - DB Verbindung herstellen

//DB-Einstellungen
$db_host        = 'localhost'// Datenbankserver
$db_user        = 'root';              // Datenbankbenutzer
$db_pass        = 'passwort';         // Datenbankpasswort
$db_db    = 'meine_db';          // Datenbankname

//DB-Verbindung herstellen
$con = @mysql_connect($db_host, $db_user, $db_pass);

// Wenn keine Verbindung zur DB möglich dann Seitenaufbau abbrechen und Fehlermeldung ausgeben
if (!$con) {
        die('Konnte keine Verbindung zum Datenbankserver herstellen!<p/><strong>Fehler:</strong><br/>'.mysql_error());
}

##########################################
// Abschnitt 2 - DB Anfragen stellen danach Verbindung zu DB beenden

// Anfrage an die Tabelle "members" der Datenbank $db_db stellen
/*
        Übersetzt:
        Wähle alle Felder der Datenbank `meine_db` aus der Tabelle `members` aus,
        oder wenn ein Fehler auftaucht brich das Script ab und zeig mir den Fehler.
*/

$all_members = mysql_query('SELECT * FROM `'.$db_db.'`.`members`') or die (“<srong>Datenbankfehler:</strong> “.mysql_error());

// DB-Verbindung beenden
mysql_close($con);

##########################################
// Abschnitt 3 - Anfagen Ausgenben

// Zeileweise den Datensatz aus der Anfrage $all_members als ausgeben. (assoziatives Array)
while ($members_ary = mysql_fetch_array($all_members,MYSQL_ASSOC)) {
        echo “<strong>Username:</strong> “.$members_ary['username'].” <strong>Zuname:</strong> “.$members_ary['passwort'].“<br />”;
}

?>

So das soll es schon gewesen sein. Einfach mal den Code anschauen und versuchen zu verstehen.
Wenn Fragen sind einfach einen Kommentar schreiben.


Eine Webseite mit Styleauswahl

14. Oktober 2008 – 14:45

Jeder hat sich sicher schon das eine oder andere mal gefragt wie man seine Seite mit mehren Styles austatten und der User auch noch ein Style frei wählen kann.

Hier nun eine einfache Lösung per GET.

index.php

<?php

###############################
#        index.php
###############################

// Deine Styles (Namen der CSS-Dateien)
$style_ary = array(
        'style1.css',
        'style2.css',
        'style3.css'
);

// Standartstyle (style1) - wenn nichts gewählt
$default_style = $style_ary[0];

/*#################################################################*/

// Welches Style wurde gewählt?
if (isset($_GET['style'])) {
        foreach($style_ary as $value) {
                if ($_GET['style'] == $value) {
                        $style = $value;
                }
        }
// Wenn kein Style gewählt wurde dann nimm das Standartstyle
} else {
        $style = $default_style;
}

echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
        <title>Eine Webseite mit Styleauswahl</title>
        <link rel="stylesheet" type="text/css" media="screen, projection" href="'
.$style.'" />
</head>
<body>
<div style="margin:0 auto; width:800px">
        <div class="main">
                <form action="index.php" method="get">
                Bitte wähle einen Style: <select name="style" onChange="submit()">'
;
                        // Styles im Selectfeld auflisten
                        foreach($style_ary as $value) {
                                // Aktuellen Style als Vorauswahl markieren
                                if ($style == $value) {
                                        $selected = 'selected="selected"';
                                } else {
                                        $selected = ;
                                }
                                echo '<option '.$selected.' value="'.$value.'">'.$value.'</option>';
                        }
                echo '</select>
        </div>
</div>
</body>
</html>'
;

?>

Will man das Style an andere Seiten weitergeben, braucht man nur noch folgendes an den Link anhängen:

style='.$style.'

Beispiellink:

echo '<a href="andere_seite.php?style='.$style.'">Link zur anderen Seite</a>';

Hier noch zwei CSS-Dateien und schon könnt ihr testen.

style1.css

* {
padding:0px;
margin:0px;
}

body {
background-color: #ff0000;
font-family:verdana,arial;
font-size: 100.01%;
color:#ffffff;
}

a {
color:#ffffff;
text-decoration:none;
}

a:hover {
color:#ffffff;
text-decoration:underline;
}

.main {
background-color:#669966;
height:300px
}

style2.css

* {
padding:0px;
margin:0px;
}

body {
background-color: #000000;
font-family:verdana,arial;
font-size: 100.01%;
color:#ffffff;
}

a {
color:#ffffff;
text-decoration:none;
}

a:hover {
color:#ffffff;
text-decoration:underline;
}

.main {
text-align:center;
padding:20px;
background-color:#669966;
height:300px
}


Was ist ein “Array” ? - array()

11. Oktober 2008 – 23:06

Wer mit Arrays arbeiten kann ist klar im Vorteil!
Darum versuche ich euch hier kurz, ohne viel Theorie, zu erklären was ein Array ist.
Ein Array ist im Grunde aufgebaut wie ein Inhaltsverzeichniss eines Buches. Also eine große Anleitung zur Hand nehmen und reinschauen *g*.

Damit ihr erstmal versteh wie ein Array funktioniert, gehe in diesem Tutorial nur auf einfache Arrays (eindimensionales Array) ein!

In diesem Beispiel bauen wir ein Array welches nur aus Namen besteht.

Beispiel an Hand eines Inhaltsverzeicnisses eines Buches:

Kapitel 1: Hans
Kapitel 2: Timo
Kapitel 3: Martin
Kapitel 4: Christoph

Ok, bauen wir das ganze als Array. Dafür müssen wir als erstes ein Array definieren. Unser Array soll den Namen “benutzer” bekommen. Dafür erstellen wir zuerst eine Variable mit den Namen “benutzer” die wir mit der Funktion array füllen. Somit wird aus der Variable ein Array!

<?php
$benutzer= array();
?>

Nun haben wir eine Array (Inhaltsverzeichniss des Buches) mit den Namen “benutzer”. Wenn wir nun wissen wollen was im Array drin steht (bzw. Was im Inhaltsverzeichniss unseres Buches steht) müssen wir das ganze auf dem Bildschirm anzeigen lassen. Das machen wir, wie in einem anderen Tutorial gelernt, mit dem Befehl echo. Leider werden auf den Bildschirm nur angezeigt bekommen das es sich hier um ein Array handelt:

Array

Um schnell zu erfahren was in unserem Array steht können den Befehl print_r nutzen.

<?php
$benutzer = array();
print_r($benutzer);
?>

Jetzt sehen wir auf dem Bildschirm:

Array ( )

Die Klammer weist uns darauf hin dass, das Array leer ist. Also sollten wir das Array füllen.
(Das Inhaltsverzeichniss unseres Buches muss sozusagen noch geschrieben werden.)

Das machen wir wie folgt:

<?php
$benutzer = array('Hans','Timo','Martin','Christoph');
?>

Wie wir sehen haben wir in der Funktion array mit Namen gefüllt. Diese werden in PHP als Text behandelt und Text muss in Hochkommas ( ' ) geschrieben werden. Getrent werden die Namen mit einen normalen Komma ( , )

Das Ausgeben mit echo würde jetzt wieder nur ein

Array

auf den Bildschirm anzeigen. Also greifen wir wieder zu print_r und bekommen:

Array ( [0] => Hans [1] => Timo [2] => Martin [3] => Christoph )

TIP:
Die Seitenquellcode im Browser anzeigen lassen… und es wird übersichtlicher:

Array
(
[0] => Hans
[1] => Timo
[2] => Martin
[3] => Christoph
)

Das Array ist jetzt mit unseren Benutzern gefüllt… und wir können es Benutzen!

Um einen bestimmten Benutzer auf dem Bildschirm anzuzeigen, brauchen wir nur an die Variable $benutzer die entsprechende Position in eckige Klammern ( [ ] ) anhängen.

Wenn wir uns nun den Benutzer “Martin” anzeigen lassen wollen müssen wir nur die 2 anhängen.

Beispiel:

<?php
$benutzer = array('Hans','Timo','Martin','Christoph');
echo $benutzer[3];
?>

Auf dem Bildschirm sollte nun folgendes erscheinen:

Martin

Ich denke das solls vorerst zum einfachen Array (eindimensionales Array) gewesen sein.

Wenn ich etwas vergessen habe oder ihr noch Wünsche oder Fragen habt einfach ein Kommentar schreiben.


Fehler in PHP anzeigen lassen!

10. Oktober 2008 – 12:41

Da niemand von uns Perfekt ist und auch der beste PHPler Fehler macht, sollte jeder der eigene Scripte schreibt als erstes drauf achten das er von Anfang an alle Fehler anzeigen lässt.

Um alle Fehlertypen zu aktivieren setzten wir error_reporting aus E_ALL.
Damit die Fehler auch angezeigt werden, müssen wir noch mit Hilfe von display_errors aktivieren.
Aus Sicherheuitsgründen sollte dies aber im laufenden Betrieb ausgeschalten werden.

<?php
        error_reporting(E_ALL);
        ini_set('display_errors', 1);
?>

Wer diese Einstellungen noch nie benutzt hat, wird sich sicher erschrecken. *g*
Aber keine Sorge! Einfach fehler Posten, ich werde dann ein Tutorial schreiben.


if / else /elseif -Anweisung - Was ist das und wie funktioniert das?

6. Oktober 2008 – 23:59

Eine if-Anweisung ist im Grunde sehr einfach zu verstehen und auch schnell erklärt.
Ich werde aber versuchen es einwenig ausführlicher zu gestalten.

Also wenn ihr irgendwo lest:

$zahl_a = 1;
$zahl_b = 5;

if ($zahl_a == $zahl_b) {
        echo '$zahl_a ist größer als $zahl_b';
}

dann steht das nichts anderes als:
wenn $zahl_a größer ist als $zahl_b dann zeige auf den Bildschirm: $zahl_a ist Größer als $zahl_b

Diese kurze IF-Anweisung ist eine einfache if-Anweisung… Also nur “wenn das mach das”.
Das ganze hat auch noch eine Kurzschreibweise. Bei der Kurzschreibweise ist darauf zu achten das nach der “mach das”-Anweisung (echo '$zahle……) eine Leerzeile gesetzt wird

Beispiel:

if ($zahl_a > $zahl_b)
        echo '$zahl_a ist größer als $zahl_b';
        // Das hier muss eine Leerzeile sein
        #echo 'Hier kann es mit Code weitergehen';
 

Das Ergebniss ist identisch mit dem ersten Beispiel.
Ich persönlich bin allerdings nicht für die Kurzschreibweise… Grade Anfänger machen damit einige Fehler und bekommen nur Schwierigkeiten mit ausführlichen Anweisungen. Darum gehe ich hier nicht näher drauf ein.

OK kommen wir zu einer komplexeren if-Anweisung…
Eben waren wir bei wenn das dann mach das jetzt kommen wir zu wenn das dann mach das -oder wenn das nicht ist- mach das *g*

Also wir kommen von if zu else

Beispiel:

$zahl_a = 1;
$zahl_b = 5;

// Wenn $zahl_a größer ist als $zahl_b
if ($zahl_a > $zahl_b) {
        echo '$zahl_a ist größer als $zahl_b';

// Wenn $zahl_a nicht größer ist als $zahl_b
} else {
        echo '$zahl_a ist nicht größer als $zahl_b';
}

Jetzt wollen wir anzeigen lassen wenn $zahle_a kleiner $zahle_b ist…
Das können wir mit der Hilfe von elseif erreichen. elseif macht im grunde das selbe wie if nur mit dem unterschied das wir in eine if-anweisung noch eine if-Anweisung einbauen können.

Also wenn das dann mach das -oder- wenn das dann mach das -oder wenn nichts von beiden- mach das

$zahl_a = 1;
$zahl_b = 5;

// Wenn $zahl_a größer ist als $zahl_b
if ($zahl_a > $zahl_b) {
        echo '$zahl_a ist größer als $zahl_b';

// Wenn $zahl_a kleiner ist als $zahl_b
} elseif ($zahl_a < $zahl_b) {
        echo '$zahl_a ist kleiner als $zahl_b';

// Wenn $zahl_a gleich $zahl_b
} else {
        echo '$zahl_a ist nicht größer als $zahl_b';
}

So wass fehlt noch? Genau. wenn $zahl_a gleich $zahl_b
Einfach noch ein elseif dazu…

Beispiel:

$zahl_a = 1;
$zahl_b = 5;

// Wenn $zahl_a größer ist als $zahl_b
if ($zahl_a > $zahl_b) {
        echo '$zahl_a ist größer als $zahl_b';

// Wenn $zahl_a kleiner ist als $zahl_b
} elseif ($zahl_a < $zahl_b) {
        echo '$zahl_a ist kleiner als $zahl_b';

// Wenn $zahl_a gleich $zahl_b ist
} elseif ($zahl_a < $zahl_b) {
        echo '$zahl_a ist kleiner als $zahl_b';

// Wenn etwas schief geht (bzw. nichts von all dem eintrifft) mach das
} else {
        echo '$zahl_a ist nicht größer als $zahl_b';
}

So das war es eigendlcih schon zu if / else / elseif -Anweisungen.
Ich hoffe es war nicht zu komplex und verständlich genug.
Wenn nicht bitte einen Komentar da lassen!


Webseite mit Hilfe von include() erstellen

6. Oktober 2008 – 23:20

In diesem Tutorial will ich euch erklären wie ihr ein Webseite mit hilfe von include() erstellt.
Das nutzen von include hat den Vorteil, dass wir nicht wie in HTML den Seiten-Kopf, die Navi, und den Seiten-Fuß in jede Datei mit reinschreiben müssen.

Wir erstellen also eine Datei die den Kopf und die Navi enthält und eine Datei mit den Hauptbereich der wiederum die seiten einbindet die wir in der Navi klicken. Dann brauchen wir noch eine Seite die aus den dateien die Webseite zusammen baut das macht bei uns jetzt gleich die index.php.

index.php
Ist für den Aufbau der Seite zuständig.

header.php
Enthält den Seiten-Kopf (logo) und die Navi

content.php
Erstellt den Haupteil der Webseite je nachdem was in der Navi geklickt wurde

index.php => baut die Seite in unserem Beispiel so auf:
Webseite mit include()

So fangen wir an mit der index.php
In der index.php erstellen wir das Grundgerüst der Seite. Ich hab nur das nötigste an HTML-Code reingeschriben. Ich nutzte immer den Doctype “XHTML 1.0 Transitional”. Welchen ihr nutzt beliebt natürlich euch überlassen. Demnach richtet sich auch mein HTML/CSS aus.

<?php
#############################
#
#       index.php
#
#############################

echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
        <title>Eine Website mit include()</title>
        <style type="text/css">
                a {color:#ffffff; text-decoration:none;}
                a:hover {color:#ffffff; text-decoration:underline;}
        </style>
       
</head>
<body>
<div style="margin:0 auto; width:800px">
        <div style="background-color:#660000; height:100px">'
;
               
                // hier includen wir unseren Seiten Kopf
                include('header.php');
       
        echo '</div>
        <div style="background-color:#669966; height:300px">'
;
       
                // Hier wird der Hauptbereich unserer Seite geladen
                include('content.php');
               
        echo '</div>
</div>
</body>
</html>'
;
?>

In der header.php haben wir unsere Navi und unsere Uberschrift der Seite alternativ könnten wir natürlich auch ein bild einfügen oder so.
Die Navi hab ich aus drei links erstellt zum einen die Startseite und zum anderen noch zwei unterseiten. Übergeben werden die Parameter per GET.

<?php
#############################
#
#       header.php
#
#############################

echo '<center>';
echo '<h1>Das ist eine Seite mit include()</h1>';
echo '[ <a href="?site=startseite">Startseite</a> ] | [ <a href="?site=seite_1">Seite 1</a> ] | [ <a href="?site=seite_2">Seite 2</a> ]';
echo '</center>'
?>

Die content.php ist quasi unser Herz… hier wird der eigendliche Inhalt unserer Seite aufgebaut.
Ich denke viel ist nicht zu erklären, per IF-Anweisung wird geprüft welche Seite geklickt wurde und diese Inhalt wird dann angezeigt.

<?php
#############################
#
#       content.php
#
#############################

// Wenn Seite 1 geklickt
if (isset($_GET['site']) AND $_GET['site'] == 'seite_1′) {
        echo 'Das ist die Seite 1′;

// Wenn Seite 2 geklickt
} elseif (isset($_GET['site']) AND $_GET['site'] == 'seite_2′) {
        echo 'Das ist die Seite 2′;

// Wenn keins von beiden geklickt
} else {
        echo 'Das ist die Startseite';
}
?>

Anstelle der echo's könnten wir auch wiederum includes nutzen was auch sehr offt sinnvoll ist denn so können wir die texte der unterseiten wieder aus lagen. Was den vorteil hat das wir PHP von HTML getrennt halten.

Beispiel für Seite 2:

echo 'Das ist die Seite 2′;

ersetzen wir mit:

include('seite_2.html');

Nun müssen wir noch eine seite_2.html anlegen die einen text enthält.

Fertig!

Kommen wir noch schnell zur Sicherheit:
Es muss IMMER geprüft werden welche Seite per $_GET eingebunden wird!
In unserem Beispiel geschieht das mit:

if ($_GET['site'] == 'seite_2′)

Was passiert wenn wir nicht prüfen?
Ganz einfach es kann eine externe Seite eingebunden werden!

Bei uns sieht ein Link in der Navigation so aus:

index.php?site=site_1

Der User kann also den Link auch selber nehmen und die Seite direkt aufrufen. Der User kommt also auch direkt über den Link zu dieser Seite:

http://deine-seite.de/index.php?site=site_1

Was aber wenn der User (der böse User) folgendes macht:

http://deine-seite.de/index.php?site=http://die-böse-seite-des-kunden.de/böser_code.txt

Genau! Unsere Seite kann gehackt werden und schädlicher code kann auf unserem Server abgelegt werden.
Damit das nicht passiert muss IMMER geprüft werden!!

Wenn noch Fragen sind bitte einfach einen Kommentar schreiben ich werde antworten.


Was ist eine Variable und was machst sie?

6. Oktober 2008 – 05:08

Um es kurz zu machen, Variablen sind eine Art Kontainer oder Kiste oder Rucksack… sie speichern den Inhalt den man Ihnen zugeordnet hat.

Eine Variable erkennt man immer an dem vorangehenden $ (Dollarzeichen). Alles was nach dem $ kommt ist der Variablenname.

Das wichtigste ist erstmal das wir verstehen das Varibalen beliebige Namen haben können. Oft werden Beispiele mit $var1 und $var2 und so weiter geschrieben… ich versuche das hier mal zu vermeiden da man so gleich Missverständnisse aus dem weggehen kann.

Ok also wir erstellen ein PHP dem Inhalt:

<?php
$benutzername = 'Klaus';
?>

Links ist jetzt die Variable die wir den Namen “benutzername” gegeben haben. Die Variable wird jetzt die mit dem rechts neben dem = (istgleich) stehenden “Klaus” gefüllt. Also unser so genannter Kontainer wird mit dem gefüllt was rechts neben dem istgleich steht.

$benutzername ist jetzt Klaus…

Wenn wir das jetzt auf unserem Webspace schieben und im Browser anzeigen lassen werden wir ein leere seite bekommen.

Warum? Genau! - Wel wir noch nirgends ein echo haben.
Wir erinnern uns: Ein echo ist dafürda um etwas auf den Bildschirm anzuzeigen…

Jetzt können wir die Variable nehmen und irgendwo wie wir lustig sind wieder mitells dem Befehl echo ausgeben.

<?php
$benutzername = 'Klaus';
echo $benutzername;
?>

Ergebniss auf dem Bildschirm sollte sein:

Klaus

Das war im Grunde schon alles. War doch einfach oder?

Ich würde aber sagen weil wir sogut dabei sind machen wir gleich mal mit drei Beispiele weiter.

<?php
$vorname        = 'Hans';
$zuname = 'Wurst';

// Hier verbinden wir ein echo mit Variablen das geschieht mit den Punkt
echo 'Mein Vorname ist '.$vorname.' und mein Zuname ist '.$zuname.' !';
?>

<?php
$text_a = 'Mein Vorname ist Hans';
$text_b = ' und mein Zuname ist Wurst';

// Hier verbinden wir zwei Variablen
echo $text_a.$text_b;
?>

<?php
$vorname        = 'Hans';
$zuname = 'Wurst';

$text_a = 'Mein Vorname ist '.$vorname;
$text_b = ' und mein Zuname ist '.$zuname;

// Hier verbinden wir zwei Variablen
echo $text_a.$text_b;
?>

Ich denke mit den Beispielen sollte man jetzt verstanden haben wie Variablen funktionieren. Also machen wir weiter.

Später im Code können wir Variablen mit neuen Inhalt füllen. Der alte Inhalt geht darurch verloren.

<?php
$name = 'Hans Wurst';
echo 'Mein Name ist '.$name;

$name = 'Peter Lustig';
echo '<br />Mein Name isz '.$name;
?>

Ergebniss:

Mein Name ist Hans Wurst
Mein Name ist Peter Lustig

Durch ein einfaches einsetzten eins Punktes (.) können wir das allerdings ändern. Die Variable wird dadurch nicht überschrieben sondern erweitert. Sie werden zusammen gefügt… in Zeile 4 ist ein Punkt vor dem = (istgleich).

<?php
$name = 'Hans Wurst';
echo 'Mein Name ist '.$name;

$name .= 'Peter Lustig';
echo 'Mein Name isz '.$name;
?>

Ergebniss:

Mein Name ist Hans Wurst
Mein Name ist Hans WurstPeter Lustig

Das soll es erstmal zu den Grundlagen für Variablen gewesen sein, wenn ich was vergessen habe fragt einfach an ich werde es erweitern. Bis dahin schlage ich vor ihr spielt erstmal ein wenig rum und testet was so alles möglich ist.


So erstelle ich ein PHP Script (eine PHP Datei)

6. Oktober 2008 – 04:13

Bevor wir eine PHP Datei erstellen ,sollten wir Grundkentnisse in HTML haben. Wir gehen mal davon aus, dass jeder HTML ein wenig beherrscht.

Jeder der PHP-Scripte schreibt sollte sich die PHP-Manuel herunterladen. Die PHP-Manuel für Windows  ist ein ausführlich (*.chm) HTML-Hilfedatei.
Downlaoden Könnt ihr Sie bei de.php.net [ downloaden ].

Oft kommt es vor das diese Datei nicht funktioniert dann müsst ihr mit der rechten mausklicken und auf “Eigenschaften” dann sollte unten irgendetwas mit “Sicherheitsrisiko” oder so stehen dort klicken wir dann “zulassen”. (Wenn jemand den genauen Wortlaut für mich hat wär ich dankbar dann werd ich es hier ergenzen.

PHP-Dateien können, genau so wie auch HTML-Dateien, einfach mittels eines Texteditors geschrieben werden. Die Datei nennt man dann einfach nur *.php (wobei der Stern für einen Namen steht zum Beispiel index.php)

Die Datei muss immer mit <?php begonnen und mit einem ?> beendet werden. Nur so weiß der Server, dass es sich um PHP-Code handelt. Alles zwischen diesen Zeichen wird dann als PHP behandelt.

Sehr wichtig ist dann noch zu wissen,dass // (zwei Slash's) und # (Rauten) für Kommentare stehen. Wenn wir einen Kommentar mit mehr Zeilen schreiben wollen, können wir das mit Hilfe eines /* und */ machen. Der Kommentar beginnt mit /* und endet mit */
Kommentare sind wichtig. Ohne Kommentare würdet ihr auch mein Tutorial hier nicht verstehen.

Ok , dann fangen wir mal ganz langsam an… Als erstes öffnet ihr einen Editor eurer Wahl. Ich empfehle den phpDesigner altrnativ reicht zum Anfang auch Wordpad. (Aber wirklich nur zum Anfang!!!)

Dann schreibt ihr folgendes:

<?php
 // Das ist ein Kommentar, Kommentare werden ignoriert

# Das ist auch Kommentar

/*
Und das hier ist
ein Kommentar der
über mehrere Zeilen geht
*/

?>

Jetzt wissen wir schonmal wie wir eine PHP-Datei beginnen und wir sie uns mittels Kommentaren dokumentieren können.

Jetzt speichern wir die Datei und nennen sie test.php .Dann schieben wir sie auf unseren Webspace und rufen sie im Browser auf.
Wie wir sehen, sehen wir nichts *g* Und warum nicht? Genau - Weil in der Datei nur Kommentare stehen und Kommentare ignoriert werden.

Da eine leere Seite ja nicht gerade spannend ist ,wollen wir mal Hallo Welt auf dem Bildschirm anzeigen lassen. Das Ganze machen wir mit unserem ersten PHP-Befehl echo.

Also unsere PHP-Datei soll jetzt so aussehen:

<?php

// 1. Möglichkeit
echo 'Hallo Welt';

// 2. Möglichkeit
// Man beachte das Leerzeichen hinter dem "Hallo"
echo 'Hallo ';
echo 'Welt';

// Das ganze geht auch mit HTML
// Um es Fett zu schreiben müsste man es so machen:
#echo '<strong>Hallo Welt</strong>';

// oder
#echo '<strong>Hallo ';
#echo 'Welt</strong>';

?>

Das ganze speichern wir wieder und lassen es uns im Browser anzeigen.
Auf dem Bildschirm sollten wir jetzt folgendes sehen:

Hallo WeltHallo Welt

Gratulation! Du hast deine erste, funktionierende PHP Datei geschrieben!

Ich will jetzt noch schnell anschneiden ,was noch möglich ist ,aber ich gehe nicht näher darauf ein, da diese Art zu programmieren mir persönlich überhaupt nicht gefällt. Bitte selber mal probieren und schauen was passiert (alles wie gehabt in eine Datei.)

<?php
  echo 'Hallo';
?>

Welt
Hallo Welt

<?php
echo 'und noch ein: Hallo Welt';
?>