PHP - Grundlagen

Aus WikiSchool

Achtung: Klassenprojekt
Dieser Artikel wird zur Zeit von einer Schulklasse bearbeitet. Wir bitten darum, Korrekturen, Ergänzungen, Anfragen, Anregungen, Kritik und Kommentare nicht in den Artikel selbst, sondern nur auf der Diskussionsseite zu vermerken oder direkt an den jeweiligen Autor/die jeweilige Autorin zu richten (siehe die Artikel-Versionsgeschichte). Nach Abschluss des Projekts wird dieser Vermerk wieder entfernt. Weitere Informationen siehe Klassenprojekt.

[Bearbeiten] Info zum Projekt

Diese Kurzeinführung in PHP ist ein Teil des Klassenprojekts Einstieg ins Programmieren - digitale Mitschrift und wurde vorwiegend von SchülerInnen erstellt.

Inhaltsverzeichnis


PHP = Hypertext Preprocessing:


Was brauche ich:

• Editor: HTML- Kit • php Interpreter auf schueler.rg18.ac.at daher php Programm

Speicherort: /public_html/…../willkommen.php

Aufruf: schueler.rg18.ac.at/~…./willkommen.php


[Bearbeiten] Erste PHP Seite:

Willkommen.php Seite:

 <html>
 <head>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" />
 <title> 1. PHP Seite </title>
 </head>
 <body>
 <php?
echo „Hallo Alex“;
echo „Hallo alle!“;
 ?> </body> </html>


Zusatz:


-->neue Zeile in HTML

\n -->Zeilenumbruch im Quelltext

// -->einzeiliges Kommentar

/*...*/ -->mehrzeiliges Kommentar


[Bearbeiten] Wenn-Dann-Verzweigung

Wenn-Dann-Verzweigung gehört ebenfalls zu den Grundlagen von php. Man muss eine Bedingung aufstellen und anschließend eine Anweisung.

wenn Bedingung dann

Anweisung <p> *wenn <p> Oder man hat zwei Anweisungen, die dann in dann und sonst eingeteilt werden. <p> Wenn Bedingung dann <p> Anweisung <p> sonst <p> Anweisung <p> *wenn

[Bearbeiten] Datum und Zeit

Folgende Funktionen werden dabei verwendet: date() und time(). Bei der Angabe von Datum und Zeit wird der Serverzeit/datum angegeben!

[Bearbeiten] Funktion date()

 <?php
 date("y");
 echo "Wir haben das Jahr" .date("y") . "!"; //Zeit, Datum des Servers
 ?>

Hier einige Formate:

d.m.Y H:i:s....17.12.2008 23:17:51

d.m.y h:i:s......17.12.08 11:17:51

j.M.y H:i:s.....17.Dec.08 23:17:51

[Bearbeiten] Funktion time()

Die Funktion time() gibt die UNIX Zeit an der am 1.1.1970 begann. Gemessen wird die Zeit in Sekunden; daher kann man sich die Zeit (in Sekunden) leicht rechnen.

[Bearbeiten] Variablen

wird von hatora bearbeitet

[Bearbeiten] Typen

...

[Bearbeiten] Arrays

Was ist ein Array?

Ein Array ist eine strukturierte Variabel die mehrere Werte aufnehmen kann.

Und hier ein Beispiel dazu. Den Link findet ihr hier. http://schueler.rg18.ac.at/~alruzi/array_bundesland.php

 <?php 
 $bundesland=array ('Wien','Niederösterreich','Oberösterreich','Burgenland','Vorarlberg','Tirol','Kärnten','Salzburg');
 echo "$bundesland[1]<br/>"; //Niederösterreich
 $bundesland[8]='Steiermark';
 for ($i=0; $i<=8; $i++) {
 echo "$i...$bundesland[$i] <br/>";
 }
 ?>

Mit Hilfe von Arrays kann man auch Tabellen machen. Hier ist ein einfaches Beispiel für eine Tabelle gefühlt mit Zufallszahlen und Zeilensumme in jeder Zeile.

 for ($j=0; $j<9; $j++){
 $z[$j]=mt_rand(0,9);
 }
 
 echo "<table border='1'>";
 $wert=0;
 	for ($zeile=0; $zeile<3; $zeile++){
 	 		echo "<tr>";	 
 			for ($spalte=0; $spalte<3; $spalte++){
 					echo "<td>$z[$wert]</td>";	
 					$zsumme[$zeile]=$zsumme[$zeile]+$z[$wert];
 					$wert++;
 			}
  			echo "<td>$zsumme[$zeile]</td>";
 			echo"</tr>";
  	}
 	echo "<tr>";
 	
 echo "</table>";
 

[Bearbeiten] Konstanten

...

[Bearbeiten] Kontrollstrukturen

[Bearbeiten] Die if-Verzweigung

Bei einer if-Verzweigung hat die boolesche Variable d.h. , dass man als Antwort Ja / Nein , True / False bekommt. Bei einer Schleife gibt man bestimmte Bedingungen und Anweisungen an, die wiederholt werden sollen!

[Bearbeiten] Beispiel

                              $stunde = date ("H")
 if (Bedingung){		if ($stunde ==8) {           //Antwort: Ja oder Nein!
  Anweisung;			   echo "guten Morgen!";
  Anweisung;			   echo "Hast du schon …";
  …				   …
 }				} //Ende Anweisungsblock	
 else {			else {		
  Anweisung;			   echo "Schönen Tag";
  Anweisung;			   …
  …				   …
 }			           }

Um mehr Fälle als zwei zu unterscheiden: if – elseif - else

 if (Bedingung){
   Anweisung;
   …
 }
 elseif(Bedingung){
   Anweisung;
   …
 }
 …
 else{
   Anweisung;
   …
 }

[Bearbeiten] Die switch-Abfrage

Bei einer switch-Abfrage handelt es sich um eine spezielle Art der Kontrollstruktur. Der wesentliche Unterschied zwischen einer if-Verzweigung und einer switch-Abfrage ist, dass es möglich ist bei einer switch-Abfrage mehrere Fälle bzw. Möglichkeiten zu unterscheiden. Bei einer if-Verzweigung jedoch nur zwischen zwei Fällen. Um deshalb nicht andauertn if - elseif - else etc. schreiben zu müssen, werden switch-Abfragen verwendet.

[Bearbeiten] Beispiel

switch (Eingabe) {
 case "1":
   alert("Sie haben sich für die Zahl 1 entschieden");   //Ausgabe bei der Eingabe von Zahl 1
   break;
 case "2":
   alert("Sie haben sich für die Zahl 2 entschieden");   //Ausgabe bei der Eingabe von Zahl 2
   break;
 case "3":
   alert("Sie haben sich für die Zahl 3 entschieden");   //Ausgabe bei der Eingabe von Zahl 3
   break;
 case "4":
   alert("Sie haben sich für die Zahl 4 entschieden");   //Ausgabe bei der Eingabe von Zahl 4 
   break;
 default:
   alert("Bitte eine Zahl zwischen 1 und 4 eingeben");   //Ausgabe bei der Eingabe einer Zahl die sich nicht in diesem Bereich befindet
   break;
}

[Bearbeiten] Schleifen

[Bearbeiten] Kopfgesteuerte Schleifen

[Bearbeiten] WHILE-Schleife

 while(Bedingung){
  Anweisung;
  …
  Zählmuster;
 }

[Bearbeiten] FOR-Schleife

 for(Zahl von Definition;Bedingung;Zählmuster;){
  Anweisung;
  …
 }

[Bearbeiten] Fußgesteuert

[Bearbeiten] DO-WHILE-Schleife

  do{
    Anweisung;
    …
    Zählmuster;
  while(Bedingung);
  }

[Bearbeiten] Operatoren

Es gibt verschiedene Operatoren:

  • Rechenoperatoren:
  • Vergleichsoperatoren:

$zeit ==8 gleich
$a < $b kleiner als
$a > $b größer als
$a <= $b kleinergleich als
$a >= $b größergleich als
$a === $b identisch
$a != $b ungleich

  • Logische Operatoren:
  • Zuweisungsoperatoren:

$stunde =8

  • Zeichenkettenoperatoren:

. date("H").

[Bearbeiten] Funktionen

[Bearbeiten] interne Funktionen

[Bearbeiten] externe Funktionen

[Bearbeiten] Formulare

Eingabefeld

Formulare sind ein wichtiges Element im Internet. Häufig stoßen wir beim Erstellen eines Accounts auf Formulare. Mithilfe von Eingabefelder, Radiobuttons, Checkboxen etc. wird das Formular erstellt und ausgefüllt.
Code für die verschiedenen Arten von Feldern, Buttons etc. bei einem Formular:
...<inpute type=

   -"text" ...ist das normale Eingabefeld
   -"checkbox" ...ist eine Checkbox
   -"radiobutton" ...ist ein Radiobutton auch Auswahlkästchen genannt
   -"button" ...ist ein normaler Knopf bei dem nichts passiert
   -"submit" ...ist ein sogenannter Reloadknopf, welcher die Seite auf der er sich befindet neu lädt
   -"select" ...ist ein Auswahlfeld

Hier nun der Quelltext eines Programm's das wir im Unterricht als Hausübung bekommen haben.


Quelltext:

<?php
$zahl1=$_GET['eingabefeld1']; //Definition der Zahl1
$zahl2=$_GET['eingabefeld2']; //Definition der Zahl2
$radiob=$_GET['radiob']; //Definition des Radiobuttons

if (!isset ($_GET['senden'])){ //wenn der Button ("Ergebnis") NICHT gedrückt ist
	$ps=$_SERVER['PHP_SELF'];
	echo"<form action='$ps' method='get'>"; //Anfangstag bei Formularen
		echo"<table>";
			echo"<tr>";
				echo"<td>1 Zahl: <input type='text' name='eingabefeld1' size='20' maxlength='4'>"; //Erstes Eingafeld
			echo"</tr>";
			echo"<tr>";
				echo"<td>2 Zahl: <input type='text' name='eingabefeld2' size='20' maxlength='4'>"; //Zweites Eingabfeld
			echo"</tr>";
			echo"<tr>";
				echo"<p><input type='radio' name='radiob' value='1' />Adition"; //Radiobutton mit dem value=1 (Adition)
				echo"<input type='radio' name='radiob' value='2' />Subtraktion<br />"; //Radiobutton mit dem value=2 (Subtraktion)
				echo"<input type='radio' name='radiob' value='4' />Multiplikation";  //Radiobutton mit dem value=3 (Multiplikation)
				echo"<input type='radio' name='radiob' value='3' />Division</p>";  //Radiobutton mit dem value=4 (Division)
			echo"</tr>";
		echo"</table>";
	  echo"<input type='submit' name='senden' value='Ergebnis' />"; //Button mit dem Befehl das ausgewählte zu senden
	echo"</form>";
}
	
else {
	$zahl1=$_GET['eingabefeld1'];  //Definition des ersten Eingabefeldes
	$zahl2=$_GET['eingabefeld2']; //Definition des zweiten Eingabefeldes
	$summe_plus= $zahl1 + $zahl2; //Definition der Adition
	$summe_minus= $zahl1 - $zahl2; //Definition der Subtraktion
	$summe_multi= $zahl1 * $zahl2; //Definition der Multiplikation
	$summe_divi= $zahl1 / $zahl2; //Definition der Division
	
		if($_GET['radiob']=='1'){  //Frage an das Programm (ist der Radiobutton 1 gedrückt?)
			echo"<p>$zahl1 + $zahl2 ergibt $summe_plus</p>"; //wenn ja, dann rechne eine Adition
		
		}

		elseif($_GET['radiob']=='2'){ //Frage an das Programm (ist der Radiobutton 2 gedrückt?)
			echo"<p>$zahl1 - $zahl2 ergibt $summe_minus</p>"; //wenn ja, dann rechne eine Subtraktion
	
		}
	
		elseif($_GET['radiob']=='3'){ //Frage an das Programm (ist der Radiobutton 3 gedrückt?)
			echo"<p>$zahl1 * $zahl2 ergibt $summe_multi</p>"; //wenn ja, dann rechne eine Multiplikation
	
		}
	
		elseif($_GET['radiob']=='4'){ //Frage an das Programm (ist der Radiobutton 4 gedrückt?)
			echo"<p>$zahl1 / $zahl2 ergibt $summe_divi</p>"; //wenn ja, dann rechne eine Division
		
		}
	
}

Hier der Link zu diesem Programm: http://schueler.rg18.ac.at/~paoch/wiki_bsp.php
Dabei steht nochmals eine Erklärung zum Programmieren eines Beispieles, wie diese und auch ein Struktogramm.

[Bearbeiten] Dateizugriff

Eingeloggt werbefrei.



Links

Originelle Geschenke und Geschenkideen online finden.
Ansichten
  • Seite
  • Diskussion
  • Bearbeiten
  • Versionen/Autoren
Persönliche Werkzeuge
  • Anmelden
Navigation
WikiSchool
Benutzer
  • Spielwiese
  • Hilfe
  • Benötigte Artikel
  • MultiDateiUpload
Googlesuche

Web WikiSchool
Werkzeuge
  • Links auf diese Seite
  • Änderungen an verlinkten Seiten
  • Hochladen
  • Spezialseiten
  • Druckversion
  • PDF