Hey,
ich habe ein Formular zu welchem ich einen normale Fehlerbehandlung erstellen will. Nun wird aber kein error ausgegeben, weiß nicht warum.
Mein script:
Autoverleih.php
PHP
class Autoverleih{
const KOSTEN = 50;
//Kosten in Konstante verwalten
private $vorname;
private $nachname;
private $telefonnummer;
private $wohnort;
private $straße;
private $hausnummer;
public $auto;
private $gemietetVon;
private $gemietetBis;
private $leiher = array(); //Name, Auto und gemietet von .. bis ... kommt hier rein
public $error = array(); // hier kommen die fehlermeldungen rein
public function setVorname(string $vName){
if (empty($vName)){
$this->error[] = "<p class='fehlermeldung'>Bitte geben sie ihren Vornamen an!";
return;
} else if(!is_string($vName)){
$this->error[] = "<p class='fehlermeldung'>Bitte geben sie Buchstaben an!";
return;
}
$this->vorname = $vName;
}
public function getVorname(){
return $this->vorname;
}
Alles anzeigen
index.php :
PHP
<?php
//OOP-Script wird mit include verlinkt
include("autoverleih.php");
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Autoverleih Toogle</title>
<style>
input[type="text"]{
display: block;
width: 15%;
}
input[type="submit"]{
margin-top: 1%;
width: 15%;
padding: 1.2%;
}
section#formularAutoverleih{
width: 50%;
}
</style>
</head>
<body>
<article>
<h1>Autoverleih Toogle</h1>
<p>Hier können sie Autos leihen....</p>
</article>
<section id="formularAutoverleih">
<fieldset>
<legend>Autoverleih</legend>
<form method="post">
<label>Vorname:<input type="text" name="vorname"></label>
<label>Nachname:<input type="text" name="nachname"></label>
<label>Telefonnummer:<input type="text" name="telefonnummer"></label>
<label>Wohnort:<input type="text" name="wohnort"></label>
<label>Straße:<input type="text" name="strasse"></label>
<label>Hausnummer:<input type="text" name="hausnummer"></label>
<label>Auto:<input type="text" name="auto"></label>
<label>Gemietet von:<input type="text" name="gemietetVon"></label>
<label>Gemietet bis:<input type="text" name="gemietetBis"></label>
<input type="submit" name="formularAutoverleihAbgesendet" value="Auto leihen!">
</form>
<?php
if(isset($_POST['formularAutoverleihAbgesendet'])){
//neue Instanz zu autoverleih erstellen
$auto1 = new Autoverleih();
if(count($auto1->error) > 0){
echo implode('', $auto1->error);
}else{
$auto1->setVorname($_POST['vorname']);
echo $auto1->getVorname();
}
}
?>
</fieldset>
</section>
</body>
</html>
Alles anzeigen
Warum werden keine Fehler ausgegeben ?
Findet ihr das setzten von private zu diesen eigenschaften richtig ?
Und das Überprüfen ob es empty ist oder kein string ist greifen nicht.
Der Name wird aber ausgegeben wenn man da was einträgt.
Gruß,
Stef