Grundlagen für PHP-Anfänger
was ist php? / wie fange ich an / was brauche ich
mit PHP kannst du Webseiten machen, die z.B. selbstständig Daten am Server speichern, wie ein Gästebuch, Foren, etc.
Der Code wird direkt vom Server ausgeführt, d.h. im Quelltext des Browsers kann man nicht sehen,
was eigentlich hinter der Seite steckt!
bevor du einen PHP Code in einer html-Datei ausführen kannst,
mußt du die Rechte zum Ausführen mit deinem FTP-Programm ändern
mit dem FTP-Programm auf die html Datei gehen und chmod auswählen!
standardmässig stehen die Dateien auf 644, für PHP brauchst du mindestens 755,
am Besten gleich 777!
nicht jeder Provider unterstützt PHP! wenn du z.B einen gratis Webspace hast, kannst du davon ausgehen, daß PHP nicht funktionieren wird!
den PHP Code kannst du in jede beliebige html- Datei schreiben (innerhalb von "<?php" und "?>", damit der Browser den Code ausführt)
Text ausgeben (in html einen PHP-Text ausgeben)
versuch mal folgendes:
mach ein leeres Dokument (Textdatei mit .php -Endung)und füge folgenden Inhalt ein:
-------------------------------------------------------
<?php
echo "hallo";
?>
-------------------------------------------------------
lade die Datei mit einem FTP-Programm auf deinen Provider,
wenn du die html-Datei im Internet ausführst schreibt sie folgendes:
hallo
dies ist gleichzeitig auch die Kontrolle ob PHP auf deinem Server funktioniert!
wenn dies funktionert, kannst du weiter machen!
wenn du eine leere Anzeige bekommst und im Quelltext, nur <?php echo "hallo"; ?> steht, kann
dein Provider kein PHP!
Include Befehl (den Inhalt einer Datei in die Datei einfügen)
Beispiel du hast eine html-Datei und willst für jede Datei das selbe Menü verwenden:
dann schreibst du in jede Datei, an der Stelle an der das Menü kommen sollte:
<?php @include("menu.txt"); ?>
deine Datei könnte dann so aussehen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>meine Seite</title>
</head>
<body>
<?php @include("menu.txt"); ?>
</body>
</html>
das Menü speicherst du dann in menu.txt ab!
z.B.:
<a href="seite1.htm" target="_blank" title="Seite1">1ter Link</a>
<a href="seite2.htm" target="_blank" title="Seite2">2ter Link</a>
wenn die Seite dann geladen wird, sieht sie so aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>meine Seite</title>
</head>
<body>
<a href="seite1.htm" target="_blank" title="Seite1">1ter Link</a>
<a href="seite2.htm" target="_blank" title="Seite2">2ter Link</a>
</body>
</html>
Tipp: wenn du in der Datei die du einfügst auch einen PHP-Code auführen willst,
muß die Datei eine .php Endung haben und der Code wiederum zwischen "<?" und "?>"
stehen! Der Code geht dann natlos in die Datei mit dem "Include-Befehl" über!
For Schleife (einen bestimmten Code mehrfach ausführen)
<?php
for ($c = 0; $c < 3; $c++)
{
echo $c, "hallo";
}
?>
Ergebnis:
0hallo1hallo2hallo
$c = 0 ... der Anfangswert der Variable c
$c < 3 ... die Schleife so lange durchlaufen, so lange $c kleiner 3 ist!
(wenn die Variable 3 ist, ist sie nicht mehr kleiner, daher hört die Schleife bei 2 auf)
$c++ ... bei jedem Schleifendurchgang die Variable c um 1 erhöhen
echo $c, "hallo"; bedeutet den Wert $c anzeigen (beim jeweiligen Durchgang) und "hallo" dazu schreiben
Variable setzen (einer Variable einen Wert zuweisen)
<?php
$var = 1;
echo $var;
?>
Wenn du die Datei ausführst schreibt sie 1!
das Ganze geht auch mit Text:
<?php
$var = "hallo";
echo $var;
?>
im HTML-Code erscheint jetzt natürlich hallo!
Datei schreiben
um bestimmte Variablen in eine Datei zu schreiben:
$PfadzurDatei = "datei.txt";
$wassollichschreiben = "hallo";
$datei = fopen($PfadzurDatei, "w+");
fwrite($datei, $wassollichschreiben);
fclose($datei);
mit diesen Zeilen erzeugst und schreibst du in die Datei datei.txt "hallo" rein!
mit "w+"
wird der Inhalt der Datei datei.txt komplett überschrieben!
willst du einen Text zur Datei anhängen, mußt du "a+" verwenden!
w+ und a+ erzeugen die Datei, wenn sie nicht existiert!
Datei lesen
um den Inhalt einer Datei zu lesen:
$PfadzurDatei = "datei.txt";
$datei = fopen($PfadzurDatei,"r+") ;
rewind();
$auszulesenderInhalt = fread($datei,filesize($PfadzurDatei));
fclose();
dieser Code ließt den Inhalt von datei.txt und schreibt ihn in die Variable
Email-funktion in PHP
die Funktion mail ist so aufgebaut:
mail(Empfängeremail, Betreff, Nachricht, "From: Absender <Absenderemail>");
ein Beispiel:
<?php
$text = "hallo";
$name = "Hans";
$emailtext = "$name schreibt dir:
$text";
$Betreff = "PHP Emailtest";
$emailAbsender = "kontakt@libe.net";
$emailan = "kontakt@libe.net";
mail($emailan, $Betreff, $emailtext, "From: $name <$emailAbsender>");
?>
durch einen kleien Zusatz ist es auch möglich html-Mails zu verschicken, der Aufbau sieht dann so aus:
<?php
$extra = "From: $sender <$sendermail>
";
$extra .= "Content-Type: text/html
Content-Transfer-Encoding: 8bit
";
mail($empfaenger, $betreff, $text, $extra);
?>
der Text muß dann komplett in html formatiert werden!
Formular (die Daten eines Formulares an PHP übergeben)
HTML Code für ein Formular:
<form name="data" action="so.php" method="post">
<TEXTAREA NAME="FILEDATA" ROWS=25 COLS=120 WRAP="OFF">TEXT vorher</TEXTAREA>
<INPUT TYPE="HIDDEN" NAME="DIR" VALUE="<? echo $Variable1; ?>">
<INPUT TYPE="TEXT" SIZE=70 MAXLENGTH=255 NAME="kleinerTEXT" VALUE="Vorgabe kleiner TEXT">
<INPUT TYPE="RESET" VALUE="RESET">
<INPUT TYPE="SUBMIT" VALUE="submit">
dies Erzeugt ein Formular, welches die Datei so.php startet und dessen Variablen, dann in so.php verfügbar sind
Erklärung:
<TEXTAREA NAME="FILEDATA" ROWS=25 COLS=120 WRAP="OFF">TEXT vorher</TEXTAREA>
ist ein Textfeld mit 25 Zeilen und jeweils 120 Buchstaben pro Zeile
in so.php steht der eingegeben Inhalt als Variable FILEDATA zur Verfügung
<INPUT TYPE="HIDDEN" NAME="VAR" VALUE="<? echo $Variable1; ?>">
schickt die $Variable1 weiter (als $VAR) nach so.php ohne sie im Formular anzuzeigen
<INPUT TYPE="TEXT" SIZE=70 MAXLENGTH=255 NAME="kleinerTEXT" VALUE="Vorgabe kleiner TEXT">
ist das Selbe wie ein Textfeld nur 1zeilig! ist in so.php als Varialbe TEXT zur Verfügung
<INPUT TYPE="RESET" VALUE="RESET">
um die Eingabe rückgängig zu machen
<INPUT TYPE="SUBMIT" VALUE="submit">
um die Daten abzuschicken
in so.php könnte z.B. folgendes stehen:
<?php
echo $FILEDATA;
echo $VAR;
echo $TEXT;
?>
so.php würde dann den Inhalt des Formulares einfach mal anzeigen
If empty (überprüfe ob eine Variable schon gesetzt ist)
Um zu überprüfen ob eine Variable schon gesetzt ist kannst du folgenden Code verwenden:
if (!empty($q))
{
echo hallo;
}
wenn die Variable q nicht gesetzt ist schreibe hallo
if (empty($q))
{
echo hallo;
}
wenn die Variable q gesetzt ist schreibe hallo
Rechte einer Datei ändern
um einer Datei alle Lese, Schreib, Ausführrechte zu geben kannst du folgendes verwenden:
$datei = "datei.htm";
chmod ($datei, 0777);
somit werden in datei.htm die PHP Passagen <? ... ?> ausgeführt
die Datei kann auch von PHP verändert und gelesen werden |
|
Kommentare zu diesem Beitrag:
(Nr:16) a.m schrieb am 17.12.2008 19:07
ich kapiers immer noch net wie ich die php dateien hochlade...
(Nr:15) Sagichnicht schrieb am 07.12.2008 09:09
Geht es nicht weiter?
(Nr:14) QinwdTnaixB schrieb am 27.09.2008 17:15
good material thanks
(Nr:13) Toasterfraktion schrieb am 19.05.2008 15:10
Schonmal ein guter Einstieg, jedoch würde ich nicht gleich mit Schleifen und dergleichen anfangen.
Wer möcte kann mal unter www.forum.toasterfraktion.de vorbeischauen. Dies ist ein AnfängerForum wo ihr eure Fragen posten könnt.
(Nr:12) Suneth schrieb am 28.12.2007 16:56
Ich bin coO°Ool
(Nr:11) Eka Kolour schrieb am 22.10.2007 00:59
now we are fussing and now we are fightin. Eka Kolour.
(Nr:10) Martino Heino schrieb am 20.09.2007 01:08
our way to beautiful gir. Martino Heino.
(Nr:9) Bill Clementina schrieb am 23.07.2007 03:27
You don't know how lucky you are bo. Bill Clementina.
(Nr:8) Luukas Bride schrieb am 14.07.2007 14:58
But now you dont get even the simplest of thing. Luukas Bride.
(Nr:7) Hamlet Tori schrieb am 05.07.2007 05:52
Well you know thats something els. Hamlet Tori.
(Nr:6) Bilbo Zelig schrieb am 21.06.2007 15:02
Ne nasovsem a navsegd. Bilbo Zelig.
(Nr:5) Alwin schrieb am 10.06.2007 18:16
Hallo,naja das mit der 777 Daten freigeben usw ist doch nicht so ganz einfach voreinander zukriegen,das andere ist sehr gut verständlich,an alle neuen hier weiter so und nicht unter kriegen lassen.
(Nr:4) Zandy Iiona schrieb am 28.02.2007 00:20
Asta la vista, wht does it mean?
(Nr:3) Cati schrieb am 29.01.2007 18:12
SUPER!html hab ja fix begriffen...php :-(((
JETZT! hab ich zumindest den Anfang und das System begriffen :-* DANKE!
(Nr:2) Noob schrieb am 31.08.2006 08:07
Hallo, alles sehr schön erklärt, aber ohne html-Vorkenntnisse versteht man auch nur Bahnhof...
(Nr:1) Zeratul schrieb am 25.10.2005 10:25
Ist ja sehr schön aufgebaut aber mal ne Frage wenn ich einen zeilen umbruch mit in meine Outlook übernehmen will wie Funktioniert das? MFG
Webmaster: habs bisher immer so gelöst:
$emailtext = "$name schreibt dir:
$text";
Dadurch das $text in der neuen Zeile steht, wird der Zeilenumbruch mit übernommen!
Kommentare die nicht unmittelbar mit diesem Thema zu tun haben,
sowie Supportanfragen oder Hilfe bitte ins Forum posten: Support Forum
Kommentar abgeben: (kein lästiges anmelden, einfach posten!)