Difference between revisions of "PHP Einführung - Erste Programmierschritte"

From Coders.Bay Wiki
Jump to navigation Jump to search
 
(5 intermediate revisions by 2 users not shown)
Line 22: Line 22:


====Dein erstes PHP Programm====
====Dein erstes PHP Programm====
*PHP wird geöffnet mit '''<?php und geschlossen mit '''?>'''
*Erstelle eine '''.php''' Datei
*PHP wird geöffnet mit '''<?php und geschlossen mit ?>'''
*Dazwischen ist der Programmcode
*Dazwischen ist der Programmcode
*'''print''' oder '''echo''' erzeugt eine Ausgabe am Bildschirm
*'''print''' oder '''echo''' erzeugt eine Ausgabe am Bildschirm
Line 148: Line 149:


*Zeichenketten und Variablen können zusammen ausgegeben werden.
*Zeichenketten und Variablen können zusammen ausgegeben werden.
*In JS fügt man sie mit einem Plus zusammen (+)
*In JavaScript, Java,... fügt man sie mit einem Plus zusammen (+)
*In PHP fügt man sie mit einem Punkt zusammen (.)
*In PHP fügt man sie mit einem Punkt zusammen (.)
*Additionen, Multiplikationen, Divisionen, Modulo funktionieren im gleichen Schema wie in JS
*Additionen, Multiplikationen, Divisionen, Modulo funktionieren im gleichen Schema wie in anderen Programmiersprachen


<pre>
<pre>
Line 158: Line 159:


// Text mit einer Variablen erfassen
// Text mit einer Variablen erfassen
$textbaustein = "Meine erste Variable";
$textContent= "Meine erste Variable";
print $textbaustein;
print $textContent;




// Zahlen als Variable abspeichern
// Zahlen als Variable abspeichern
/* Variablen können neben Strings auch numerische oder boolsche Werte besitzen */
/* Variablen können neben Strings auch numerische oder boolsche Werte besitzen */
$ganzeZahl = 3;
$int= 3;
$kommaZahl = 5.39281;
$float= 5.39281;
$boolean = true;
$boolean = true;
print "Ganze Zahl: " . $ganzeZahl . "<br>Kommazahl: " . $kommaZahl . "<br>Boolean: " . $boolean;
print "Ganze Zahl: " . $int. "<br>Kommazahl: " . $float. "<br>Boolean: " . $boolean;




// Additionen, Multiplikationen, usw
// Additionen, Multiplikationen, usw
$bestand = 5;
$inStore= 5;
print "<p>Verfügbare Artikel: " . $bestand . "</p>\n";
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";
$bestand = $bestand - 1;
$inStore= $inStore - 1;
/* Kurzschreibweise: $bestand--; */
/* Kurzschreibweise: $inStore--; */
print "<p>Verfügbare Artikel: " . $bestand . "</p>\n";
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";


?>
?>
</pre>
</pre>


====Numerisches Array====
====Numerisches Array====
Line 185: Line 185:
<?php
<?php
/* Array deklarieren */
/* Array deklarieren */
$produkt = array();
$product = array();
$produkt[0] = 1;
$product[0] = 1;
$produkt[1] = "Roggensemmel";
$product[1] = "Roggensemmel";
$produkt[2] = 0.79;
$product[2] = 0.79;
$produkt[3] = "Bioweckerl vom feinsten";
$product[3] = "Bioweckerl vom feinsten";
$produkt[4] = 50;
$product[4] = 50;


foreach($produkt as $info) {
foreach($product as $productInfo) {
   print "<p>" . $info . "</p>\n";
   print "<p>" . $productInfo. "</p>\n";
}
}
?>
?>
Line 201: Line 201:
<?php  
<?php  
/* oder: kürzere Schreibweise */
/* oder: kürzere Schreibweise */
$produktAlternative = array(1, "Roggensemmel", 0.79, "Bioweckerl vom feinsten", 50);
$productAlternative = array(1, "Roggensemmel", 0.79, "Bioweckerl vom feinsten", 50);


foreach($produktAlternative as $info) {
foreach($productAlternative as $productInfo) {
   print "<p>" . $info . "</p>\n";
   print "<p>" . $productInfo. "</p>\n";
}
}




// Einzelnen Wert ausgeben
// Einzelnen Wert ausgeben
print "<p>" . $produkt[4] . "</p>\n";
print "<p>" . $product[4] . "</p>\n";
?>
?>
</pre>
</pre>
Line 219: Line 219:
<?php
<?php
/* Array deklarieren */
/* Array deklarieren */
$produkt = array();
$product = array();
$produkt['Artikelnummer'] = 1;
$product['itemnumber'] = 1;
$produkt['Produktname'] = "Roggensemmel";
$product['productname'] = "Roggensemmel";
$produkt['Preis'] = 0.79;
$product['price'] = 0.79;
$produkt['Beschreibung'] = "Bioweckerl vom feinsten";
$product['description'] = "Bioweckerl vom feinsten";
$produkt['Anzahl'] = 50;
$product['amount'] = 50;
foreach($produkt as $i => $info) {
foreach($product as $key => $info) {
   print "<p>" . $i . ": " . $info . "</p>\n";
   print "<p>" . $key . ": " . $info . "</p>\n";
}
}
?>
?>
Line 234: Line 234:
<?php
<?php
/* Alternative Schreibweise */
/* Alternative Schreibweise */
$produktAlternative = array(
$productAlternative = array(
   'Artikelnummer' => 1,
   'itemnumber' => 1,
   'Produktname' => "Roggensemmel",
   'productname' => "Roggensemmel",
   'Preis' => 0.79,
   'price' => 0.79,
   'Beschreibung' => "Bioweckerl vom feinsten",
   'description' => "Bioweckerl vom feinsten",
   'Anzahl' => 50
   'amount' => 50
);
);


foreach($produktAlternative as $i => $info) {
foreach($productAlternative as $key => $info) {
   print "<p>" . $i . ": " . $info . "</p>\n";
   print "<p>" . $key . ": " . $info . "</p>\n";
}
}




// Array Ausgabe einzelnen Wertes
// Array Ausgabe einzelnen Wertes
print "<p>" . $produktAlternative["Preis"] . "</p>\n";
print "<p>" . $productAlternative["price"] . "</p>\n";
?>
?>
</pre>
</pre>


====Mehrdimensionales Array====
====Mehrdimensionales Array====
Line 258: Line 257:
<?php
<?php
/* Array deklarieren */
/* Array deklarieren */
$sortiment = array();
$productRange= array();
$sortiment[0]['Artikelnummer'] = 1;
$productRange[0]['itemnumber'] = 1;
$sortiment[0]['Produktname'] = "Roggensemmel";
$productRange[0]['productname'] = "Roggensemmel";
$sortiment[0]['Preis'] = 0.79;
$productRange[0]['price'] = 0.79;
$sortiment[1]['Artikelnummer'] = 2;
$productRange[1]['itemnumber'] = 2;
$sortiment[1]['Produktname'] = "Kornspitz";
$productRange[1]['productname'] = "Kornspitz";
$sortiment[1]['Preis'] = 0.59;
$productRange[1]['price'] = 0.59;
$sortiment[2]['Artikelnummer'] = 3;
$productRange[2]['itemnumber'] = 3;
$sortiment[2]['Produktname'] = "Semmel";
$productRange[2]['productname'] = "Semmel";
$sortiment[2]['Preis'] = 0.99;
$productRange[2]['price'] = 0.99;


/* Debugging mit var_dump um zu sehen was in dem Array drin ist */
/* Debugging mit var_dump um zu sehen was in dem Array drin ist */
var_dump($sortiment);
var_dump($productRange);
print "<hr>";
print "<hr>";


/* Ausgabe einzelner Position */
/* Ausgabe einzelner Position */
print "<p>" . $sortiment[2]['Produktname'] . "</p>\n";
print "<p>" . $productRange[2]['productname'] . "</p>\n";
print "<hr>";
print "<hr>";


/* Ausgabe des gesamten Arrays */
/* Ausgabe des gesamten Arrays */
foreach($sortiment as $array) {
foreach($productRange as $array) {
   foreach($array as $i => $entry) {
   foreach($array as $key => $entry) {
     print "<p>" . $i . ": " . $entry . "</p>\n";
     print "<p>" . $key . ": " . $entry . "</p>\n";
   }
   }
}
}
?>
?>
</pre>
</pre>

Latest revision as of 09:54, 10 January 2023

Vorbereitungsmaßnahmen für das lokale Programmieren mit PHP[edit]

Um ein PHP Programm ausführen zu können, benötigt man einen lokalen Webserver. Hierfür installiert man meistens XAMPP (für Mac User: MAMP) auf dem PC.


Coding Standards für das Arbeiten mit PHP:

Links zum Download:


XAMPP oder MAMP installieren

  • Den Apache Webserver starten
  • Speichert eure PHP Dateien in einen Projektordner im htdocs Verzeichnis
  • Damit ihr eure PHP Dateien ansehen könnt, navigiert im Webbrowser zu localhost/HIER_DER_NAME_DEINES_ORDNERS

Screenshot-xampp.png


Dein erstes PHP Programm[edit]

  • Erstelle eine .php Datei
  • PHP wird geöffnet mit <?php und geschlossen mit ?>
  • Dazwischen ist der Programmcode
  • print oder echo erzeugt eine Ausgabe am Bildschirm
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="UTF-8">
    <title>Mein erstes PHP Programm</title>
  </head>
  <body>
    <p>
      <?php
      // Zeichenkette
      print "Hallo Welt";
      echo "Hallo Welt";
      ?>
    </p>
    <p>
      <?php
      // Zahl
      print 255;
      ?>
    </p>
    <p>
      <?php
      // Zahl als String
      print "500";
      ?>
    </p>
    <p>
      <?php
      // Rechnen
      print 50*37;
      ?>
    </p>
  </body>
</html>

PHP und HTML miteinander verbinden[edit]

  • Schaut euch an wie der Seitenquelltext im Browser dazu aussieht.
Beispiel 1[edit]
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Übung</title>
  </head>
  <body>
    <?php
    print "<h1>Willkommen</h1>";
    ?>
  </body>
</html>
Beispiel 2[edit]
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Übung</title>
  </head>
  <body>
    <?php
    print "<h1>Willkommen</h1>";
    print "<p>1. Absatz</p>";
    print "<p>2. Absatz</p>";
    ?>
  </body>
</html>
Beispiel 3[edit]
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Übung</title>
  </head>
  <body>
    <?php
    // \n hat keine Auswirkung auf die Darstellung im Browser. Bewirkt aber einen Zeilenumbruch im Quellcode
    print "<h1>Willkommen</h1>\n";
    print "<p>1. Absatz</p>\n";
    print "<p>2. Absatz</p>\n";
    ?>
  </body>
</html>
Beispiel 4[edit]
<!DOCTYPE html>
<html>
  <head>
  <?php
    print "<meta charset=\"UTF-8\">\n";
    print '<meta name="description" content="Beschreibung der Seite">';
    print "\n";
    print "<meta name='author' content='Beschreibung der Seite'>\n";
    ?>
    <title>Übung</title>
  </head>
  <body>
  <h1>Willkommen</h1>
  <?php
    print "<p>1. Absatz</p>\n";
    print "<p>2. Absatz</p>\n";
    ?>
  </body>
</html>


Variablen[edit]

  • Zeichenketten und Variablen können zusammen ausgegeben werden.
  • In JavaScript, Java,... fügt man sie mit einem Plus zusammen (+)
  • In PHP fügt man sie mit einem Punkt zusammen (.)
  • Additionen, Multiplikationen, Divisionen, Modulo funktionieren im gleichen Schema wie in anderen Programmiersprachen
<?php
/* Variablen werden mit einem Dollarzeichen gekennzeichnet, und folgen der camelCase Schreibweise
Variablennamen dürfen keine Sonderzeichen enthalten */

// Text mit einer Variablen erfassen
$textContent= "Meine erste Variable";
print $textContent;


// Zahlen als Variable abspeichern
/* Variablen können neben Strings auch numerische oder boolsche Werte besitzen */
$int= 3;
$float= 5.39281;
$boolean = true;
print "Ganze Zahl: " . $int. "<br>Kommazahl: " . $float. "<br>Boolean: " . $boolean;


// Additionen, Multiplikationen, usw
$inStore= 5;
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";
$inStore= $inStore - 1;
/* Kurzschreibweise: $inStore--; */
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";

?>

Numerisches Array[edit]

<?php
/* Array deklarieren */
$product = array();
$product[0] = 1;
$product[1] = "Roggensemmel";
$product[2] = 0.79;
$product[3] = "Bioweckerl vom feinsten";
$product[4] = 50;

foreach($product as $productInfo) {
  print "<p>" . $productInfo. "</p>\n";
}
?>

<hr>

<?php 
/* oder: kürzere Schreibweise */
$productAlternative = array(1, "Roggensemmel", 0.79, "Bioweckerl vom feinsten", 50);

foreach($productAlternative as $productInfo) {
  print "<p>" . $productInfo. "</p>\n";
}


// Einzelnen Wert ausgeben
print "<p>" . $product[4] . "</p>\n";
?>


Assoziatives Array[edit]

<?php
/* Array deklarieren */
$product = array();
$product['itemnumber'] = 1;
$product['productname'] = "Roggensemmel";
$product['price'] = 0.79;
$product['description'] = "Bioweckerl vom feinsten";
$product['amount'] = 50;
foreach($product as $key => $info) {
  print "<p>" . $key . ": " . $info . "</p>\n";
}
?>

<hr>

<?php
/* Alternative Schreibweise */
$productAlternative = array(
  'itemnumber' => 1,
  'productname' => "Roggensemmel",
  'price' => 0.79,
  'description' => "Bioweckerl vom feinsten",
  'amount' => 50
);

foreach($productAlternative as $key => $info) {
  print "<p>" . $key . ": " . $info . "</p>\n";
}


// Array Ausgabe einzelnen Wertes
print "<p>" . $productAlternative["price"] . "</p>\n";
?>

Mehrdimensionales Array[edit]

<?php
/* Array deklarieren */
$productRange= array();
$productRange[0]['itemnumber'] = 1;
$productRange[0]['productname'] = "Roggensemmel";
$productRange[0]['price'] = 0.79;
$productRange[1]['itemnumber'] = 2;
$productRange[1]['productname'] = "Kornspitz";
$productRange[1]['price'] = 0.59;
$productRange[2]['itemnumber'] = 3;
$productRange[2]['productname'] = "Semmel";
$productRange[2]['price'] = 0.99;

/* Debugging mit var_dump um zu sehen was in dem Array drin ist */
var_dump($productRange);
print "<hr>";

/* Ausgabe einzelner Position */
print "<p>" . $productRange[2]['productname'] . "</p>\n";
print "<hr>";

/* Ausgabe des gesamten Arrays */
foreach($productRange as $array) {
  foreach($array as $key => $entry) {
    print "<p>" . $key . ": " . $entry . "</p>\n";
  }
}
?>