Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

Checkboxen auswerten mit Php

Sie befinden sich: Home > Php Tutorial > Checkboxen auswerten mit Ph...

Checkboxen auswerten mit Php


Eintrag am:  24.09.2009
Hits / Besucher:  61782
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

Wenn man in einem Formular bei der Eingabe mehrere Daten erfragen möchte, kommt es relativ häufig der Formulartyp „Checkbox“ zum Einsatz. In diesem Tutorial versuche ich ihnen zu erklären, wie sie mit einem PHP Script das Formularfeld „checkbox“ auswerten können.

Ein Fallbeispiel, wo dies zur Anwendung kommen könnte. Nehmen wir mal an, Sie haben ein Formular, wo sie einen Besucher erfragen möchten, welche Programmiersprachen er bereits kann. Da die meisten Programmierer, nicht nur eine Programmiersprache beherrschen, sondern meist mehrere angeben können, wäre es fatal nur eine einzelne Programmiersprache abzufragen.

Daher möchte Sie den User darum bitten, seine gesamten Kenntnisse mitzuteilen. Sie hätten zwar die Möglichkeit bei dem Formulartyp „checkbox“ für jedes einzelne Checkboxfeld einen Namen zu hinterlegen, bloß kann dies relativ aufwendig sein bei vielen Programmiersprachen. Daher hat man die Möglichkeit, die Übergabe in ein sogenanntes Array zu speichern und dementsprechend nach dem Absenden, des Formulars auszuwerten.

Um die Übergabe in ein Array zu speichern, müssen sie beim Namen dem Formularfeld hinter den Namen „[]“ angeben. Somit wird automatisch ein Array bei der Übergabe des Formulars generiert. Das Array kann zum Beispiel über eine for() oder foreach() Schleife weiter verarbeitet werden. Nachfolgend finden sie ein Code Beispiel, womit man das Fallbeispiel umsetzen könnte.

<?php

/*
* Created on 24.09.2009 by Nico Schubert
*/

/**
* Prüfen ob die Variablen im Script
* bekannt ist, ansonsten machen
* wir diese im Script bekannt.
*/
if (!isset($_POST['senden'])) $_POST['senden'] = '';
$ausgabe = '';
/**
* Prüfen ob $_POST['senden'] = 1
* ist, dann können wir unser Script
* starten.
*/
if ($_POST['senden'] == 1) {

/**
* Prüfen ob $_POST['programmiersprachen']
* ein Array ist
*/
if (is_array($_POST['programmiersprachen']) == true) {
/**
* Wenn $_POST['programmiersprachen'] ein
* Array ist, können wir mit foreach()
* eine Schleife ausführen und unsere
* Angaben in $ausgabe speichern.
*/
$i = 0;
foreach ($_POST['programmiersprachen'] as $key => $value) {
if ($i == 0) $ausgabe .= $value;
else $ausgabe .= ', '.$value;
$i++;
}
/**
* Prüfen ob $ausgabe ein Wert hat
*/
if ($ausgabe != '') {
/**
* Wenn die Variable
* $ausgabe ein Wert
* hat, geben wir dies
* aus.
*/
echo '<p>Es wurden die Programmiersprachen angegeben:</p>';
echo '<p>'.$ausgabe.'</p>';
echo '<p><a href="'.htmlspecialchars($_SERVER["PHP_SELF"]) .'">Noch mal versuchen</a></p>';
}
} else {
/**
* Wenn $_POST['programmiersprachen']
* kein Array ist, so geben wir eine
* Fehlermeldung aus.
*/
echo '<p>Es wurde keine Programmiersprache angegeben!</p>';
echo '<p><a href="'.htmlspecialchars($_SERVER["PHP_SELF"]) .'">Noch mal versuchen</a></p>';
}

} else {
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<input type="hidden" name="senden" value="1"/>
<p>Welche Programmiersprachen können Sie?</p>
<p>
<input name="programmiersprachen[]" type="checkbox" value="Php" /> Php
<input name="programmiersprachen[]" type="checkbox" value="Mysql" /> Mysql
<input name="programmiersprachen[]" type="checkbox" value="Java" /> Java
<input name="programmiersprachen[]" type="checkbox" value="Java Script" /> Java Script
</p>
<p><input type="submit" value="Senden" name="submit" /></p>
</form>
<?php } ?>

Beispiel wie das Formular aussehen würde:

Checkbox Formular 

Wenn Sie bei Php und Mysql ein Haken setzen würden und danach das Formular absenden, wird Ihnen dies angezeigt:

Checkbox Formular ausgabe 

Erklärung:

Dieser PHP-Code beinhaltet eine Formularabfrage, die es dem Nutzer ermöglicht, aus einer Liste an Programmiersprachen auszuwählen. Zunächst werden die Variablen, die in dem Script verwendet werden, überprüft. Im Anschluss wird geprüft, ob der Wert des Variablen $_POST['senden'] auf 1 gesetzt ist.

Falls dies der Fall ist, wird geprüft, ob $_POST['programmiersprachen'] ein Array ist. Ist dies der Fall, kann eine Schleife ausgeführt werden, in der die vom Nutzer ausgewählten Programmiersprachen in einer Variable gespeichert werden. Anschließend wird geprüft, ob die Variable $ausgabe einen Wert beinhaltet und, falls dies der Fall ist, wird der Inhalt der Variable ausgegeben. Wenn $_POST['programmiersprachen'] kein Array ist, wird eine Fehlermeldung ausgegeben. Falls $_POST['senden'] nicht auf 1 gesetzt ist, wird dem Nutzer das Formular angezeigt, in dem er die Programmiersprachen auswählen kann.

Hier eine kleine Erklärung der Fachbegriffe, die in diesen Tutorial genannt wurden:

Array – Hier wird ihnen erklärt, was ein Array ist.
foreach() Schleife – Es wird in diesem Tutorial auf die Verwendung einer foreach() Schleife eingegangen.
for() Schleife – Erklärung, wie man sinnvoll eine for() Schleife verwenden kann.

if-Anweisung – Die if-Anweisung überprüft, ob eine Bedingung erfüllt ist. Falls dies der Fall ist, werden die Anweisungen in der Befehlsgruppe ausgeführt. 

isset() – Mit der Funktion isset() wird überprüft, ob eine Variable definiert und einen Wert zugewiesen wurde.

is_array() – Die Funktion is_array() überprüft, ob eine Variable ein Array ist.

 

Tags:

 

Artikel hinzufügen bei:
         
Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.