Community Patterns

1

gamgamtest_matei_überwiegend_version2

Created·2025-11-21 07:37
Flavor·PCRE2 (PHP)
Tier Verwalter setName($name); $this->setAlter($alter); $this->setGewicht($gewicht); $this->setGeburtsdatum($geburtsdatum); $this->setArt($art); $this->id = uniqid(); } // Getter und Setter für name public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } // Getter und Setter für alter public function setAlter($alter) { $this->alter = $alter; } public function getAlter() { return $this->alter; } // Getter und Setter für gewicht public function setGewicht($gewicht) { $this->gewicht = $gewicht; } public function getGewicht() { return $this->gewicht; } // Getter und Setter für geburtsdatum public function setGeburtsdatum($geburtsdatum) { $this->geburtsdatum = $geburtsdatum; } public function getGeburtsdatum() { return $this->geburtsdatum; } // Getter und Setter für art public function setArt($art) { $this->art = $art; } public function getArt() { return $this->art; } public function getId() { return $this->id; } } if (isset($_POST'speichern'])) { $neuesTier = new Tier( $_POST['name'], $_POST['alter'], $_POST['gewicht'], $_POST['geburtsdatum'], $_POST['art'] ); if (!isset($_SESSION['tiere'])) { $_SESSION['tiere'] = array(); } $_SESSION['tiere'] = $neuesTier; } if (isset($_POST['loeschen'])) { if (isset($_SESSION['tiere'])) { unset($_SESSION['tiere']); $_SESSION['tiere'] = array(); } } ?> Neues Tier hinzufügen Name: Alter: Gewicht (kg): Geburtsdatum: Art: Speichern Alle löschen Gespeicherte Tiere: 0) { foreach ($_SESSION['tiere'] as $tier) { echo "Tier: " . htmlspecialchars($tier->getName()) . ""; } } else { echo "Keine Tiere gespeichert."; } ?>
Submitted by anonymous
1

gamgamtestplf grundlegend

Created·2025-11-21 07:37
Flavor·PCRE2 (PHP)
setName($name); $this->setPrice($price); $this->setCategory($category); } // Getter und Setter public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = trim($name); } public function getPrice(): float { return $this->price; } public function setPrice(float $price): void { // einfache Validierung, minimum 0 if ($price price = $price; } public function getCategory(): string { return $this->category; } public function setCategory(string $category): void { $this->category = trim($category); } } // ---------- FORMULAR-AKTIONEN ---------- if ($_SERVER'REQUEST_METHOD'] === 'POST') { // Aktion unterscheiden: speichern oder alles löschen $action = $_POST['action'] ?? 'save'; if ($action === 'clear') { // Alle löschen $_SESSION['products'] = []; } else { // Speichern $name = $_POST['name'] ?? ''; $priceRaw = $_POST['price'] ?? '0'; $category = $_POST['category'] ?? ''; // number-Input kommt als String, in float wandeln $price = (float) str_replace(',', '.', $priceRaw); // Neues Objekt der Basisklasse erzeugen $product = new Product($name, $price, $category); // In Session-Array speichern, Key = uniqid() $id = uniqid('p_', true); $_SESSION['products' = $product; } // Optional: Redirect, um Formular-Resubmits zu vermeiden header('Location: ' . $_SERVER['PHP_SELF']); exit; } ?> Product Webapp body { font-family: Arial, sans-serif; margin: 20px; } form { margin-bottom: 20px; } label { display: block; margin-top: 10px; } input, select { padding: 5px; width: 250px; max-width: 100%; } button { margin-top: 15px; padding: 6px 12px; cursor: pointer; } table { border-collapse: collapse; margin-top: 20px; width: 100%; max-width: 600px; } th, td { border: 1px solid #ccc; padding: 8px; } th { background: #eee; } Produktverwaltung (Session-Demo) Produktname (type="text") Preis in € (type="number") Kategorie Elektronik Haushalt Bücher Sonstiges Speichern Alle löschen Gespeicherte Produkte (nur ein Feld wird ausgegeben) Produktname (eine Membervariable) $product): ?> getName(), ENT_QUOTES, 'UTF-8'); ?> Aktuell sind keine Produkte in der Session gespeichert.
Submitted by anonymous

Community Library Entry

0

Regular Expression
Created·2023-07-13 14:44
Flavor·ECMAScript (JavaScript)

/
(\w+)(\s)(\w+)\2(\w+)
/
igm
Open regex in editor

Description

(\w+)(\s)(\w+)\2(\w+)

in this exercise we have to use capture groups and then replace the string order to 'three two one'. But first, when you are using the capture group you may have asked yourself why the code below does not work:

(\w+)(\s)\1\2\1

to match the sting "one two three" this is because when you do a matching group he turns himself into a variable that capture the last value from regex and try to match again the same value not the regex itself. In the assertion above, were not simple doing : one two three (\w+)(\s)\1\2\1 = (\w+)(\s)(\w+)(\s)(\w+) word space word space word

but we're doing: one two three (\w+)(\s)\1\2\1 one space one space one

because the \1 aways will return the value 'one' and try to match it. So to resolve this, you have to have a capture group for EACH different word.

Submitted by gabriel silva lima