So, Hier mal ein Mini-PHP Tut von mir, das die Verwendung,
die Funktionsweise und einige andere PHP-Themen aufzeigen
soll.
________________________________________________
[FONT=times new roman]PHP-Tut [/FONT] by Crash-Override
1. Kleine Einleitung
PHP ist eine Serverseitige Webbasierende Programmiersprache.
Das heißt die PHP Befehle werden schon auf dem Webserver interpretiert. Dies erfolgt indem der Server eine Kopie
der auf dem Server liegenden PHP-Datei erstellt, diese interpretiert, das heißt die Befehle ausführt und diese
in HTML formatiert.
Dazu ein einfaches Beispiel:
<?php
Echo “Hello World“;
?>
Dies ist ein PHP-Skript. Mit <?php wird dem Server
ausgerichtet das er ab hier PHP interpretieren soll.
Und mit ?> wird dem server mitgeteilt „Ab hier kein
PHP mehr bitte“.
Echo ist ein PHP Befehl und er sagt „Gib den Text
der in “ “ dahinter folgt auf dem Bildschirm aus.
Der Webserver wandelt das ganze dann in HTML um
sprich:
<html>
<body>
Hello World
</body>
</html>
Diese HTML-Befehle werden dann an den Browser des Users weitergesendet, der Sie wieder umwandelt und schließlich
sieht der User nur noch
Hello World
Auf seinem Bildschirm, genauer im Browser-Fentser. Dies
war aber auch nur ein einfacher PHP test.
Mit PHP kann man von Foren, über Gästebücher bis hin zu
Chats alles programmieren, wenn man nur weis wie.
2. Vorrausetzungen
Um mit PHP zu arbeiten benötigen Sie nur dreierlei Dinge,
die es alle kostenlos gibt. Erst einmal benötigen sie
einen Browser, wobei dafür auch Billig-Browser-IE oder
andere Browser (auch Linux Browser ) genügen. Zweitens
benötigen Sie einen Texteditor wie Notepad (oder ähnliche
Programme für Linux). Und zu guter letzt noch einen PHP-Untersützenden Webserver. Denn können sie sich entweder
zu Hause an ihrem PC einrichten oder einen Hoster aus
dem Internet wählen. Ich empfehle für den Anfang
letzteres (gut ist zum Beispiel www.funpic.de).
3. Aller Anfang ist…
.. in diesem Fall gar nicht so schwer…
Um zu überprüfen ob ihr Host PHP unterstützt erstellen
sie mithilfe ihres Textprogramms eine Datei namens
PHP-Test.php in der Folgendes steht:
<?php
phpinfo();
?>
Laden sie die Datei auf ihren Server und führen
Sie sie aus.
Unterstützt ihr Server PHP müssten sie ein
ähnliches Ergebnis bekommen wie ich hier:
[sorry Bild noch nicht online...
Hier sieht man etwas über die Aktuelle PHP Version
und vieles mehr]
Herzlichen Glückwunsch! Sie haben gerade PHP geschrieben.
4. if und else.
Vielleicht erinnert ihr euch noch an den Befehl “echo“
Mit $ wird eine Variable Bezeichnet.
(ACHTUNG: PHP unterscheidet zwischen Groß und
Kleinschreibung.)
If-Befehle werden wie folgt deklamiert:
If(X == Y)
{
Anweisung
}
Satt == könnte man auch folgendes einsetzen:
== Ist das selbe
>= Linkes ist größer
<= Rechtes ist größer
!= Ist nicht das selbe
Statt X bzw. Y irgendwelche Variabeln, Strings
(Zeichenketten in “ “) oder Zahlen.
Fortsetung folgt...
_____________________________________________
Ach ja, hier hab ich eine PDF-Offline-Version
zum Downlaod gemacht.
(Bitte Rechts klicken und Speichern unter benutzen) http://ihrname.funpic.de/PHP.exe
_____________________________________________
edit:
Juhuu, dann wird daraus ein Fortsetzungs tut. Ich mach immer ein Update der PDF-Datei...
--
Signature.
Geändert von Crash-Override (23.07.2004 um 04:34 Uhr)
Also mir ist noch was eingefallen.
Etwas für N00bs um PHP besser Verstehn zu können.
6. PHP Allgemein 2
Was ist PHP ?
PHP ist eine Serverseitige Script Sprache.Im
weitestens sinnne ist PHP eine Programmier sprache
(nur im weittesten sinne)
Was ist eine Variable ?
Das hat mir früher viel kopf weh gemacht.
Was sind den Variablen ?
Im grunde sind sie platz halter.
Um zahlen oder buchstaben auszugeben.
Man kann alles in Variablen speichern.
Jedoch ist der Speicher nur temporer.Was so viel heist wie.
Wenn ich auf seite A gehe udn dort die Variable $var1 den wert 1 hat und ich auf den Link zu seite B klicke ist dann auf seite B $var1 nicht 10 sondern nichts (leerzeichen).
Was bedeutet das $ ?
Mit dem $ sagt man dies ist eine Variable.
Variablen können jeden namen haben den es gibt.
7. Switches (TABS)
Ich kenne mich mit dem RPG maker aus da gibt es solche Switches (tabs) gibt es sowas auch in PHP ?
Jein.Ein Switch (tab) in php siht so aus
Hier die Erklärung :
Mit dem befehl switch ($Variable) {}
lesen wir eine Variable aus und prüffen sie ab.
Mit dem Befehl case "1": geben wir eine bedingung auf
die diese Variable haben muss um den folgenden quell text darzustellen.In diesem fall muss $Variable 1 sein um 1 auszugeben.
Das passier per echo "1"; das muss ich nicht erklähren oder ?
Dann kommt aber was Neues undzwar break;
break; heist soviel ENDE von case .
Bzw. mit break; beended man ein case Befehl.
Wozu brauch man das ?
Naja es siht einfach übersichtlicher aus als die if fariante die so aussehn würde :
dazukommt das so die datei manchmal unnötich in die grösse gezogen wird.Was ja nicht so gut ist für die ladezeit.
Diese Datei sichern wir jetzt unter dem Namen eintrag.html.
Mit „<form method="post" action="schreibe.php">“ wird
festgelegt was mit den Einträgen passiert, in diesm Fall
werden sie an schreibe.php weitergeleitet.
Nun schreiben wir mal diese schreibe.php …
<html>
<head>
<title>Crash’s kleines GB</title>
</head>
<body>
<?php
$_POST['text'] = nl2br ( $_POST['text'] );
$daten=$_POST['text']."<br>von <a href=mailto:".$_POST['email'].">".$_POST['name']."</a> <br><hr />";
$datenbank = "eintraege.dat";
$datei = fopen($datenbank,"a");
fwrite($datei, $daten);
?>
Danke das Sie sich in mein Gästebuch eingetragen haben.
<a href="Anzeige.php">Zurück zum Gästebuch</a>
</body>
</html>
Die an diese Datei gesendeten Daten können nun mittels der Variabeln abgefragt werden (Die Variable trägt den Namen den das Eingabefeld trug.
D.H:
Sendet man
E-Mail: <input type="text" name="email">
An eine andere Datei kann man sie mittels $email abfragen.
So, nun brauchen wir noch die Datei Anzeige.php die alle bisherigen Einträge anzeigt.
nein, nein, bitte ... nicht ... Was hast du nur getan?
Eure Arbeit in allen Ehren, aber ich denke, dass dieses Tutorial nur den wenigsten helfen kann (falls überhaupt).
Crash-Override, manche Informationen sind schlicht falsch, andere zu kurz angeschnitten.
dadie, auch bei dir gibt es das Problem der unvollständigkeit, was z.B. wenn register_globals auf Off steht (gilt auch für dich Crash-Override), oder eine Variable $123 heißt?
Logikfehler: was hat z.B. $datum mit fopen() zu tun? Nebenbei ist der HTML Code in einem schlechtem Stil.
Wäre ich nicht in diesem Forum unterwegs würde mich der Begriff RPG Maker nur noch mehr verwirren, d.h. bei einem Tutorial sollte man sich auf das wesentliche konzentrieren.
Ich werde mal eine Liste von Tutorials zusammenstellen, die ich für wirklich hilfreich halte.
Sie soll Oben udn unten einen Link haben um sich in das GB
einzutragen udn in der mitte solleb die einträge stehn.
Wie machen wir das ?
wir fangen an :
so was machen wir hier ?
Wir öffnen die datei per fopen udn speichern so den inhalt
der datei in die Variable $fp ab.Diesen inhalt geben wir dann per echo aus.Da aber bsiher die datei leer ist bringt das reichlich wennich.
Was nun ?
Als zweiten schritt kommen die Links zum eintragen
zu erst schreiben wir folgenden quelltext in die datei popup.txt
so nun ist die ausgabe.php fürst erste fertig.
Nun fangen wir an die datei eintragen.html
zu beschreiben.
Was soll diese datei machen ?
Man soll daten ein tragen können.
Welche daten ?
1.Name
2.E-mail
3.HP
4.Text
Also brauchen wir 4 schreib felder.
Also schreiben wir los dann siht die datei so aus :
so nun weiss aber der User noch nicht wo er was eintragen soll.Also geben wir ihnen Namen.
Dann siht der code so aus :
so soweit so gut.Doch die daten muss ja auch ihrgentwie weiter gegeben werden.Das geht dann per <form> tag
Also siht alles am schluss so aus :
so und somit ist die datei eintrag.html forerst fertig.
machen wir uns an die datei leer-abfrage.php.
Was soll diese datei machen ?
Sie soll prüffen ob die 2 wichtigen felder name und text
auch beschreiben sind.
Dem endsprechen sit sie recht kurz so siht sie aus :
so diese datei ist endgültich fertig.Und muss nur bei bedarv edirt werden z.b. um wörter zu zensieren.
machen wir uns an die datei
schreiben.php
sie ist das HERZ stück und auch das einzich schwere
Was soll diese datei machen ?
Sie soll die daten NUR einmal reinschreiben.
Dabei soll sie immer oben stehn , und es soll
der text kommen "Danke für den eintrag"
Wie machen wir das ?
Als erstes öffen wir daten.txt per fopen wie oben schon einmal dargestellt so siht der quelltext aus :
so was machen wir ?
Wir öffnen die datei mit fopen jedoch nutzen wir nun
r+
Was bringt r+ ?
r+ bedeutet soviel wie :
Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.
Aber das steht da ganz oben schon in meinem Kapitel fopen
Was muss nun noch gemacht werden ?
Daten mussen geschreiben werden und der text
"Danke für den eintrag" soll kommen
das lösen wir so
So im Grobben ist das GB nun fertig.
Es siht nicht toll aus aber es funtzt.
So nun fehlt aber noch der styl oder ?
so dafür müssen wir die datei ausgabe.php
Edieren bisher sah sie so aus :
Hier fehlt noch die css Formatierung
also schreiben zuerst die css daten in die datei
styl.txt die wir bisher nicht beachtet hatten
wir nehmen folgenden css code :
um diese datei einzufüggen nutzen wir wieder fopen
dan siht die ausgabe.php so aus :
10.Das GB sicherheits UPDATE+Smillis
Bisher haben wir eine leerabfrage gehabt.Leider
kann es zu BUG bzw. Null einträgen führen wenn jemand
anderer das GB kennt.Um den endgegen zu wirken
verbinden wir nun die leer-abfrage und die schreibeen.php
Also so sahen bisher ide beiden daten aus :
leer-abfrage.php
Schreiben.php
nun verbinden wir diese beiden das siht dann so aus :
wir nenen diese datei leer-abfrage.php
und können nun die datei schreiben.php Löschen
so siht dann die leer-abfrage.php aus :
so siht doch schon recht ordentlich aus oder ?
Jedoch habe ich oben was von Smillis gefasselt oder nicht ?
Das kommt jetzt.
Mit dem code wie man smillis einbaut kann man auch bb code einbauen es sit eigentlich GANZ easy.
Zum testen nehmen wir nur 1 smilli
mit dem code [gg].
Wo müssen wir also rumbassteln ?
In 2 datein in der ausgabe.php datei und in der
eintrag.html datei.
Fangen wir mit der ausgabe.php an siht siht bsiher so aus :
nun fügen wir einen neuen code ein zwischen den
beiden echo $popup; .
Hier der code :
$fp = str_replace("[gg]","<img src=\"http://forum.rpg-ring.com/forum/images/smilies/s_004.gif\">",$fp);
so siht dann die ausgabe.php aus :
so nun wird der code [gg] zwar als smilli dargestellt jedoch
weiss das kein User.Also müssen wir was an der eintrag.html
ändern wie oben schon gesagt.
so nun ist das GB recht fertig.
eigentlihc sollte das tut hier zu ende sein aber
ich habe mir gedacht ein admin menu
währe sehr nutzlich darum kommt hier das Admin Menu.
Was wollen wir mit dem Admin Menu machen ?
1.Wir wollen den styl edierenkönnen
2.Wir wollen per mausklick Smillies hinzufügen können
3.Wir wollen beitrege edieren können.
Womit fangen wir an ? mit Punkt 2 fangen wir an
als erstes legen wir eine datei an smillies.txt
dann noch einen ordner für die smillies
wir nenen ihn mal "sm-img" (ohne ") .
also damit die einträge später in die datei smillies.txt
auch was bringt edieren wir zuerst die datei ausgabe.php
Sie sah bsiher so aus :
so aus
$fp = str_replace("[gg]","<img src=\"http://forum.rpg-ring.com/forum/images/smilies/s_004.gif\">",$fp);
soll ein fopen werden.Dann siht die datei so aus :
Sorry habe mich verschreiben.Das sagt mir auch keiner.
...
Nun, genau das sollte eben nicht passieren. Ich sage ja nichts, wenn sich hier und da Rechtschreibfehler im Text befinden (obwohl das auch manchen Eindruck hinterlassen kann), aber zumindest von Code erwartet man, dass der Autor ihn selbst testet bzw. wirklich weis, was er da schreibt (und ich denke, so leid es mir tut, bei dir ist das nicht der Fall).
Zitat
Wir bauen Heute ein GB mit allem Drum und dran. (leider Ohne admin Menu)
...
Sehr wiedersprüchlich, oder?Gibt "Resource id #2" aus.
Was, wenn man schnell einen HTML Code per Gästebuch weitergeben möchte? Sieh dir mal die Funktion htmlspecialchars() an.
Wenn du auf die schreiben.php per meta verweist, bringt dir die ganze leer-abfrage nichts, ich schreibe einfach schreiben.php?name=&email=&home=&text=&an=1.
Zitat
So im Grobben ist das GB nun fertig.
Es siht nicht toll aus aber es funtzt.