Archiv für den Monat: Oktober 2015

HTML Eingabeobjekte für das Senden der Daten an den Server/PHP

Das Textfeld:

Ein Textfeld kann wie folgt in HTML definiert werden:

<input name=“nameDesFeldes“ size=“40″ maxlength=“20″ value=“Standardwert“ readonly=“readonly“ />

Der Browser stellt das Inputobjekt als einzeiliges Textfeld dar. Alle Eigenschaften sind optional.

name dient als eindeutige Bezeichnung für das Textfeld, z.B. um dann am Server mittels PHP auf das jeweilige Textfeld zugreifen zu können.

size gibt die Länge des Textfeldes an

maxlength gibt die max Anzahl an Zeichen an, die eingegeben werden können

mit value kann ein Standardwert eingegeben werden, der schon am Beginn im Textfeld steht, der Benutzer kann dann wählen ob er den Text überschreiben oder es einfach beim Standardwert  belassen möchte

wird readonly auf „readonly“ gesetzt kann der Benutzer das Textfeld nicht verändern

mehrzeilige Textfelder

Mehrzeilige Textfelder können wie folgt definiert werden:

<textarea name=“text2″ cols=“5″ row=“5″ readlonly=“readonly“> Standardtext im Textfeld </textarea>

Die Eigenschaften name und readonly können wie beim einzeiligen Textfeld verwendet werden. col und row geben Breite und Höhe des Textfeldes an. Soll ein Standardwert schon zu Beginn im Textfeld angezeigt werden, wird dieser nicht über die val Eigenschaft gesetzt, sondern als Text in das Tag geschrieben.

Textfelder deren Eigenschaften/Verhalten nicht mit Javascript und CSS definiert werden, sehen in verschiedenen Browsern leider unterschiedlich aus. In manchen Browsern haben sei einen Scrollbalken und/oder kann der Benutzter die Größe mit der Maus verändern, in anderen Browsern haben sie das nicht.

besondere Textfelder

Es gibt zwei Eigenschaften mit denen besondere Textfelder erzeugt werden können, type=“Password“ und type=“hidden“.

Mit:

<input type=“password“ name=“pwort“ />

wird ein Textfeld speziell die Passworteingabe erzeugt. Gibt der Benutzer hier etwas ein, erscheint im Textfeld nicht die Benutzer Eingabe sondern ****, sodass niemand die Passworteingabe am Bildschirm beobachten kann. Übertragen wird natürlich das Passwort und nicht die ****.

Für dieses Verhalten ist der jeweilige Browser verantwortlich. Am PC ist dieses Verhalten von allen Browsern gleich umgesetzt. Wird die Webseite jedoch mit einem Handy geladen, sieht es anders aus, manchen Handybrowser zeigen das Passwort am Bildschirm (wohl um den User Tippfehler anzuzeigen). Auf mobilen Endgeräten ist das Verhalten somit vom Browser abhängig.

Mit:

<input type=“hidden“ name=“versteckt“ val=“Botschaft“ />

wird ein unsichtbares Textfeld erzeugt, dass vom Benutzer auch nicht veränderbar ist.

Wird zum Beispiel ein Programm am Server von zwei unterschiedlichen Webseiten aufgerufen, könnte man auf jeder Seite eine unsichtbare „Botschaft“ mit so einem „hidden“ Textfeld mit an der Server schicken. Das PHP Programm weiß dann ob es von der Seite A oder der Seite B aus aufgerufen wurde.

Radiobutton Gruppen

<h1> Auswahl </h1>

<p>

<input type=“radio“ name=“optionen“ val=“opt1″ checked=“checked“ /> Option 1 <br />

<input type=“radio“ name=“optionen“ val=“opt2″  /> Option 2 <br />

<input type=“radio“ name=“optionen“ val=“opt3″ /> Option 3 <br />

</p>

Obige Definition erzeugt drei Radiobuttons mit der Überschrift „Auswahl“ und den Beschriftungen „Option 1“, „Option 2“ und „Option 3“. Die Eigenschaft name muss bei allen Radiobuttons einer Gruppe gleich sein. Beim Senden des Formulars an den Server wird in der Eigenschaft name der val Wert jenes Radiobutton übermittelt der ausgewählt ist.

Mit der Eigenschaft checked kann definiert werden, welcher Button vorausgewählt wird.

Listenfeld

Statt über Radiobuttons kann eine Auswahl auch über eine Liste erfolgten. Folgendes Beispiel erzeugt die gleiche Auswahl wir vorher über die Radiobuttons mit einem Listenfeld:

<h1> Auswahl </h1>
<p>

<select name=“optionen“>

<option value=“opt1″ selected > Option 1 </option>
<option value=“opt2″ > Option 2 </option>
<option value=“opt3″ > Option 3 </Option>

</select>

</p>

Es wurde eine Listenauswahl mit Optionen erzeugt. Wird das Formular an der Server gesendet, wird die Eigenschaft name auf den jeweils selektierten „value“-Wert gesetzt.

Mit selected kann definiert werden, welcher Wert vorausgewählt sein soll.

Kontrollkästechen

Inhalt folgt.

mehrfaches Auswahlmenü

Inhalt folgt.

PHP number_format()

Die Funktion number_format ist vor allem dann recht praktisch, wenn zahlen im europäischen Format (mit . als Tausendertrennzeichen und , als Dezimalzeichen) ausgegeben werden sollen.

$a = 1223.667;

echo „number_format($a)“;

gibt „1,224“ aus, rundet somit auf ganze Zahlen mit „,“ als Tausendertrennzeichen

echo „number_format($d,2)“;

gibt 1,223.67 aus, rundet auf die gewünschte Anzahl an Nachkommastellen (hier 2)

echo „number_format($d,2,“,“,“.“)“;

gibt 1.223,67 aus, wie im vorherigen Beispiel nur mit „,“ und „.“ als Trennzeichen im europäischen Format

PHP Funktionen

Eine php Funktion sieht so aus:

function addBtoA($A, $B)
{

$A += $B;

return ($A);

}

$A und $B sind Parameter, $A wird über die return Anweisung auch wieder zurück gegeben.

Als Parameter und Rückgabewerte sind Zeichenketten, Zahlen und Felder möglich, beides ist aber optional.

mit

function addBtoA(&$A, &$B)
{

$A += $B;

}

Mit dem &-Zeichen vor dem Parameter wird definiert, dass der Parameter als Referenz (statt als Kopie) auf die Variable übergeben wird. $A wird also real verändert, die Notwendigkeit des return entfällt.

Die Übergabe als Referenz ist wichtig wenn in der Funktion mehr als eine Variable Verändert werden soll, da über return nur eine Variable zurück gegeben werden kann.

mit

function addBtoA($A, $B=3)
{

$A += $B;

return ($A);

}

wird dem Parameter $B ein Standardwert übergeben. Die Funktion kann jetzt ohne $B aufgerufen werden:

$z = addBtoA($wert);

in diesem Fall wird zur Variable $wert, statt eines zweiten Parameter der Standardwert 3 addiert.

 

 

PHP Datenfelder

Werte können wie folgt an Datenfelder übergeben werden:

$werte = array(12.3, 17.9, 22, 11.4);

$werte = [12.3, 17.9, 22, 11.4];

Folgende Anweisung überschreibt dann den Wert 22 mit 24:

$werte[2] = 24;

im Zusammenhang mit Feldern gibt es die spezielle Schleifenstruktur foreach():

foreach ($werte as $wert)
{
echo „Wert: “ . $wert . „<br />“;
}

Obige Schliefe gibt alle Elemente des Felds $werte Zeilenweise aus.

PHP break und continue

Mit break; werden Schleifen sofort beendet, das Programm wird mit der nächsten Zeile nach der Schleife fortgesetzt.

continue; bricht dagegen nur den jeweiligen Schleifendurchlauf sofort ab. Nach der continue; Anweisung wird die Schleife mit dem nächsten Durchlauf fortgesetzt.

PHP while und do while Schleifen

 

while Schleife

<?php

$summe = 0;
while ($summe <= 1000)

{  // es werden solange zahlen zwischen 1 und 100 addiert bis 1000 erreicht ist

$z = rand(1,100);

$summe += $z;

echo „Die Summe beträgt aktuell:“ . $summe . „<br />“;

}
echo „Mit: “ . $summe . „wurden die 1000 überschritten! <br />“;

?>

do … while Schleife

<?php

$summe = 0;

do

{  // es werden solange zahlen zwischen 1 und 100 addiert bis 1000 erreicht ist

$z = rand(1,100);

$summe += $z;

echo „Die Summe beträgt aktuell:“ . $summe . „<br />“;

}

while ($summe <= 1000)
echo „Mit: “ . $summe . „wurden die 1000 überschritten! <br />“;

?>

PHP Daten mit $_POST an Server übertragen

Eine Möglichkeit die Eingaben des Benutzers an den Server zu übertragen ist über $_POST. Dabei können die Daten über eine HTML Formular vom User Eingegeben und dann an den Server übertragen werden.  Ein kleinen Beispiel:

Im Body der HTML Datei befindest sich das Formular:

<body>

<form action = eingabe.php“ method=“post“>

<p> Bitte geben sie ihren Vornahmen ein: </p>
<p> <input name=“vorname“/> Vorname </p>
<p>

<input type=“submit“ />
<input type=“reset“ />

</p>

</form>

</body>

In diesem kleinen Beispiel gibt es nur ein Eingabefeld mit dem Name „vorname“. Der Browser erstellt für den User ein leeres Textfeld in dem ein seinen Vornamen angeben kann. Danach werden zwei Button erstellt, anhand des type erkennt der Browser, dass er bei drücken des „reset“ Button alle User eingaben wieder lösen soll. Wird der „Submit“ Button gedrückt, werden die Daten an mittel der $_Post Funktion an den Server gesendet. Im <form> wird angegeben welche Methode dabei verwendet wird (hier „post“) und in welcher .php Datei die Daten vom Server empfangen werden (hier: eingabe .php). 

Die zugehörige .php Datei könnte z.B. so aussehen:

<html>

<body>

<?php

echo „Hallo “ . $_POST[„vorname“] ;

?>

</Body>

</html>

Diese Datei würd über die Formularangaben von er ersten Datei aufgerufen, dabei werden die Benutzerdaten (hier nur das Input „Vorname“) übergeben. Über die vordefinierte PHP Variable $_POST kann auf den Inhalt des Felds „Vorname“ zugegriffen werden.

Die Anweisung „echo“ gibt vom Server aus die Benutzereingabe mit einem „Hallo “ davor wieder aus.

Gibt er Benutzer also z.B. „Franz“ in das Textfeld der ersten Datei ein. Wird „Franz“ an den Server übertragen und dieser gibt dann über die echo Anweisung „Hallo Franz“ wieder aus.